
int balance(BtCursor *pCur)

{
  byte bVar1;
  ushort uVar2;
  i64 iVar3;
  undefined *puVar4;
  undefined *puVar5;
  code *pcVar6;
  MemPage *pMVar7;
  u8 uVar12;
  char cVar13;
  char *pcVar8;
  undefined4 uVar9;
  int iVar10;
  int iVar11;
  uchar *pBuf;
  u8 **extraout_v1;
  u8 **extraout_v1_00;
  BtShared *pBVar14;
  DbPage *pDVar15;
  MemPage *pMVar16;
  sqlite3 *psVar17;
  sqlite3_mutex *psVar18;
  BtCursor *pCur_00;
  uint uVar19;
  MemPage *in_a1;
  u8 **in_a2;
  BtShared *pBVar20;
  BtShared *in_a3;
  u8 *puVar21;
  u8 *puVar22;
  MemPage *unaff_s0;
  BtShared *pBVar23;
  u8 *puVar24;
  BtShared *pBVar25;
  int iVar26;
  u8 **ppuVar27;
  code *pcVar28;
  int *piVar29;
  int *piVar30;
  BtShared *pBVar31;
  int *piVar32;
  u8 **ppuVar33;
  undefined1 *puVar34;
  undefined1 *puVar35;
  u8 *puVar36;
  MemPage *pFrom;
  int iVar37;
  undefined *puVar38;
  Pgno PVar39;
  int iVar40;
  int iVar41;
  undefined1 *puVar42;
  BtShared *pBStack_1d8;
  int iStack_1bc;
  int iStack_1b8;
  BtCursor *pBStack_1b4;
  u8 *puStack_1b0;
  int iStack_1ac;
  int *piStack_1a8;
  BtShared *pBStack_1a4;
  u8 **ppuStack_1a0;
  BtShared *pBStack_19c;
  u8 *puStack_198;
  MemPage *pMStack_194;
  Pgno PStack_190;
  code *pcStack_18c;
  code *pcStack_178;
  undefined1 auStack_170 [20];
  int *piStack_15c;
  BtShared *pBStack_158;
  u8 **ppuStack_154;
  BtShared *pBStack_150;
  code *pcStack_14c;
  sqlite3_mutex *psStack_138;
  undefined *puStack_130;
  Btree *pBStack_124;
  undefined1 auStack_120 [8];
  undefined1 auStack_118 [32];
  MemPage *pMStack_f8;
  BtShared *pBStack_f4;
  code *pcStack_f0;
  BtShared *pBStack_ec;
  u8 **ppuStack_e8;
  BtShared *pBStack_e4;
  u8 *puStack_e0;
  MemPage *pMStack_dc;
  BtCursor *pBStack_d8;
  _func_u16_MemPage_ptr_u8_ptr *p_Stack_d4;
  u8 **ppuStack_c8;
  u16 szCell;
  MemPage *pNew;
  int rc;
  Pgno pgnoNew;
  u8 *pCell;
  CellArray b;
  u8 aBalanceQuickSpace [13];
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  puVar38 = PTR_LAB_00190ba8;
  ppuVar33 = (u8 **)0x0;
  pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24;
  pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260);
  pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8);
  puVar36 = (u8 *)(int)pCur->iPage;
  pFrom = pCur->pPage;
  pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec);
  pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3);
  do {
    uVar12 = pFrom->nOverflow;
    pMVar16 = in_a1;
    if (puVar36 == (u8 *)0x0) {
      pBVar23 = (BtShared *)0x0;
      if (uVar12 == '\0') break;
      pgnoNew = 0;
      pCell = (u8 *)0x0;
      pBVar23 = pFrom->pBt;
      rc = sqlite3PagerWrite(pFrom->pDbPage);
      if (rc == 0) {
        in_a2 = &pCell;
        in_a3 = (BtShared *)pFrom->pgno;
        in_a1 = (MemPage *)&pgnoNew;
        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');
        if (rc != 0) {
          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;
          goto LAB_000cd060;
        }
        in_a2 = (u8 **)&rc;
        in_a1 = (MemPage *)pgnoNew;
        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);
        if (pBVar23->autoVacuum != '\0') {
LAB_000cd368:
          in_a2 = (u8 **)&DAT_00000005;
          in_a3 = (BtShared *)pFrom->pgno;
          in_a1 = (MemPage *)pCell;
          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);
        }
        unaff_s0 = (MemPage *)pgnoNew;
        if (rc != 0) goto LAB_000cd060;
        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);
        (*(code *)PTR_memcpy_00190e2c)
                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);
        puVar4 = PTR_LAB_00190bdc;
        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;
        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);
        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;
        in_a3 = (BtShared *)((uint)pCell >> 0x18);
        in_a2 = (u8 **)((uint)pCell >> 0x10);
        in_a1 = (MemPage *)((uint)pCell >> 8);
        *puVar36 = (u8)((uint)pCell >> 0x18);
        puVar36[1] = (u8)((uint)pCell >> 0x10);
        puVar36[2] = (u8)((uint)pCell >> 8);
        puVar36[3] = (u8)pCell;
        pCur->apPage[1] = (MemPage *)pgnoNew;
        pMVar7 = (MemPage *)pgnoNew;
      }
      else {
LAB_000cd060:
        unaff_s0 = (MemPage *)pgnoNew;
        pCur->apPage[1] = (MemPage *)0x0;
        pBVar23 = (BtShared *)rc;
        if ((pgnoNew == 0) ||
           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;
        pMVar7 = pCur->apPage[1];
      }
      pCur->apPage[0] = pFrom;
      puVar36 = (u8 *)0x1;
      pCur->ix = 0;
      pCur->iPage = '\x01';
      pCur->aiIdx[0] = 0;
      pCur->pPage = pMVar7;
      uVar12 = pMVar7->nOverflow;
      pMVar16 = in_a1;
      pFrom = pMVar7;
    }
    if ((uVar12 == '\0') &&
       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))
    break;
    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);
    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];
    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);
    if (pBVar23 != (BtShared *)0x0) {
      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);
      pFrom->nOverflow = '\0';
      (*pcVar6)(pFrom->pDbPage);
      cVar13 = pCur->iPage + -1;
      pCur->iPage = cVar13;
      pCur->pPage = pCur->apPage[cVar13];
      in_a1 = pMVar16;
      break;
    }
    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||
        (pFrom->aiOvfl[0] != pFrom->nCell)) ||
       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {
      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);
      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);
      in_a2 = ppuVar27;
      pBVar23 = (BtShared *)
                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);
      if (ppuVar33 != (u8 **)0x0) {
        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);
      }
LAB_000cd308:
      pDVar15 = pFrom->pDbPage;
      ppuVar33 = ppuVar27;
    }
    else {
      if (pFrom->aiOvfl[0] != 0) {
        in_a3 = (BtShared *)0x0;
        pBVar20 = pFrom->pBt;
        in_a2 = (u8 **)&pgnoNew;
        in_a1 = (MemPage *)&pNew;
        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');
        ppuVar27 = ppuVar33;
        pBVar23 = (BtShared *)rc;
        if ((BtShared *)rc == (BtShared *)0x0) {
          pCell = pFrom->apOvfl[0];
          szCell = (*pFrom->xCellSize)(pFrom,pCell);
          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);
          in_a2 = (u8 **)0x1;
          in_a1 = (MemPage *)0x0;
          b.apEnd[0] = pFrom->aDataEnd;
          b.apCell = &pCell;
          b.szCell = &szCell;
          b.ixNx[0] = 2;
          in_a3 = (BtShared *)pNew;
          b.nCell = (uint)bVar1;
          b.pRef = pFrom;
          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);
          rc = (int)pBVar23;
          if (pBVar23 == (BtShared *)0x0) {
            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;
            if (pBVar20->autoVacuum != '\0') {
              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);
              if (pNew->minLocal < szCell) {
                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);
              }
            }
            puVar36 = pFrom->aData +
                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);
            do {
              puVar24 = puVar36;
              puVar36 = puVar24 + 1;
              if (-1 < (char)*puVar24) break;
            } while (pFrom->aData +
                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9
                     != puVar36);
            puVar21 = aBalanceQuickSpace + 4;
            do {
              pCell = puVar36 + 1;
              puVar22 = puVar21 + 1;
              uVar12 = *puVar36;
              *puVar21 = uVar12;
              if (-1 < (char)uVar12) break;
              puVar36 = pCell;
              puVar21 = puVar22;
            } while (pCell < puVar24 + 10);
            if (rc == 0) {
              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,
                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);
              bVar1 = unaff_s0->hdrOffset;
            }
            else {
              bVar1 = unaff_s0->hdrOffset;
            }
            puVar36 = unaff_s0->aData + bVar1 + 8;
            in_a3 = (BtShared *)(pgnoNew >> 0x18);
            in_a2 = (u8 **)(pgnoNew >> 0x10);
            in_a1 = (MemPage *)(pgnoNew >> 8);
            *puVar36 = (u8)(pgnoNew >> 0x18);
            puVar36[1] = (u8)(pgnoNew >> 0x10);
            puVar36[2] = (u8)(pgnoNew >> 8);
            puVar36[3] = (u8)pgnoNew;
            pBVar23 = (BtShared *)rc;
            if (pNew == (MemPage *)0x0) goto LAB_000cd308;
          }
          else if (pNew == (MemPage *)0x0) {
            pDVar15 = pFrom->pDbPage;
            goto LAB_000cd310;
          }
          (*pcVar28)(pNew->pDbPage);
          pBVar23 = (BtShared *)rc;
        }
        goto LAB_000cd308;
      }
      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);
      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      pBVar23 = (BtShared *)&DAT_0000000b;
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      pDVar15 = pFrom->pDbPage;
    }
LAB_000cd310:
    pFrom->nOverflow = '\0';
    (*pcVar28)(pDVar15);
    cVar13 = pCur->iPage + -1;
    puVar36 = (u8 *)(int)cVar13;
    pCur->iPage = cVar13;
    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);
    pCur->pPage = pFrom;
  } while (pBVar23 == (BtShared *)0x0);
  if (ppuVar33 != (u8 **)0x0) {
    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);
  }
  if (pBVar14 == *(BtShared **)puVar5) {
    return (int)pBVar23;
  }
  pcVar6 = clearDatabasePage;
  puVar38 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_130 = puVar38 + 0xcb290;
  piVar29 = *(int **)(puVar38 + 0xc3794);
  auStack_118._28_4_ = *piVar29;
  pMStack_f8 = unaff_s0;
  pBStack_f4 = pBVar25;
  pcStack_f0 = pcVar28;
  pBStack_ec = pBVar31;
  ppuStack_e8 = ppuVar33;
  pBStack_e4 = pBVar23;
  puStack_e0 = puVar36;
  pMStack_dc = pFrom;
  pBStack_d8 = pCur;
  p_Stack_d4 = pcVar6;
  ppuStack_c8 = in_a2;
  if ((MemPage *)pBVar14->nPage < in_a1) {
    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);
    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);
    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);
    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);
    (**(code **)(puVar38 + 0xc3550))(0xb);
    pBVar14 = pBVar25;
    in_a3 = pBVar31;
    PVar39 = 0xb;
  }
  else {
    pBVar20 = (BtShared *)auStack_120;
    psStack_138 = (sqlite3_mutex *)0x0;
    pBStack_1d8 = (BtShared *)0x0;
    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();
    PVar39 = auStack_120._4_4_;
    if (auStack_120._4_4_ == 0) {
      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {
        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';
        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);
        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {
          uVar19 = 0;
        }
        else {
          ppuVar33 = (u8 **)0x0;
          pBVar23 = (BtShared *)(auStack_120 + 8);
          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);
          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);
          iVar26 = 0;
          do {
            auStack_120._4_4_ = 0;
            pFrom = (MemPage *)
                    (*(u8 **)(auStack_120._0_4_ + 0x38) +
                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &
                    *(u16 *)(auStack_120._0_4_ + 0x18)));
            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {
              pBVar20 = (BtShared *)0x1;
              uVar19 = (uint)&pFrom->intKeyLeaf & 3;
              in_a1 = (MemPage *)
                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &
                       -1 << (uVar19 + 1) * 8 |
                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);
              pBStack_1d8 = in_a3;
              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);
              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;
            }
            in_a1 = pFrom;
            pBVar20 = pBVar23;
            auStack_120._4_4_ =
                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);
            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;
            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);
            iVar26 = iVar26 + 1;
            ppuVar33 = (u8 **)((int)ppuVar33 + 2);
          } while (iVar26 < (int)uVar19);
        }
        pBVar20 = (BtShared *)0x1;
        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {
          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);
          pBStack_1d8 = in_a3;
          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);
          if (auStack_120._4_4_ == 0) {
            PVar39 = 0;
            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;
            goto LAB_000cd96c;
          }
        }
        else {
          if (in_a3 != (BtShared *)0x0) {
            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));
          }
          PVar39 = auStack_120._4_4_;
          if (ppuStack_c8 == (u8 **)0x0) {
LAB_000cd96c:
            auStack_120._4_4_ = PVar39;
            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));
            if (auStack_120._4_4_ == 0) {
              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);
              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);
              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);
            }
          }
          else if (auStack_120._4_4_ == 0) {
LAB_000cd958:
            in_a1 = (MemPage *)(auStack_120 + 4);
            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);
          }
        }
      }
      else {
        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);
        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);
        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);
        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);
        (**(code **)(puStack_130 + -0x7d40))(0xb);
        auStack_120._4_4_ = 0xb;
      }
LAB_000cd7ec:
      *(u8 *)(auStack_120._0_4_ + 1) = '\0';
      PVar39 = auStack_120._4_4_;
      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {
        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))
        ;
        PVar39 = auStack_120._4_4_;
      }
    }
  }
  if ((u8 *)auStack_118._28_4_ == (u8 *)*piVar29) {
    return PVar39;
  }
  pcVar6 = *(code **)(puStack_130 + -0x7b28);
  pcVar28 = dbpageUpdate;
  puVar24 = (u8 *)auStack_118._28_4_;
  (*pcVar6)();
  pcStack_178 = pcVar6 + 0xcaf50;
  piVar30 = *(int **)(pcVar6 + 0xc3454);
  auStack_170._0_4_ = (Pager *)0x0;
  auStack_170._4_4_ = *piVar30;
  pBVar25 = pBVar20;
  auStack_170._12_4_ = unaff_s0;
  auStack_170._16_4_ = pBVar14;
  piStack_15c = piVar29;
  pBStack_158 = in_a3;
  ppuStack_154 = ppuVar33;
  pBStack_150 = pBVar23;
  pcStack_14c = pcVar28;
  if (*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0) {
    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);
LAB_000cda68:
    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));
    iVar26 = 1;
    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));
    *(char **)(puVar24 + 8) = pcVar8;
    pBVar20 = in_a3;
  }
  else {
    if (in_a1 == (MemPage *)0x1) {
      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);
      goto LAB_000cda68;
    }
    iVar26 = *(int *)(pcVar6 + 0xc31d8);
    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);
    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);
    in_a3 = pBVar20;
    ppuVar33 = extraout_v1;
    if (extraout_v1 != extraout_v1_00) {
      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);
      goto LAB_000cda68;
    }
    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))
                       (*(undefined4 *)&pBVar20->openFlags,1);
    if (iVar26 == 0) {
LAB_000cdb7c:
      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);
      goto LAB_000cda68;
    }
    iVar37 = *(int *)(puVar24 + 0xc);
    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);
    if (iVar26 < 0) goto LAB_000cdb7c;
    if (((extraout_v1 == (u8 **)0x0) ||
        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||
       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {
      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);
      goto LAB_000cda68;
    }
    pMVar16 = pBVar20->pPage1;
    uVar2._0_1_ = pMVar16->leaf;
    uVar2._1_1_ = pMVar16->hdrOffset;
    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {
LAB_000cdb70:
      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);
      goto LAB_000cda68;
    }
    pBVar23 = (BtShared *)pBVar25->pageSize;
    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);
    if (pBVar23 != pBVar14) goto LAB_000cdb70;
    pBStack_1d8 = (BtShared *)0x0;
    pBVar25 = (BtShared *)auStack_170;
    ppuVar27 = extraout_v1;
    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));
    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {
      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);
      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);
      pBVar25 = pBVar23;
      (**(code **)(pcStack_178 + -0x7af4))(puVar24);
    }
    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {
      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();
    }
  }
  if ((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30) {
    return iVar26;
  }
  pcVar6 = *(code **)(pcStack_178 + -0x7b28);
  pcVar28 = accessPayload;
  psVar17 = (sqlite3 *)auStack_170._4_4_;
  (*pcVar6)();
  piVar29 = *(int **)(pcVar6 + 0xc31d0);
  pBStack_1b4 = (BtCursor *)*piVar29;
  iVar37 = psVar17->aLimit[2];
  piVar32 = (int *)psVar17->nDb;
  puStack_1b0 = puVar24;
  iStack_1ac = iVar26;
  piStack_1a8 = piVar30;
  pBStack_1a4 = pBVar20;
  ppuStack_1a0 = ppuVar33;
  pBStack_19c = pBVar23;
  puStack_198 = puVar36;
  pMStack_194 = pFrom;
  PStack_190 = PVar39;
  pcStack_18c = pcVar28;
  (*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))();
  iVar26 = *(int *)&psVar17->lastRowid;
  ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap;
  if ((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))) {
    uVar9 = 0x108be;
  }
  else {
    if (ppuVar27 < ppuVar33) {
      pBVar14 = pBVar25;
      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {
        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);
      }
      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);
      if (pcStack_178 == (code *)0x0) {
        pcVar28 = *(code **)(pcVar6 + 0xc31d8);
        pBVar23 = pBStack_1d8;
      }
      else {
        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));
        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;
        pcVar28 = *(code **)(pcVar6 + 0xc31d8);
        pBVar23 = pBVar31;
        pBVar31 = pBStack_1d8;
      }
      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);
      (*pcVar28)(pBVar23,pBVar31,pBVar14);
      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);
      puVar34 = (undefined1 *)0x0;
    }
    else {
      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);
    }
    if (pBVar25 == (BtShared *)0x0) {
      pcVar28 = (code *)0x0;
      goto LAB_000cdd30;
    }
    uVar2 = *(ushort *)&psVar17->szMmap;
    psVar18 = psVar17->mutex;
    puVar35 = (undefined1 *)(piVar32[9] + -4);
    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);
    if (((uint)psVar17->pVfs & 0x40000) == 0) {
      iVar3 = psVar17->lastRowid;
      if (puVar35 == (undefined1 *)0x0) {
        trap(7);
      }
      if (psVar18 == (sqlite3_mutex *)0x0) {
LAB_000cdf84:
        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);
        if (psVar18 == (sqlite3_mutex *)0x0) {
          pcVar28 = (code *)&DAT_00000007;
          goto LAB_000cdd30;
        }
        psVar17->mutex = psVar18;
      }
      else {
        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();
        psVar18 = psVar17->mutex;
        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)
           ) goto LAB_000cdf84;
      }
      (**(code **)(pcVar6 + 0xc3104))
                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)
      ;
      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;
    }
    else {
      if (puVar35 == (undefined1 *)0x0) {
        trap(7);
      }
      uVar19 = (uint)puVar34 / (uint)puVar35;
      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);
      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);
      if (iVar26 != 0) goto LAB_000cddd4;
    }
    uVar19 = 0;
    if (iStack_1bc != 0) {
      psVar18 = psVar17->mutex;
      puVar42 = puVar34;
      iVar26 = iStack_1bc;
LAB_000cddd4:
      iStack_1bc = iVar26;
      uVar9 = 2;
      iVar26 = *(int *)(pcVar6 + 0xc2eec);
      iVar40 = uVar19 + 1;
      iVar37 = *(int *)(pcVar6 + 0xc2f78);
      if (pcStack_178 != (code *)0x0) {
        uVar9 = 0;
      }
      iVar41 = uVar19 * 4;
      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;
      iVar10 = *(int *)(pcVar6 + 0xc2f88);
      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);
      pBVar14 = pBVar25;
      if (puVar42 < puVar35) goto LAB_000cde58;
      do {
        psVar18 = psVar17->mutex;
        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);
        puVar42 = puVar42 + -(int)puVar35;
        iVar41 = iVar40;
        if (iVar11 == 0) {
          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);
          goto LAB_000cdea8;
        }
        while( true ) {
          iStack_1bc = iVar11;
          iVar40 = iVar41 + 1;
          iVar41 = iVar41 * 4;
          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;
          if (puVar35 <= puVar42) break;
          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);
          pBVar14 = pBVar25;
LAB_000cde58:
          pBVar25 = (BtShared *)0x0;
          if (puVar35 < puVar34) {
            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);
            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);
          }
          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);
          iVar41 = iStack_1b8;
          if (pcVar28 == (code *)0x0) {
            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));
            iStack_1bc = **(int **)(iStack_1b8 + 4);
            if (pcStack_178 == (code *)0x0) {
              puVar42 = (undefined1 *)0x0;
              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);
              pcVar28 = pcStack_178;
              (*(code *)(iVar26 + 0xee8))(iVar41);
            }
            else {
              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);
              if (pcVar28 == (code *)0x0) {
                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);
              }
              puVar42 = (undefined1 *)0x0;
              if (iStack_1b8 != 0) {
                (*(code *)(iVar26 + 0xee8))(iStack_1b8);
              }
            }
          }
          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;
          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);
LAB_000cdea8:
          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;
          if (iStack_1bc == 0) goto LAB_000ce0b4;
          psVar18 = psVar17->mutex;
          iVar41 = iVar40;
          iVar11 = iStack_1bc;
        }
      } while( true );
    }
LAB_000ce0b4:
    uVar9 = 0x1094f;
  }
  pcVar28 = (code *)&DAT_0000000b;
  (**(code **)(pcVar6 + 0xc2f8c))
            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,
             *(int *)(pcVar6 + 0xc2d04) + 0x625c);
LAB_000cdd30:
  if (pBStack_1b4 == (BtCursor *)*piVar29) {
    return (int)pcVar28;
  }
  pcVar6 = *(code **)(pcVar6 + 0xc31a4);
  pCur_00 = pBStack_1b4;
  (*pcVar6)();
  (*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))();
  uVar19 = (pCur_00->info).nPayload;
  *(undefined4 *)&pCur_00->nKey = 0;
  *(uint *)((int)&pCur_00->nKey + 4) = uVar19;
  pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19);
  if (pBuf == (uchar *)0x0) {
    return 7;
  }
  iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0);
  if (iVar26 == 0) {
    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);
    pCur_00->pKey = pBuf;
    return 0;
  }
  (**(code **)(pcVar6 + 0xc2894))(pBuf);
  return iVar26;
}



/* WARNING: Type propagation algorithm not settling */

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

{
  byte bVar1;
  ushort uVar2;
  undefined *puVar3;
  code *pcVar4;
  char cVar10;
  undefined1 *puVar5;
  code ***pppcVar6;
  code *******pppppppcVar7;
  code ****ppppcVar8;
  code ****ppppcVar9;
  code *******extraout_v1;
  code *******extraout_v1_00;
  code *******pppppppcVar11;
  code *******pppppppcVar12;
  undefined *puVar13;
  int iVar14;
  code **ppcVar15;
  code ******ppppppcVar16;
  int iVar17;
  char *pcVar18;
  char *pcVar19;
  code *******unaff_s0;
  code ******ppppppcVar20;
  code ******ppppppcVar21;
  undefined *puVar22;
  int iVar23;
  code ******ppppppcVar24;
  code *pcVar25;
  int *piVar26;
  int *piVar27;
  code ******ppppppcVar28;
  code *******pppppppcVar29;
  byte *pbVar30;
  byte *pbVar31;
  int iVar32;
  code *******pppppppcVar33;
  int iVar34;
  code ****ppppcVar35;
  undefined *puVar36;
  code *****pppppcVar37;
  code ****ppppcVar38;
  undefined4 uVar39;
  byte *pbVar40;
  uint uVar41;
  code ******ppppppcStack_1d8;
  int iStack_1bc;
  int iStack_1b8;
  code ***pppcStack_1b4;
  code ****ppppcStack_1b0;
  code ******ppppppcStack_1ac;
  int *piStack_1a8;
  code ******ppppppcStack_1a4;
  code *******pppppppcStack_1a0;
  code ******ppppppcStack_19c;
  int iStack_198;
  code *******pppppppcStack_194;
  code ******ppppppcStack_190;
  code *pcStack_18c;
  code ******ppppppcStack_178;
  code *****pppppcStack_170;
  int iStack_16c;
  code *******pppppppcStack_164;
  undefined *puStack_160;
  int *piStack_15c;
  code ******ppppppcStack_158;
  code *******pppppppcStack_154;
  code ******ppppppcStack_150;
  undefined4 uStack_14c;
  int iStack_138;
  undefined *puStack_130;
  uint uStack_124;
  code *****pppppcStack_120;
  code ******ppppppcStack_11c;
  code *****apppppcStack_118 [7];
  code ****ppppcStack_fc;
  code *******pppppppcStack_f8;
  undefined *puStack_f4;
  code *pcStack_f0;
  code ******ppppppcStack_ec;
  code *******pppppppcStack_e8;
  code ******ppppppcStack_e4;
  int iStack_e0;
  code *******pppppppcStack_dc;
  int iStack_d8;
  code *pcStack_d4;
  code *******pppppppcStack_c8;
  code ******local_c0;
  code ******local_bc;
  code ******local_b8;
  ushort local_8e;
  code ******local_8c;
  code ******local_88;
  code *******local_84;
  code *******local_80;
  uint local_7c;
  code *******local_78;
  code *******local_74;
  ushort *local_70;
  code ******local_6c;
  undefined4 local_54;
  undefined1 auStack_3c [4];
  char local_38 [12];
  undefined *local_2c;
  
  puVar36 = PTR___stack_chk_guard_00190e24;
  puVar13 = PTR_LAB_00190ba8;
  pppppppcVar29 = (code *******)0x0;
  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;
  puVar22 = PTR_LAB_00190bcc + 0x3260;
  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);
  iVar32 = (int)*(char *)(param_1 + 0x44);
  pppppppcVar33 = *(code ********)(param_1 + 0x74);
  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);
  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);
  do {
    cVar10 = *(char *)(pppppppcVar33 + 3);
    pppppppcVar7 = param_2;
    if (iVar32 == 0) {
      ppppppcVar20 = (code ******)0x0;
      if (cVar10 == '\0') break;
      local_84 = (code *******)0x0;
      local_80 = (code *******)0x0;
      ppppppcVar20 = pppppppcVar33[0xd];
      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);
      if (local_88 == (code ******)0x0) {
        param_3 = (code *******)&local_80;
        param_4 = pppppppcVar33[1];
        param_2 = (code *******)&local_84;
        local_c0 = (code ******)0x0;
        local_88 = (code ******)FUN_000c8684(ppppppcVar20);
        if (local_88 != (code ******)0x0) {
          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;
          goto LAB_000cd060;
        }
        param_3 = &local_88;
        param_2 = local_84;
        FUN_000c969c(pppppppcVar33);
        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {
LAB_000cd368:
          local_c0 = (code ******)&local_88;
          param_3 = (code *******)&DAT_00000005;
          param_4 = pppppppcVar33[1];
          param_2 = local_80;
          FUN_000c9144(ppppppcVar20);
        }
        unaff_s0 = local_84;
        if (local_88 != (code ******)0x0) goto LAB_000cd060;
        (*(code *)PTR_memcpy_00190e2c)
                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),
                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);
        (*(code *)PTR_memcpy_00190e2c)
                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);
        puVar3 = PTR_LAB_00190bdc;
        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);
        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);
        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);
        param_4 = (code ******)((uint)local_80 >> 0x18);
        param_3 = (code *******)((uint)local_80 >> 0x10);
        param_2 = (code *******)((uint)local_80 >> 8);
        *puVar5 = (char)((uint)local_80 >> 0x18);
        puVar5[1] = (char)((uint)local_80 >> 0x10);
        puVar5[2] = (char)((uint)local_80 >> 8);
        puVar5[3] = (char)local_80;
        *(code ********)(param_1 + 0x7c) = local_84;
        pppppppcVar11 = local_84;
      }
      else {
LAB_000cd060:
        unaff_s0 = local_84;
        *(undefined4 *)(param_1 + 0x7c) = 0;
        ppppppcVar20 = local_88;
        if ((local_84 == (code *******)0x0) ||
           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))
        break;
        pppppppcVar11 = *(code ********)(param_1 + 0x7c);
      }
      *(code ********)(param_1 + 0x78) = pppppppcVar33;
      iVar32 = 1;
      *(undefined2 *)(param_1 + 0x46) = 0;
      *(undefined1 *)(param_1 + 0x44) = 1;
      *(undefined2 *)(param_1 + 0x48) = 0;
      *(code ********)(param_1 + 0x74) = pppppppcVar11;
      cVar10 = *(char *)(pppppppcVar11 + 3);
      pppppppcVar7 = param_2;
      pppppppcVar33 = pppppppcVar11;
    }
    if ((cVar10 == '\0') &&
       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,
       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;
    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);
    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);
    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);
    if (ppppppcVar20 != (code ******)0x0) {
      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);
      *(char *)(pppppppcVar33 + 3) = '\0';
      (*pcVar4)(pppppppcVar33[0x12]);
      cVar10 = *(char *)(param_1 + 0x44) + -1;
      *(char *)(param_1 + 0x44) = cVar10;
      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);
      param_2 = pppppppcVar7;
      break;
    }
    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||
         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||
        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||
       ((unaff_s0[1] == (code ******)0x1 ||
        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {
      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));
      param_4 = (code ******)(uint)(iVar32 == 1);
      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);
      param_3 = pppppppcVar7;
      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);
      if (pppppppcVar29 != (code *******)0x0) {
        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);
      }
LAB_000cd308:
      ppppppcVar16 = pppppppcVar33[0x12];
      pppppppcVar29 = pppppppcVar7;
    }
    else {
      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {
        param_4 = (code ******)0x0;
        ppppppcVar16 = pppppppcVar33[0xd];
        param_3 = (code *******)&local_84;
        param_2 = &local_8c;
        local_c0 = (code ******)0x0;
        local_88 = (code ******)FUN_000c8684(ppppppcVar16);
        pppppppcVar7 = pppppppcVar29;
        ppppppcVar20 = local_88;
        if (local_88 == (code ******)0x0) {
          local_80 = (code *******)pppppppcVar33[9];
          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);
          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);
          param_3 = (code *******)0x1;
          param_2 = (code *******)0x0;
          local_6c = pppppppcVar33[0xf];
          local_74 = (code *******)&local_80;
          local_70 = &local_8e;
          local_54 = 2;
          param_4 = local_8c;
          local_7c = (uint)bVar1;
          local_78 = pppppppcVar33;
          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);
          local_88 = ppppppcVar20;
          if (ppppppcVar20 == (code ******)0x0) {
            *(ushort *)(local_8c + 5) =
                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];
            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {
              local_c0 = (code ******)&local_88;
              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);
              if (*(ushort *)(local_8c + 4) < local_8e) {
                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);
              }
            }
            pppppppcVar11 =
                 (code *******)
                 ((int)pppppppcVar33[0xe] +
                 (uint)(*(ushort *)
                         ((int)pppppppcVar33[0x10] +
                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &
                       *(ushort *)(pppppppcVar33 + 6)));
            pppppppcVar29 = pppppppcVar11;
            do {
              pppppppcVar12 = pppppppcVar29;
              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);
              if (-1 < *(char *)pppppppcVar12) break;
            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);
            pcVar18 = local_38;
            do {
              local_80 = (code *******)((int)pppppppcVar29 + 1);
              pcVar19 = pcVar18 + 1;
              cVar10 = *(char *)pppppppcVar29;
              *pcVar18 = cVar10;
              if (-1 < cVar10) break;
              pppppppcVar29 = local_80;
              pcVar18 = pcVar19;
            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));
            if (local_88 == (code ******)0x0) {
              local_bc = pppppppcVar33[1];
              local_c0 = (code ******)0x0;
              local_b8 = (code ******)&local_88;
              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,
                           (int)pcVar19 - (int)auStack_3c);
              bVar1 = *(byte *)((int)unaff_s0 + 9);
            }
            else {
              bVar1 = *(byte *)((int)unaff_s0 + 9);
            }
            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);
            param_4 = (code ******)((uint)local_84 >> 0x18);
            param_3 = (code *******)((uint)local_84 >> 0x10);
            param_2 = (code *******)((uint)local_84 >> 8);
            *puVar5 = (char)((uint)local_84 >> 0x18);
            puVar5[1] = (char)((uint)local_84 >> 0x10);
            puVar5[2] = (char)((uint)local_84 >> 8);
            puVar5[3] = (char)local_84;
            ppppppcVar20 = local_88;
            if (local_8c == (code ******)0x0) goto LAB_000cd308;
          }
          else if (local_8c == (code ******)0x0) {
            ppppppcVar16 = pppppppcVar33[0x12];
            goto LAB_000cd310;
          }
          (*pcVar25)(local_8c[0x12]);
          ppppppcVar20 = local_88;
        }
        goto LAB_000cd308;
      }
      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);
      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);
      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      ppppppcVar20 = (code ******)&DAT_0000000b;
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      ppppppcVar16 = pppppppcVar33[0x12];
    }
LAB_000cd310:
    *(char *)(pppppppcVar33 + 3) = '\0';
    (*pcVar25)(ppppppcVar16);
    cVar10 = *(char *)(param_1 + 0x44) + -1;
    iVar32 = (int)cVar10;
    *(char *)(param_1 + 0x44) = cVar10;
    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);
    *(code ********)(param_1 + 0x74) = pppppppcVar33;
  } while (ppppppcVar20 == (code ******)0x0);
  if (pppppppcVar29 != (code *******)0x0) {
    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);
  }
  if (local_2c == *(undefined **)puVar36) {
    return ppppppcVar20;
  }
  pcVar4 = FUN_000cd690;
  puVar13 = local_2c;
  puVar36 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_130 = puVar36 + 0xcb290;
  piVar26 = *(int **)(puVar36 + 0xc3794);
  ppppcStack_fc = (code ****)*piVar26;
  pppppppcStack_f8 = unaff_s0;
  puStack_f4 = puVar22;
  pcStack_f0 = pcVar25;
  ppppppcStack_ec = ppppppcVar28;
  pppppppcStack_e8 = pppppppcVar29;
  ppppppcStack_e4 = ppppppcVar20;
  iStack_e0 = iVar32;
  pppppppcStack_dc = pppppppcVar33;
  iStack_d8 = param_1;
  pcStack_d4 = pcVar4;
  pppppppcStack_c8 = param_3;
  if (*(code ********)(puVar13 + 0x2c) < param_2) {
    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);
    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;
    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);
    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);
    (**(code **)(puVar36 + 0xc3550))(0xb);
    puVar13 = puVar22;
    param_4 = ppppppcVar28;
    ppppppcVar28 = (code ******)&DAT_0000000b;
  }
  else {
    ppppppcVar16 = &pppppcStack_120;
    iStack_138 = 0;
    ppppppcStack_1d8 = (code ******)0x0;
    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();
    ppppppcVar28 = ppppppcStack_11c;
    if (ppppppcStack_11c == (code ******)0x0) {
      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {
        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;
        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);
        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {
          uVar41 = 0;
        }
        else {
          pppppppcVar29 = (code *******)0x0;
          ppppppcVar20 = apppppcStack_118;
          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;
          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);
          iVar23 = 0;
          do {
            ppppppcStack_11c = (code ******)0x0;
            pppppppcVar33 =
                 (code *******)
                 ((int)pppppcStack_120[0xe] +
                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &
                       *(ushort *)(pppppcStack_120 + 6)));
            if (*(char *)(pppppcStack_120 + 2) == '\0') {
              ppppppcVar16 = (code ******)0x1;
              uVar41 = (int)pppppppcVar33 + 3U & 3;
              param_2 = (code *******)
                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<
                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |
                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);
              ppppppcStack_1d8 = param_4;
              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);
              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;
            }
            param_2 = pppppppcVar33;
            ppppppcVar16 = ppppppcVar20;
            ppppppcStack_11c = (code ******)FUN_000cabd8();
            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;
            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);
            iVar23 = iVar23 + 1;
            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);
          } while (iVar23 < (int)uVar41);
        }
        ppppppcVar16 = (code ******)0x1;
        if (*(char *)(pppppcStack_120 + 2) == '\0') {
          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);
          ppppppcStack_1d8 = param_4;
          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);
          if (ppppppcStack_11c == (code ******)0x0) {
            ppppppcVar28 = (code ******)0x0;
            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;
            goto LAB_000cd96c;
          }
        }
        else {
          if (param_4 != (code ******)0x0) {
            *param_4 = (code *****)((int)*param_4 + uVar41);
          }
          ppppppcVar28 = ppppppcStack_11c;
          if (pppppppcStack_c8 == (code *******)0x0) {
LAB_000cd96c:
            ppppppcStack_11c = ppppppcVar28;
            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);
            if (ppppppcStack_11c == (code ******)0x0) {
              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);
              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);
              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);
            }
          }
          else if (ppppppcStack_11c == (code ******)0x0) {
LAB_000cd958:
            param_2 = &ppppppcStack_11c;
            FUN_000cae98();
          }
        }
      }
      else {
        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);
        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;
        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);
        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);
        (**(code **)(puStack_130 + -0x7d40))(0xb);
        ppppppcStack_11c = (code ******)&DAT_0000000b;
      }
LAB_000cd7ec:
      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;
      ppppppcVar28 = ppppppcStack_11c;
      if (pppppcStack_120 != (code *****)0x0) {
        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);
        ppppppcVar28 = ppppppcStack_11c;
      }
    }
  }
  if (ppppcStack_fc == (code ****)*piVar26) {
    return ppppppcVar28;
  }
  pcVar4 = *(code **)(puStack_130 + -0x7b28);
  uVar39 = 0xcd9d0;
  ppppcVar38 = ppppcStack_fc;
  (*pcVar4)();
  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);
  piVar27 = *(int **)(pcVar4 + 0xc3454);
  pppppcStack_170 = (code *****)0x0;
  iStack_16c = *piVar27;
  ppppppcVar21 = ppppppcVar16;
  pppppppcStack_164 = unaff_s0;
  puStack_160 = puVar13;
  piStack_15c = piVar26;
  ppppppcStack_158 = param_4;
  pppppppcStack_154 = pppppppcVar29;
  ppppppcStack_150 = ppppppcVar20;
  uStack_14c = uVar39;
  if ((int)ppppcVar38[3][9] << 3 < 0) {
    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);
LAB_000cda68:
    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);
    ppppppcVar24 = (code ******)0x1;
    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);
    ppppcVar38[2] = pppcVar6;
    ppppppcVar16 = param_4;
  }
  else {
    if (param_2 == (code *******)0x1) {
      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);
      goto LAB_000cda68;
    }
    iVar23 = *(int *)(pcVar4 + 0xc31d8);
    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);
    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);
    param_4 = ppppppcVar16;
    pppppppcVar29 = extraout_v1;
    if (extraout_v1 != extraout_v1_00) {
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);
      goto LAB_000cda68;
    }
    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);
    if (iVar23 == 0) {
LAB_000cdb7c:
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);
      goto LAB_000cda68;
    }
    pppcVar6 = ppppcVar38[3];
    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);
    if (iVar23 < 0) goto LAB_000cdb7c;
    if (((extraout_v1 == (code *******)0x0) ||
        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||
       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);
      goto LAB_000cda68;
    }
    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +
                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {
LAB_000cdb70:
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);
      goto LAB_000cda68;
    }
    ppppppcVar20 = (code ******)ppppppcVar21[8];
    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);
    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;
    ppppppcStack_1d8 = (code ******)0x0;
    ppppppcVar21 = &pppppcStack_170;
    pppppppcVar7 = extraout_v1;
    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))
    ;
    if ((ppppppcVar24 == (code ******)0x0) &&
       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)
       ) {
      ppppcVar38 = pppppcStack_170[1];
      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);
      ppppppcVar21 = ppppppcVar20;
      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);
    }
    if (pppppcStack_170 != (code *****)0x0) {
      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();
    }
  }
  if (iStack_16c == *piVar27) {
    return ppppppcVar24;
  }
  pppppcVar37 = ppppppcStack_178[-0x1eca];
  pcVar4 = FUN_000cdc54;
  iVar23 = iStack_16c;
  (*(code *)pppppcVar37)();
  ppppcVar8 = pppppcVar37[0x30c74];
  pppcStack_1b4 = *ppppcVar8;
  iVar34 = *(int *)(iVar23 + 0x74);
  piVar26 = *(int **)(iVar23 + 0x14);
  ppppcStack_1b0 = ppppcVar38;
  ppppppcStack_1ac = ppppppcVar24;
  piStack_1a8 = piVar27;
  ppppppcStack_1a4 = ppppppcVar16;
  pppppppcStack_1a0 = pppppppcVar29;
  ppppppcStack_19c = ppppppcVar20;
  iStack_198 = iVar32;
  pppppppcStack_194 = pppppppcVar33;
  ppppppcStack_190 = ppppppcVar28;
  pcStack_18c = pcVar4;
  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();
  iVar32 = *(int *)(iVar23 + 0x28);
  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);
  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {
    uVar39 = 0x108be;
  }
  else {
    if (pppppppcVar7 < pppppppcVar29) {
      ppppppcVar28 = ppppppcVar21;
      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {
        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);
      }
      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);
      if (ppppppcStack_178 == (code ******)0x0) {
        ppppcVar38 = pppppcVar37[0x30c76];
        ppppppcVar16 = ppppppcStack_1d8;
      }
      else {
        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));
        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;
        ppppcVar38 = pppppcVar37[0x30c76];
        ppppppcVar16 = ppppppcVar20;
        ppppppcVar20 = ppppppcStack_1d8;
      }
      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);
      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);
      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);
      pbVar30 = (byte *)0x0;
    }
    else {
      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);
    }
    if (ppppppcVar21 == (code ******)0x0) {
      ppppppcVar16 = (code ******)0x0;
      goto LAB_000cdd30;
    }
    uVar2 = *(ushort *)(iVar23 + 0x30);
    iVar34 = *(int *)(iVar23 + 0xc);
    pbVar31 = (byte *)(piVar26[9] + -4);
    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);
    if ((*(byte *)(iVar23 + 1) & 4) == 0) {
      iVar32 = *(int *)(iVar23 + 0x2c);
      if (pbVar31 == (byte *)0x0) {
        trap(7);
      }
      if (iVar34 == 0) {
LAB_000cdf84:
        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);
        if (iVar34 == 0) {
          ppppppcVar16 = (code ******)&DAT_00000007;
          goto LAB_000cdd30;
        }
        *(int *)(iVar23 + 0xc) = iVar34;
      }
      else {
        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();
        iVar34 = *(int *)(iVar23 + 0xc);
        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))
        goto LAB_000cdf84;
      }
      (*(code *)pppppcVar37[0x30c41])
                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);
      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;
    }
    else {
      if (pbVar31 == (byte *)0x0) {
        trap(7);
      }
      uVar41 = (uint)pbVar30 / (uint)pbVar31;
      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);
      iVar32 = *(int *)(iVar34 + uVar41 * 4);
      if (iVar32 != 0) goto LAB_000cddd4;
    }
    uVar41 = 0;
    if (iStack_1bc != 0) {
      iVar34 = *(int *)(iVar23 + 0xc);
      pbVar40 = pbVar30;
      iVar32 = iStack_1bc;
LAB_000cddd4:
      iStack_1bc = iVar32;
      uVar39 = 2;
      ppppcVar38 = pppppcVar37[0x30bbb];
      iVar32 = uVar41 + 1;
      ppppcVar35 = pppppcVar37[0x30bde];
      if (ppppppcStack_178 != (code ******)0x0) {
        uVar39 = 0;
      }
      iVar17 = iVar32 * 4;
      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;
      ppppcVar9 = pppppcVar37[0x30be2];
      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);
      ppppppcVar28 = ppppppcVar21;
      if (pbVar40 < pbVar31) goto LAB_000cde58;
      do {
        iVar14 = *(int *)(iVar23 + 0xc);
        pbVar40 = pbVar40 + -(int)pbVar31;
        iVar34 = *(int *)(iVar14 + iVar17);
        if (*(int *)(iVar14 + iVar17) == 0) {
          ppppppcVar16 = (code ******)
                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);
          goto LAB_000cdea8;
        }
        while( true ) {
          iStack_1bc = iVar34;
          iVar32 = iVar32 + 1;
          iVar17 = iVar32 * 4;
          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;
          if (pbVar31 <= pbVar40) break;
          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);
          ppppppcVar28 = ppppppcVar21;
LAB_000cde58:
          ppppppcVar21 = (code ******)0x0;
          if (pbVar31 < pbVar30) {
            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));
            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);
          }
          ppppppcVar16 = (code ******)
                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);
          iVar34 = iStack_1b8;
          if (ppppppcVar16 == (code ******)0x0) {
            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));
            iStack_1bc = **(int **)(iStack_1b8 + 4);
            if (ppppppcStack_178 == (code ******)0x0) {
              pbVar40 = (byte *)0x0;
              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);
              ppppppcVar16 = ppppppcStack_178;
              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);
            }
            else {
              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);
              if (ppppppcVar16 == (code ******)0x0) {
                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);
              }
              pbVar40 = (byte *)0x0;
              if (iStack_1b8 != 0) {
                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);
              }
            }
          }
          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;
          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);
LAB_000cdea8:
          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;
          if (iStack_1bc == 0) goto LAB_000ce0b4;
          iVar14 = *(int *)(iVar23 + 0xc);
          iVar34 = iStack_1bc;
        }
      } while( true );
    }
LAB_000ce0b4:
    uVar39 = 0x1094f;
  }
  ppppppcVar16 = (code ******)&DAT_0000000b;
  (*(code *)pppppcVar37[0x30be3])
            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,
             pppppcVar37[0x30b41] + 0x1897);
LAB_000cdd30:
  if (pppcStack_1b4 == *ppppcVar8) {
    return ppppppcVar16;
  }
  ppppcVar38 = pppppcVar37[0x30c69];
  pppcVar6 = pppcStack_1b4;
  (*(code *)ppppcVar38)();
  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();
  ppcVar15 = pppcVar6[0xb];
  pppcVar6[0xe] = (code **)0x0;
  pppcVar6[0xf] = ppcVar15;
  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))
                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);
  if (ppcVar15 == (code **)0x0) {
    return (code ******)&DAT_00000007;
  }
  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);
  if (ppppppcVar28 == (code ******)0x0) {
    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);
    pppcVar6[4] = ppcVar15;
    return (code ******)0x0;
  }
  (*(code *)ppppcVar38[0x30a25])(ppcVar15);
  return ppppppcVar28;
}


lui gp,0xd
addiu gp,gp,-0x4660
addu gp,gp,t9
addiu sp,sp,-0xd0
lw v1,-0x7afc(gp)
sw s8,0xc8(sp)
or s8,a0,zero
sw s4,0xb8(sp)
or s4,zero,zero
sw s2,0xb0(sp)
sw s1,0xac(sp)
sw gp,0x20(sp)
sw ra,0xcc(sp)
sw s7,0xc4(sp)
sw s6,0xc0(sp)
sw s5,0xbc(sp)
sw s3,0xb4(sp)
sw s0,0xa8(sp)
lw v0,0x14(a0)
lw s1,-0x7d54(gp)
lw s2,-0x7de0(gp)
lw a0,0x0(v1)
lw s3,0x24(v0)
addiu s1,s1,0x3260
lw v0,-0x7d78(gp)
addiu s2,s2,0xee8
lb s6,0x44(s8)
sll s3,s3,0x1
lw s7,0x74(s8)
addiu v0,v0,-0x27ec
sw v1,0x38(sp)
sw a0,0xa4(sp)
sw v0,0x2c(sp)
lw v0,-0x7d64(gp)
sw v0,0x30(sp)
lw v0,-0x7d78(gp)
sw v0,0x34(sp)
lui v0,0xaaaa
ori v0,v0,0xaaab
multu s3,v0
mfhi s3
srl s3,s3,0x1
or s5,s6,zero
bne s6,zero,0x000cd200
_lbu v0,0xc(s7)
beq v0,zero,0x000cd080
_or t9,s1,zero
sw zero,0x4c(sp)
sw zero,0x50(sp)
lw a0,0x48(s7)
bal 0x000c3260
_lw s0,0x34(s7)
lw gp,0x20(sp)
beq v0,zero,0x000cd0dc
_sw v0,0x48(sp)
lw s0,0x4c(sp)
beq s0,zero,0x000cd34c
_sw zero,0x7c(s8)
or t9,s2,zero
jalr t9
_lw a0,0x48(s0)
lw s5,0x48(sp)
beq s5,zero,0x000cd594
_lw gp,0x20(sp)
beq s4,zero,0x000cd098
_lw t9,-0x7d78(gp)
addiu t9,t9,0x4e2c
jalr t9
_or a0,s4,zero
lw gp,0x20(sp)
lw v1,0x38(sp)
or v0,s5,zero
lw a0,0xa4(sp)
lw v1,0x0(v1)
bne a0,v1,0x000cd684
_lw ra,0xcc(sp)
lw s8,0xc8(sp)
lw s7,0xc4(sp)
lw s6,0xc0(sp)
lw s5,0xbc(sp)
lw s4,0xb8(sp)
lw s3,0xb4(sp)
lw s2,0xb0(sp)
lw s1,0xac(sp)
lw s0,0xa8(sp)
jr ra
_addiu sp,sp,0xd0
lw t9,-0x7d64(gp)
addiu a2,sp,0x50
lw a3,0x4(s7)
addiu a1,sp,0x4c
sw zero,0x10(sp)
addiu t9,t9,-0x797c
bal 0x000c8684
_or a0,s0,zero
lw gp,0x20(sp)
bne v0,zero,0x000cd35c
_sw v0,0x48(sp)
lw t9,-0x7d64(gp)
addiu s5,sp,0x48
lw a1,0x4c(sp)
or a0,s7,zero
addiu t9,t9,-0x6964
bal 0x000c969c
_or a2,s5,zero
lbu v0,0x11(s0)
bne v0,zero,0x000cd368
_lw gp,0x20(sp)
lw v0,0x48(sp)
bne v0,zero,0x000cd060
_lw s0,0x4c(sp)
lbu a2,0xc(s7)
addiu a1,s7,0x1a
lw t9,-0x7af4(gp)
addiu a0,s0,0x1a
jalr t9
_sll a2,a2,0x1
addiu a1,s7,0x24
lw gp,0x20(sp)
addiu a0,s0,0x24
lbu a2,0xc(s7)
lw t9,-0x7af4(gp)
jalr t9
_sll a2,a2,0x2
or a0,s7,zero
lw gp,0x20(sp)
lbu a1,0xc(s7)
lw v0,0x38(s0)
lw t9,-0x7d44(gp)
sb a1,0xc(s0)
lbu a1,0x0(v0)
addiu t9,t9,-0x3030
jalr t9
_andi a1,a1,0xf7
lbu a1,0x9(s7)
lw v0,0x38(s7)
lw a0,0x50(sp)
addiu a1,a1,0x8
lw gp,0x20(sp)
addu v0,v0,a1
srl a3,a0,0x18
srl a2,a0,0x10
srl a1,a0,0x8
sb a3,0x0(v0)
sb a2,0x1(v0)
sb a1,0x2(v0)
sb a0,0x3(v0)
lw v0,0x4c(sp)
sw v0,0x7c(s8)
li a0,0x1
sw s7,0x78(s8)
li s6,0x1
sh zero,0x46(s8)
or s7,v0,zero
sb a0,0x44(s8)
sh zero,0x48(s8)
or s5,s6,zero
sw v0,0x74(s8)
beq s6,zero,0x000cd034
_lbu v0,0xc(s7)
bne v0,zero,0x000cd218
_addiu a0,s6,0x1d
lhu v0,0x14(s7)
slt v0,s3,v0
beq v0,zero,0x000cd080
_or s5,zero,zero
addiu v0,s6,0x23
sll a0,a0,0x2
sll v0,v0,0x1
addu a0,s8,a0
addu v0,s8,v0
or t9,s1,zero
lw s0,0x0(a0)
lhu s5,0x0(v0)
bal 0x000c3260
_lw a0,0x48(s0)
beq v0,zero,0x000cd294
_lw gp,0x20(sp)
lw t9,-0x7de0(gp)
lw a0,0x48(s7)
sw v0,0x2c(sp)
addiu t9,t9,0xee8
jalr t9
_sb zero,0xc(s7)
lw v0,0x2c(sp)
lw gp,0x20(sp)
or s5,v0,zero
lbu v0,0x44(s8)
addiu v0,v0,-0x1
seb v0,v0
addiu v1,v0,0x1e
sb v0,0x44(s8)
sll v0,v1,0x2
addu v0,s8,v0
lw v0,0x0(v0)
b 0x000cd080
_sw v0,0x74(s8)
lbu v0,0x3(s7)
beq v0,zero,0x000cd2ac
_li v0,0x1
lbu t1,0xc(s7)
beq t1,v0,0x000cd390
_nop
lw v0,0x14(s8)
lw t9,0x2c(sp)
jalr t9
_lw a0,0x20(v0)
xori a3,s6,0x1
lbu a0,0x3(s8)
or s6,v0,zero
lw v0,0x30(sp)
or a1,s5,zero
sltiu a3,a3,0x1
andi a0,a0,0x1
addiu t9,v0,-0x4cf8
sw a0,0x10(sp)
or a2,s6,zero
bal 0x000cb308
_or a0,s0,zero
beq s4,zero,0x000cd354
_or s5,v0,zero
lw v0,0x34(sp)
or a0,s4,zero
addiu t9,v0,0x4e2c
jalr t9
_or s4,s6,zero
lw a0,0x48(s7)
or t9,s2,zero
jalr t9
_sb zero,0xc(s7)
lbu s6,0x44(s8)
lw gp,0x20(sp)
addiu s6,s6,-0x1
seb s6,s6
addiu v1,s6,0x1e
sb s6,0x44(s8)
sll v1,v1,0x2
addu v1,s8,v1
lw s7,0x0(v1)
beq s5,zero,0x000cd028
_sw s7,0x74(s8)
b 0x000cd080
_nop
b 0x000cd080
_lw s5,0x48(sp)
b 0x000cd308
_or s4,s6,zero
lbu v0,0x11(s0)
beq v0,zero,0x000cd05c
_addiu s5,sp,0x48
lw t9,-0x7d64(gp)
li a2,0x5
lw a3,0x4(s7)
or a0,s0,zero
lw a1,0x50(sp)
addiu t9,t9,-0x6ebc
bal 0x000c9144
_sw s5,0x10(sp)
b 0x000cd130
_lw gp,0x20(sp)
lhu a0,0x16(s7)
lhu v0,0x1a(s7)
bne v0,a0,0x000cd2ac
_nop
lw a0,0x4(s0)
beq a0,t1,0x000cd2ac
_nop
lhu a0,0x16(s0)
bne a0,s5,0x000cd2ac
_nop
beq v0,zero,0x000cd59c
_lw t9,-0x7d64(gp)
or a3,zero,zero
lw s6,0x34(s7)
addiu a2,sp,0x4c
addiu a1,sp,0x44
sw t1,0x3c(sp)
addiu t9,t9,-0x797c
sw zero,0x10(sp)
bal 0x000c8684
_or a0,s6,zero
or s5,v0,zero
bne v0,zero,0x000cd308
_sw v0,0x48(sp)
lw a1,0x24(s7)
sw a1,0x50(sp)
lw t9,0x4c(s7)
jalr t9
_or a0,s7,zero
li a1,0xd
lw gp,0x20(sp)
lw a0,0x44(sp)
lw t9,-0x7d44(gp)
addiu t9,t9,-0x3030
jalr t9
_sh v0,0x42(sp)
li a2,0x1
lw gp,0x20(sp)
or a1,zero,zero
lw t1,0x3c(sp)
addiu a0,sp,0x54
lw v0,0x3c(s7)
lw a3,0x44(sp)
lw t9,-0x7d44(gp)
sw t1,0x54(sp)
addiu t1,sp,0x50
sw v0,0x64(sp)
li v0,0x2
sw t1,0x5c(sp)
addiu t1,sp,0x42
addiu t9,t9,-0xf50
sw s7,0x58(sp)
sw t1,0x60(sp)
jalr t9
_sw v0,0x7c(sp)
lw gp,0x20(sp)
or s5,v0,zero
bne v0,zero,0x000cd5d8
_sw v0,0x48(sp)
lw a0,0x44(sp)
li v0,-0x2
lhu a3,0x42(sp)
lw a1,0x24(s6)
lhu a2,0x12(a0)
subu v0,v0,a3
subu v0,v0,a2
addu v0,v0,a1
sh v0,0x14(a0)
lbu v0,0x11(s6)
bne v0,zero,0x000cd5ec
_lw t9,-0x7d64(gp)
lhu v0,0x16(s7)
lw a1,0x40(s7)
lhu a2,0x18(s7)
addiu v0,v0,-0x1
lw a0,0x38(s7)
sll v0,v0,0x1
addu a1,a1,v0
lbu v0,0x0(a1)
lbu a1,0x1(a1)
sll v0,v0,0x8
or v0,v0,a1
and v0,v0,a2
addu a0,a0,v0
b 0x000cd4f4
_addiu a2,a0,0x9
beq a2,v0,0x000cd50c
_addiu a0,a0,0xa
or a0,v0,zero
addiu v0,a0,0x1
sw v0,0x50(sp)
lb a1,-0x1(v0)
bltz a1,0x000cd4e8
_nop
addiu a0,a0,0xa
b 0x000cd520
_addiu a3,sp,0x98
sltu a1,v0,a0
beq a1,zero,0x000cd53c
_nop
addiu v0,v0,0x1
addiu a3,a3,0x1
sw v0,0x50(sp)
lbu a1,-0x1(v0)
seb a2,a1
bltz a2,0x000cd514
_sb a1,-0x1(a3)
beq s5,zero,0x000cd650
_addiu s5,sp,0x48
lbu a1,0x9(s0)
lw v0,0x38(s0)
lw a0,0x4c(sp)
addiu a1,a1,0x8
addu v0,v0,a1
srl a3,a0,0x18
srl a2,a0,0x10
srl a1,a0,0x8
sb a3,0x0(v0)
sb a2,0x1(v0)
sb a1,0x2(v0)
sb a0,0x3(v0)
lw v0,0x44(sp)
beq v0,zero,0x000cd58c
_nop
or t9,s2,zero
jalr t9
_lw a0,0x48(v0)
b 0x000cd308
_lw s5,0x48(sp)
b 0x000cd1d4
_lw v0,0x7c(s8)
lw v0,-0x7fc8(gp)
lui a3,0x1
lw a2,-0x7fc4(gp)
li a0,0xb
lw a1,-0x7fc4(gp)
addiu a3,a3,0x1267
addiu v0,v0,0x625c
lw t9,-0x7d40(gp)
addiu a2,a2,-0x5e64
addiu a1,a1,-0x6378
sw v0,0x10(sp)
jalr t9
_li s5,0xb
b 0x000cd30c
_lw a0,0x48(s7)
lw v0,0x44(sp)
bne v0,zero,0x000cd584
_or t9,s2,zero
b 0x000cd310
_lw a0,0x48(s7)
addiu s5,sp,0x48
lw a3,0x4(s0)
li a2,0x5
lw a1,0x4c(sp)
or a0,s6,zero
addiu t9,t9,-0x6ebc
bal 0x000c9144
_sw s5,0x10(sp)
lw a0,0x44(sp)
lhu a1,0x42(sp)
lhu v0,0x10(a0)
sltu v0,v0,a1
bne v0,zero,0x000cd62c
_lw gp,0x20(sp)
b 0x000cd4ac
_lw s5,0x48(sp)
lw t9,-0x7d64(gp)
addiu a1,a0,0x3c
lw a2,0x50(sp)
addiu t9,t9,-0x6c60
bal 0x000c93a0
_or a3,s5,zero
lw gp,0x20(sp)
b 0x000cd4ac
_lw s5,0x48(sp)
lhu a1,0x16(s0)
lw t9,-0x7d64(gp)
addiu a2,sp,0x94
sw s5,0x18(sp)
or a0,s0,zero
lw v0,0x4(s7)
subu a3,a3,a2
addiu t9,t9,-0x511c
sw zero,0x10(sp)
bal 0x000caee4
_sw v0,0x14(sp)
b 0x000cd548
_lbu a1,0x9(s0)
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\ncode ****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}\n\n" comment (function_definition "code ****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" type_identifier (pointer_declarator "****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "***** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "**** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "*** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "* FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (function_declarator "FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" identifier (parameter_list "(int param_1,code *******param_2,code *******param_3,code ******param_4)" ( (parameter_declaration "int param_1" primitive_type 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" * identifier))))))) ))))))))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code ***pppcVar6;" type_identifier (pointer_declarator "***pppcVar6" * (pointer_declarator "**pppcVar6" * (pointer_declarator "*pppcVar6" * identifier))) ;) (declaration "code *******pppppppcVar7;" type_identifier (pointer_declarator "*******pppppppcVar7" * (pointer_declarator "******pppppppcVar7" * (pointer_declarator "*****pppppppcVar7" * (pointer_declarator "****pppppppcVar7" * (pointer_declarator "***pppppppcVar7" * (pointer_declarator "**pppppppcVar7" * (pointer_declarator "*pppppppcVar7" * identifier))))))) ;) (declaration "code ****ppppcVar8;" type_identifier (pointer_declarator "****ppppcVar8" * (pointer_declarator "***ppppcVar8" * (pointer_declarator "**ppppcVar8" * (pointer_declarator "*ppppcVar8" * identifier)))) ;) (declaration "code ****ppppcVar9;" type_identifier (pointer_declarator "****ppppcVar9" * (pointer_declarator "***ppppcVar9" * (pointer_declarator "**ppppcVar9" * (pointer_declarator "*ppppcVar9" * identifier)))) ;) (declaration "code *******extraout_v1;" type_identifier (pointer_declarator "*******extraout_v1" * (pointer_declarator "******extraout_v1" * (pointer_declarator "*****extraout_v1" * (pointer_declarator "****extraout_v1" * (pointer_declarator "***extraout_v1" * (pointer_declarator "**extraout_v1" * (pointer_declarator "*extraout_v1" * identifier))))))) ;) (declaration "code *******extraout_v1_00;" type_identifier (pointer_declarator "*******extraout_v1_00" * (pointer_declarator "******extraout_v1_00" * (pointer_declarator "*****extraout_v1_00" * (pointer_declarator "****extraout_v1_00" * (pointer_declarator "***extraout_v1_00" * (pointer_declarator "**extraout_v1_00" * (pointer_declarator "*extraout_v1_00" * identifier))))))) ;) (declaration "code *******pppppppcVar11;" type_identifier (pointer_declarator "*******pppppppcVar11" * (pointer_declarator "******pppppppcVar11" * (pointer_declarator "*****pppppppcVar11" * (pointer_declarator "****pppppppcVar11" * (pointer_declarator "***pppppppcVar11" * (pointer_declarator "**pppppppcVar11" * (pointer_declarator "*pppppppcVar11" * identifier))))))) ;) (declaration "code *******pppppppcVar12;" type_identifier (pointer_declarator "*******pppppppcVar12" * (pointer_declarator "******pppppppcVar12" * (pointer_declarator "*****pppppppcVar12" * (pointer_declarator "****pppppppcVar12" * (pointer_declarator "***pppppppcVar12" * (pointer_declarator "**pppppppcVar12" * (pointer_declarator "*pppppppcVar12" * identifier))))))) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "code **ppcVar15;" type_identifier (pointer_declarator "**ppcVar15" * (pointer_declarator "*ppcVar15" * identifier)) ;) (declaration "code ******ppppppcVar16;" type_identifier (pointer_declarator "******ppppppcVar16" * (pointer_declarator "*****ppppppcVar16" * (pointer_declarator "****ppppppcVar16" * (pointer_declarator "***ppppppcVar16" * (pointer_declarator "**ppppppcVar16" * (pointer_declarator "*ppppppcVar16" * identifier)))))) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * 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 "code ******ppppppcVar20;" type_identifier (pointer_declarator "******ppppppcVar20" * (pointer_declarator "*****ppppppcVar20" * (pointer_declarator "****ppppppcVar20" * (pointer_declarator "***ppppppcVar20" * (pointer_declarator "**ppppppcVar20" * (pointer_declarator "*ppppppcVar20" * identifier)))))) ;) (declaration "code ******ppppppcVar21;" type_identifier (pointer_declarator "******ppppppcVar21" * (pointer_declarator "*****ppppppcVar21" * (pointer_declarator "****ppppppcVar21" * (pointer_declarator "***ppppppcVar21" * (pointer_declarator "**ppppppcVar21" * (pointer_declarator "*ppppppcVar21" * identifier)))))) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code ******ppppppcVar24;" type_identifier (pointer_declarator "******ppppppcVar24" * (pointer_declarator "*****ppppppcVar24" * (pointer_declarator "****ppppppcVar24" * (pointer_declarator "***ppppppcVar24" * (pointer_declarator "**ppppppcVar24" * (pointer_declarator "*ppppppcVar24" * identifier)))))) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code ******ppppppcVar28;" type_identifier (pointer_declarator "******ppppppcVar28" * (pointer_declarator "*****ppppppcVar28" * (pointer_declarator "****ppppppcVar28" * (pointer_declarator "***ppppppcVar28" * (pointer_declarator "**ppppppcVar28" * (pointer_declarator "*ppppppcVar28" * identifier)))))) ;) (declaration "code *******pppppppcVar29;" type_identifier (pointer_declarator "*******pppppppcVar29" * (pointer_declarator "******pppppppcVar29" * (pointer_declarator "*****pppppppcVar29" * (pointer_declarator "****pppppppcVar29" * (pointer_declarator "***pppppppcVar29" * (pointer_declarator "**pppppppcVar29" * (pointer_declarator "*pppppppcVar29" * identifier))))))) ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "byte *pbVar31;" type_identifier (pointer_declarator "*pbVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "code *******pppppppcVar33;" type_identifier (pointer_declarator "*******pppppppcVar33" * (pointer_declarator "******pppppppcVar33" * (pointer_declarator "*****pppppppcVar33" * (pointer_declarator "****pppppppcVar33" * (pointer_declarator "***pppppppcVar33" * (pointer_declarator "**pppppppcVar33" * (pointer_declarator "*pppppppcVar33" * identifier))))))) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "code ****ppppcVar35;" type_identifier (pointer_declarator "****ppppcVar35" * (pointer_declarator "***ppppcVar35" * (pointer_declarator "**ppppcVar35" * (pointer_declarator "*ppppcVar35" * identifier)))) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "code *****pppppcVar37;" type_identifier (pointer_declarator "*****pppppcVar37" * (pointer_declarator "****pppppcVar37" * (pointer_declarator "***pppppcVar37" * (pointer_declarator "**pppppcVar37" * (pointer_declarator "*pppppcVar37" * identifier))))) ;) (declaration "code ****ppppcVar38;" type_identifier (pointer_declarator "****ppppcVar38" * (pointer_declarator "***ppppcVar38" * (pointer_declarator "**ppppcVar38" * (pointer_declarator "*ppppcVar38" * identifier)))) ;) (declaration "undefined4 uVar39;" type_identifier identifier ;) (declaration "byte *pbVar40;" type_identifier (pointer_declarator "*pbVar40" * identifier) ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "code ******ppppppcStack_1d8;" type_identifier (pointer_declarator "******ppppppcStack_1d8" * (pointer_declarator "*****ppppppcStack_1d8" * (pointer_declarator "****ppppppcStack_1d8" * (pointer_declarator "***ppppppcStack_1d8" * (pointer_declarator "**ppppppcStack_1d8" * (pointer_declarator "*ppppppcStack_1d8" * identifier)))))) ;) (declaration "int iStack_1bc;" primitive_type identifier ;) (declaration "int iStack_1b8;" primitive_type identifier ;) (declaration "code ***pppcStack_1b4;" type_identifier (pointer_declarator "***pppcStack_1b4" * (pointer_declarator "**pppcStack_1b4" * (pointer_declarator "*pppcStack_1b4" * identifier))) ;) (declaration "code ****ppppcStack_1b0;" type_identifier (pointer_declarator "****ppppcStack_1b0" * (pointer_declarator "***ppppcStack_1b0" * (pointer_declarator "**ppppcStack_1b0" * (pointer_declarator "*ppppcStack_1b0" * identifier)))) ;) (declaration "code ******ppppppcStack_1ac;" type_identifier (pointer_declarator "******ppppppcStack_1ac" * (pointer_declarator "*****ppppppcStack_1ac" * (pointer_declarator "****ppppppcStack_1ac" * (pointer_declarator "***ppppppcStack_1ac" * (pointer_declarator "**ppppppcStack_1ac" * (pointer_declarator "*ppppppcStack_1ac" * identifier)))))) ;) (declaration "int *piStack_1a8;" primitive_type (pointer_declarator "*piStack_1a8" * identifier) ;) (declaration "code ******ppppppcStack_1a4;" type_identifier (pointer_declarator "******ppppppcStack_1a4" * (pointer_declarator "*****ppppppcStack_1a4" * (pointer_declarator "****ppppppcStack_1a4" * (pointer_declarator "***ppppppcStack_1a4" * (pointer_declarator "**ppppppcStack_1a4" * (pointer_declarator "*ppppppcStack_1a4" * identifier)))))) ;) (declaration "code *******pppppppcStack_1a0;" type_identifier (pointer_declarator "*******pppppppcStack_1a0" * (pointer_declarator "******pppppppcStack_1a0" * (pointer_declarator "*****pppppppcStack_1a0" * (pointer_declarator "****pppppppcStack_1a0" * (pointer_declarator "***pppppppcStack_1a0" * (pointer_declarator "**pppppppcStack_1a0" * (pointer_declarator "*pppppppcStack_1a0" * identifier))))))) ;) (declaration "code ******ppppppcStack_19c;" type_identifier (pointer_declarator "******ppppppcStack_19c" * (pointer_declarator "*****ppppppcStack_19c" * (pointer_declarator "****ppppppcStack_19c" * (pointer_declarator "***ppppppcStack_19c" * (pointer_declarator "**ppppppcStack_19c" * (pointer_declarator "*ppppppcStack_19c" * identifier)))))) ;) (declaration "int iStack_198;" primitive_type identifier ;) (declaration "code *******pppppppcStack_194;" type_identifier (pointer_declarator "*******pppppppcStack_194" * (pointer_declarator "******pppppppcStack_194" * (pointer_declarator "*****pppppppcStack_194" * (pointer_declarator "****pppppppcStack_194" * (pointer_declarator "***pppppppcStack_194" * (pointer_declarator "**pppppppcStack_194" * (pointer_declarator "*pppppppcStack_194" * identifier))))))) ;) (declaration "code ******ppppppcStack_190;" type_identifier (pointer_declarator "******ppppppcStack_190" * (pointer_declarator "*****ppppppcStack_190" * (pointer_declarator "****ppppppcStack_190" * (pointer_declarator "***ppppppcStack_190" * (pointer_declarator "**ppppppcStack_190" * (pointer_declarator "*ppppppcStack_190" * identifier)))))) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code ******ppppppcStack_178;" type_identifier (pointer_declarator "******ppppppcStack_178" * (pointer_declarator "*****ppppppcStack_178" * (pointer_declarator "****ppppppcStack_178" * (pointer_declarator "***ppppppcStack_178" * (pointer_declarator "**ppppppcStack_178" * (pointer_declarator "*ppppppcStack_178" * identifier)))))) ;) (declaration "code *****pppppcStack_170;" type_identifier (pointer_declarator "*****pppppcStack_170" * (pointer_declarator "****pppppcStack_170" * (pointer_declarator "***pppppcStack_170" * (pointer_declarator "**pppppcStack_170" * (pointer_declarator "*pppppcStack_170" * identifier))))) ;) (declaration "int iStack_16c;" primitive_type identifier ;) (declaration "code *******pppppppcStack_164;" type_identifier (pointer_declarator "*******pppppppcStack_164" * (pointer_declarator "******pppppppcStack_164" * (pointer_declarator "*****pppppppcStack_164" * (pointer_declarator "****pppppppcStack_164" * (pointer_declarator "***pppppppcStack_164" * (pointer_declarator "**pppppppcStack_164" * (pointer_declarator "*pppppppcStack_164" * identifier))))))) ;) (declaration "undefined *puStack_160;" type_identifier (pointer_declarator "*puStack_160" * identifier) ;) (declaration "int *piStack_15c;" primitive_type (pointer_declarator "*piStack_15c" * identifier) ;) (declaration "code ******ppppppcStack_158;" type_identifier (pointer_declarator "******ppppppcStack_158" * (pointer_declarator "*****ppppppcStack_158" * (pointer_declarator "****ppppppcStack_158" * (pointer_declarator "***ppppppcStack_158" * (pointer_declarator "**ppppppcStack_158" * (pointer_declarator "*ppppppcStack_158" * identifier)))))) ;) (declaration "code *******pppppppcStack_154;" type_identifier (pointer_declarator "*******pppppppcStack_154" * (pointer_declarator "******pppppppcStack_154" * (pointer_declarator "*****pppppppcStack_154" * (pointer_declarator "****pppppppcStack_154" * (pointer_declarator "***pppppppcStack_154" * (pointer_declarator "**pppppppcStack_154" * (pointer_declarator "*pppppppcStack_154" * identifier))))))) ;) (declaration "code ******ppppppcStack_150;" type_identifier (pointer_declarator "******ppppppcStack_150" * (pointer_declarator "*****ppppppcStack_150" * (pointer_declarator "****ppppppcStack_150" * (pointer_declarator "***ppppppcStack_150" * (pointer_declarator "**ppppppcStack_150" * (pointer_declarator "*ppppppcStack_150" * identifier)))))) ;) (declaration "undefined4 uStack_14c;" type_identifier identifier ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "undefined *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "code *****pppppcStack_120;" type_identifier (pointer_declarator "*****pppppcStack_120" * (pointer_declarator "****pppppcStack_120" * (pointer_declarator "***pppppcStack_120" * (pointer_declarator "**pppppcStack_120" * (pointer_declarator "*pppppcStack_120" * identifier))))) ;) (declaration "code ******ppppppcStack_11c;" type_identifier (pointer_declarator "******ppppppcStack_11c" * (pointer_declarator "*****ppppppcStack_11c" * (pointer_declarator "****ppppppcStack_11c" * (pointer_declarator "***ppppppcStack_11c" * (pointer_declarator "**ppppppcStack_11c" * (pointer_declarator "*ppppppcStack_11c" * identifier)))))) ;) (declaration "code *****apppppcStack_118 [7];" type_identifier (pointer_declarator "*****apppppcStack_118 [7]" * (pointer_declarator "****apppppcStack_118 [7]" * (pointer_declarator "***apppppcStack_118 [7]" * (pointer_declarator "**apppppcStack_118 [7]" * (pointer_declarator "*apppppcStack_118 [7]" * (array_declarator "apppppcStack_118 [7]" identifier [ number_literal ])))))) ;) (declaration "code ****ppppcStack_fc;" type_identifier (pointer_declarator "****ppppcStack_fc" * (pointer_declarator "***ppppcStack_fc" * (pointer_declarator "**ppppcStack_fc" * (pointer_declarator "*ppppcStack_fc" * 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 "undefined *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "code ******ppppppcStack_ec;" type_identifier (pointer_declarator "******ppppppcStack_ec" * (pointer_declarator "*****ppppppcStack_ec" * (pointer_declarator "****ppppppcStack_ec" * (pointer_declarator "***ppppppcStack_ec" * (pointer_declarator "**ppppppcStack_ec" * (pointer_declarator "*ppppppcStack_ec" * identifier)))))) ;) (declaration "code *******pppppppcStack_e8;" type_identifier (pointer_declarator "*******pppppppcStack_e8" * (pointer_declarator "******pppppppcStack_e8" * (pointer_declarator "*****pppppppcStack_e8" * (pointer_declarator "****pppppppcStack_e8" * (pointer_declarator "***pppppppcStack_e8" * (pointer_declarator "**pppppppcStack_e8" * (pointer_declarator "*pppppppcStack_e8" * identifier))))))) ;) (declaration "code ******ppppppcStack_e4;" type_identifier (pointer_declarator "******ppppppcStack_e4" * (pointer_declarator "*****ppppppcStack_e4" * (pointer_declarator "****ppppppcStack_e4" * (pointer_declarator "***ppppppcStack_e4" * (pointer_declarator "**ppppppcStack_e4" * (pointer_declarator "*ppppppcStack_e4" * identifier)))))) ;) (declaration "int iStack_e0;" primitive_type 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 "int iStack_d8;" primitive_type identifier ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code ******local_c0;" type_identifier (pointer_declarator "******local_c0" * (pointer_declarator "*****local_c0" * (pointer_declarator "****local_c0" * (pointer_declarator "***local_c0" * (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)))))) ;) (declaration "code ******local_bc;" type_identifier (pointer_declarator "******local_bc" * (pointer_declarator "*****local_bc" * (pointer_declarator "****local_bc" * (pointer_declarator "***local_bc" * (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)))))) ;) (declaration "code ******local_b8;" type_identifier (pointer_declarator "******local_b8" * (pointer_declarator "*****local_b8" * (pointer_declarator "****local_b8" * (pointer_declarator "***local_b8" * (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)))))) ;) (declaration "ushort local_8e;" type_identifier identifier ;) (declaration "code ******local_8c;" type_identifier (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))))) ;) (declaration "code ******local_88;" type_identifier (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)))))) ;) (declaration "code *******local_84;" type_identifier (pointer_declarator "*******local_84" * (pointer_declarator "******local_84" * (pointer_declarator "*****local_84" * (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))))))) ;) (declaration "code *******local_80;" type_identifier (pointer_declarator "*******local_80" * (pointer_declarator "******local_80" * (pointer_declarator "*****local_80" * (pointer_declarator "****local_80" * (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))))))) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "code *******local_78;" type_identifier (pointer_declarator "*******local_78" * (pointer_declarator "******local_78" * (pointer_declarator "*****local_78" * (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier))))))) ;) (declaration "code *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "ushort *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "code ******local_6c;" type_identifier (pointer_declarator "******local_6c" * (pointer_declarator "*****local_6c" * (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)))))) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 auStack_3c [4];" type_identifier (array_declarator "auStack_3c [4]" identifier [ number_literal ]) ;) (declaration "char local_38 [12];" primitive_type (array_declarator "local_38 [12]" identifier [ number_literal ]) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar36 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar13 = PTR_LAB_00190ba8;" (assignment_expression "puVar13 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_00190e24" * (cast_expression "(undefined **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar22 = PTR_LAB_00190bcc + 0x3260;" (assignment_expression "puVar22 = PTR_LAB_00190bcc + 0x3260" identifier = (binary_expression "PTR_LAB_00190bcc + 0x3260" identifier + number_literal)) ;) (expression_statement "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "iVar32 = (int)*(char *)(param_1 + 0x44);" (assignment_expression "iVar32 = (int)*(char *)(param_1 + 0x44)" identifier = (cast_expression "(int)*(char *)(param_1 + 0x44)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))))) ;) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + 0x74);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + 0x74)" identifier = (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x27ec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x27ec)" ( (binary_expression "PTR_LAB_00190ba8 + -0x27ec" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);" (assignment_expression "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" identifier = (cast_expression "(code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" ( (binary_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3" (call_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24)" * (cast_expression "(int *)(*(int *)(param_1 + 0x14) + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x24)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x24" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) ))) / number_literal) )))) ;) (do_statement "do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);" do (compound_statement "{\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  }" { (expression_statement "cVar10 = *(char *)(pppppppcVar33 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar33 + 3)" identifier = (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" identifier = identifier) ;) (if_statement "if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" { (expression_statement "ppppppcVar20 = (code ******)0x0;" (assignment_expression "ppppppcVar20 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (cVar10 == '\0') break;" if (parenthesized_expression "(cVar10 == '\0')" ( (binary_expression "cVar10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_84 = (code *******)0x0;" (assignment_expression "local_84 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "ppppppcVar20 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar20 = pppppppcVar33[0xd]" identifier = (subscript_expression "pppppppcVar33[0xd]" identifier [ number_literal ])) ;) (expression_statement "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);" (assignment_expression "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(pppppppcVar33[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppppcVar33[0x12])" identifier (argument_list "(pppppppcVar33[0x12])" ( (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }" { (expression_statement "param_3 = (code *******)&local_80;" (assignment_expression "param_3 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "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_80" & identifier))) ;) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "param_2 = (code *******)&local_84;" (assignment_expression "param_2 = (code *******)&local_84" identifier = (cast_expression "(code *******)&local_84" ( (type_descriptor "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_84" & identifier))) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar20);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar20)" identifier = (cast_expression "(code ******)FUN_000c8684(ppppppcVar20)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c8684(ppppppcVar20)" identifier (argument_list "(ppppppcVar20)" ( identifier ))))) ;) (if_statement "if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" if (parenthesized_expression "(local_88 != (code ******)0x0)" ( (binary_expression "local_88 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" { (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;" if (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar20 + 0x11)" ( (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd368;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd060;" goto statement_identifier ;) })) (expression_statement "param_3 = &local_88;" (assignment_expression "param_3 = &local_88" identifier = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "param_2 = local_84;" (assignment_expression "param_2 = local_84" identifier = identifier) ;) (expression_statement "FUN_000c969c(pppppppcVar33);" (call_expression "FUN_000c969c(pppppppcVar33)" identifier (argument_list "(pppppppcVar33)" ( identifier ))) ;) (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" if (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar20 + 0x11)" ( (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" { (labeled_statement "LAB_000cd368:\n          local_c0 = (code ******)&local_88;" statement_identifier : (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;)) (expression_statement "param_3 = (code *******)&DAT_00000005;" (assignment_expression "param_3 = (code *******)&DAT_00000005" identifier = (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "param_2 = local_80;" (assignment_expression "param_2 = local_80" identifier = identifier) ;) (expression_statement "FUN_000c9144(ppppppcVar20);" (call_expression "FUN_000c9144(ppppppcVar20)" identifier (argument_list "(ppppppcVar20)" ( identifier ))) ;) })) (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" identifier = identifier) ;) (if_statement "if (local_88 != (code ******)0x0) goto LAB_000cd060;" if (parenthesized_expression "(local_88 != (code ******)0x0)" ( (binary_expression "local_88 != (code ******)0x0" identifier != (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_000cd060;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" ( (cast_expression "(char *)((int)local_84 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_84 + 0x1a)" ( (binary_expression "(int)local_84 + 0x1a" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (cast_expression "(char *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 1" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" ( (binary_expression "unaff_s0 + 9" identifier + number_literal) , (binary_expression "pppppppcVar33 + 9" identifier + number_literal) , (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 2" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "puVar3 = PTR_LAB_00190bdc;" (assignment_expression "puVar3 = PTR_LAB_00190bdc" identifier = identifier) ;) (expression_statement "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);" (assignment_expression "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3)" (pointer_expression "*(char *)(unaff_s0 + 3)" * (cast_expression "(char *)(unaff_s0 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 3)" ( (binary_expression "unaff_s0 + 3" identifier + number_literal) )))) = (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);" (call_expression "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" (parenthesized_expression "(*(code *)(puVar3 + -0x3030))" ( (pointer_expression "*(code *)(puVar3 + -0x3030)" * (cast_expression "(code *)(puVar3 + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x3030)" ( (binary_expression "puVar3 + -0x3030" identifier + number_literal) )))) )) (argument_list "(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" ( identifier , (binary_expression "*(byte *)unaff_s0[0xe] & 0xf7" (pointer_expression "*(byte *)unaff_s0[0xe]" * (cast_expression "(byte *)unaff_s0[0xe]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s0[0xe]" identifier [ number_literal ]))) & number_literal) ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" identifier = (cast_expression "(undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" ( (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8" (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9)" (cast_expression "(int)pppppppcVar33[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0xe]" identifier [ number_literal ])) + (pointer_expression "*(byte *)((int)pppppppcVar33 + 9)" * (cast_expression "(byte *)((int)pppppppcVar33 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 9)" ( (binary_expression "(int)pppppppcVar33 + 9" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "param_4 = (code ******)((uint)local_80 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_80 >> 0x18)" identifier = (cast_expression "(code ******)((uint)local_80 >> 0x18)" ( (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)local_80 >> 0x18)" ( (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_3 = (code *******)((uint)local_80 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_80 >> 0x10)" identifier = (cast_expression "(code *******)((uint)local_80 >> 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)local_80 >> 0x10)" ( (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2 = (code *******)((uint)local_80 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_80 >> 8)" identifier = (cast_expression "(code *******)((uint)local_80 >> 8)" ( (type_descriptor "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)local_80 >> 8)" ( (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar5 = (char)((uint)local_80 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_80 >> 0x18)" (pointer_expression "*puVar5" * identifier) = (cast_expression "(char)((uint)local_80 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 0x18)" ( (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[1] = (char)((uint)local_80 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_80 >> 0x10)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_80 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 0x10)" ( (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[2] = (char)((uint)local_80 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_80 >> 8)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_80 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 8)" ( (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[3] = (char)local_80;" (assignment_expression "puVar5[3] = (char)local_80" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(code ********)(param_1 + 0x7c) = local_84;" (assignment_expression "*(code ********)(param_1 + 0x7c) = local_84" (pointer_expression "*(code ********)(param_1 + 0x7c)" * (cast_expression "(code ********)(param_1 + 0x7c)" ( (type_descriptor "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 "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppppcVar11 = local_84;" (assignment_expression "pppppppcVar11 = local_84" identifier = identifier) ;) }) (else_clause "else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" else (compound_statement "{\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" { (labeled_statement "LAB_000cd060:\n        unaff_s0 = local_84;" statement_identifier : (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(param_1 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x7c)" * (cast_expression "(undefined4 *)(param_1 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;" if (parenthesized_expression "((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))" ( (binary_expression "(local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" (parenthesized_expression "(local_84 == (code *******)0x0)" ( (binary_expression "local_84 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" ( (comma_expression "(*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0" (call_expression "(*pcVar25)(local_84[0x12])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(local_84[0x12])" ( (subscript_expression "local_84[0x12]" identifier [ number_literal ]) ))) , (comma_expression "ppppppcVar20 = local_88, local_88 != (code ******)0x0" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) , (binary_expression "local_88 != (code ******)0x0" identifier != (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)))) ))) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar11 = *(code ********)(param_1 + 0x7c);" (assignment_expression "pppppppcVar11 = *(code ********)(param_1 + 0x7c)" identifier = (pointer_expression "*(code ********)(param_1 + 0x7c)" * (cast_expression "(code ********)(param_1 + 0x7c)" ( (type_descriptor "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 "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) }))) (expression_statement "*(code ********)(param_1 + 0x78) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x78) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x78)" * (cast_expression "(code ********)(param_1 + 0x78)" ( (type_descriptor "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 "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x46) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x46) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x46)" * (cast_expression "(undefined2 *)(param_1 + 0x46)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x46)" ( (binary_expression "param_1 + 0x46" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x44)" * (cast_expression "(undefined1 *)(param_1 + 0x44)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x48) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x48) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x48)" * (cast_expression "(undefined2 *)(param_1 + 0x48)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar11;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar11" (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar10 = *(char *)(pppppppcVar11 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar11 + 3)" identifier = (pointer_expression "*(char *)(pppppppcVar11 + 3)" * (cast_expression "(char *)(pppppppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar11 + 3)" ( (binary_expression "pppppppcVar11 + 3" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" identifier = identifier) ;) (expression_statement "pppppppcVar33 = pppppppcVar11;" (assignment_expression "pppppppcVar33 = pppppppcVar11" identifier = identifier) ;) })) (if_statement "if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;" if (parenthesized_expression "((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28))" ( (binary_expression "(cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" (parenthesized_expression "(cVar10 == '\0')" ( (binary_expression "cVar10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" ( (comma_expression "param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "param_2 = pppppppcVar7" identifier = identifier) , (comma_expression "ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "ppppppcVar20 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) , (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5)" (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 "(ushort *)(pppppppcVar33 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 5)" ( (binary_expression "pppppppcVar33 + 5" identifier + number_literal) )))) <= identifier))) ))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);" (assignment_expression "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4)" identifier = (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1d) * 4)" * (cast_expression "(code ********)(param_1 + (iVar32 + 0x1d) * 4)" ( (type_descriptor "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 "(param_1 + (iVar32 + 0x1d) * 4)" ( (binary_expression "param_1 + (iVar32 + 0x1d) * 4" identifier + (binary_expression "(iVar32 + 0x1d) * 4" (parenthesized_expression "(iVar32 + 0x1d)" ( (binary_expression "iVar32 + 0x1d" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);" (assignment_expression "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" identifier = (binary_expression "(code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" (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 *)(param_1 + (iVar32 + 0x23) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (iVar32 + 0x23) * 2)" ( (binary_expression "param_1 + (iVar32 + 0x23) * 2" identifier + (binary_expression "(iVar32 + 0x23) * 2" (parenthesized_expression "(iVar32 + 0x23)" ( (binary_expression "iVar32 + 0x23" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(unaff_s0[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(unaff_s0[0x12])" identifier (argument_list "(unaff_s0[0x12])" ( (subscript_expression "unaff_s0[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" if (parenthesized_expression "(ppppppcVar20 != (code ******)0x0)" ( (binary_expression "ppppppcVar20 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" { (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*pcVar4)(pppppppcVar33[0x12]);" (call_expression "(*pcVar4)(pppppppcVar33[0x12])" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(pppppppcVar33[0x12])" ( (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" identifier = (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);" (assignment_expression "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" (pointer_expression "*(undefined4 *)(param_1 + 0x74)" * (cast_expression "(undefined4 *)(param_1 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" * (cast_expression "(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (cVar10 + 0x1e) * 4)" ( (binary_expression "param_1 + (cVar10 + 0x1e) * 4" identifier + (binary_expression "(cVar10 + 0x1e) * 4" (parenthesized_expression "(cVar10 + 0x1e)" ( (binary_expression "cVar10 + 0x1e" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "param_2 = pppppppcVar7;" (assignment_expression "param_2 = pppppppcVar7" identifier = identifier) ;) (break_statement "break;" break ;) })) (if_statement "if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" if (parenthesized_expression "((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))))" ( (binary_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" (parenthesized_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)))" ( (binary_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" (parenthesized_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1))" ( (binary_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" (parenthesized_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0')" ( (binary_expression "*(char *)((int)pppppppcVar33 + 3) == '\0'" (pointer_expression "*(char *)((int)pppppppcVar33 + 3)" * (cast_expression "(char *)((int)pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 3)" ( (binary_expression "(int)pppppppcVar33 + 3" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" ( (comma_expression "bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1" (assignment_expression "bVar1 = *(byte *)(pppppppcVar33 + 3)" identifier = (pointer_expression "*(byte *)(pppppppcVar33 + 3)" * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) , (binary_expression "bVar1 != 1" identifier != number_literal)) ))) )) || (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" ( (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(short *)((int)pppppppcVar33 + 0x16)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x16)" ( (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" ( (parenthesized_expression "(unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))" ( (binary_expression "unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" (binary_expression "unaff_s0[1] == (code ******)0x1" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) == (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (parenthesized_expression "((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" ( (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2" (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16)" (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 *)((int)unaff_s0 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 0x16)" ( (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != identifier) ))) )) ))) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));" (assignment_expression "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" identifier = (cast_expression "(code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" ( (type_descriptor "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 "(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x20" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) ))))) ;) (expression_statement "param_4 = (code ******)(uint)(iVar32 == 1);" (assignment_expression "param_4 = (code ******)(uint)(iVar32 == 1)" identifier = (cast_expression "(code ******)(uint)(iVar32 == 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(iVar32 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 == 1)" ( (binary_expression "iVar32 == 1" identifier == number_literal) ))))) ;) (expression_statement "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);" (assignment_expression "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1)" identifier = (cast_expression "(code ******)(*(byte *)(param_1 + 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 "*" *))))))) ) (parenthesized_expression "(*(byte *)(param_1 + 3) & 1)" ( (binary_expression "*(byte *)(param_1 + 3) & 1" (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "param_3 = pppppppcVar7;" (assignment_expression "param_3 = pppppppcVar7" identifier = identifier) ;) (expression_statement "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0)" identifier = (cast_expression "(code ******)FUN_000cb308(unaff_s0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cb308(unaff_s0)" identifier (argument_list "(unaff_s0)" ( identifier ))))) ;) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" if (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar29 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" { (expression_statement "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(puVar13 + 0x4e2c))" ( (pointer_expression "*(code *)(puVar13 + 0x4e2c)" * (cast_expression "(code *)(puVar13 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x4e2c)" ( (binary_expression "puVar13 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(pppppppcVar29)" ( identifier ))) ;) })) (labeled_statement "LAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];" statement_identifier : (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;)) (expression_statement "pppppppcVar29 = pppppppcVar7;" (assignment_expression "pppppppcVar29 = pppppppcVar7" identifier = identifier) ;) }) (else_clause "else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" else (compound_statement "{\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" { (if_statement "if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" if (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != 0)" ( (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != 0" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar16 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0xd]" identifier = (subscript_expression "pppppppcVar33[0xd]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (code *******)&local_84;" (assignment_expression "param_3 = (code *******)&local_84" identifier = (cast_expression "(code *******)&local_84" ( (type_descriptor "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_84" & identifier))) ;) (expression_statement "param_2 = &local_8c;" (assignment_expression "param_2 = &local_8c" identifier = (pointer_expression "&local_8c" & identifier)) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar16);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar16)" identifier = (cast_expression "(code ******)FUN_000c8684(ppppppcVar16)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c8684(ppppppcVar16)" identifier (argument_list "(ppppppcVar16)" ( identifier ))))) ;) (expression_statement "pppppppcVar7 = pppppppcVar29;" (assignment_expression "pppppppcVar7 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" { (expression_statement "local_80 = (code *******)pppppppcVar33[9];" (assignment_expression "local_80 = (code *******)pppppppcVar33[9]" identifier = (cast_expression "(code *******)pppppppcVar33[9]" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppcVar33[9]" identifier [ number_literal ]))) ;) (expression_statement "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);" (assignment_expression "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33)" identifier = (call_expression "(*(code *)pppppppcVar33[0x13])(pppppppcVar33)" (parenthesized_expression "(*(code *)pppppppcVar33[0x13])" ( (pointer_expression "*(code *)pppppppcVar33[0x13]" * (cast_expression "(code *)pppppppcVar33[0x13]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppcVar33[0x13]" identifier [ number_literal ]))) )) (argument_list "(pppppppcVar33)" ( identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);" (call_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0x3030)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0x3030)" ( (binary_expression "PTR_LAB_00190bdc + -0x3030" identifier + number_literal) )))) )) (argument_list "(local_8c,0xd)" ( identifier , number_literal ))) ;) (expression_statement "param_3 = (code *******)0x1;" (assignment_expression "param_3 = (code *******)0x1" identifier = (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "param_2 = (code *******)0x0;" (assignment_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)) ;) (expression_statement "local_6c = pppppppcVar33[0xf];" (assignment_expression "local_6c = pppppppcVar33[0xf]" identifier = (subscript_expression "pppppppcVar33[0xf]" identifier [ number_literal ])) ;) (expression_statement "local_74 = (code *******)&local_80;" (assignment_expression "local_74 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "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_80" & identifier))) ;) (expression_statement "local_70 = &local_8e;" (assignment_expression "local_70 = &local_8e" identifier = (pointer_expression "&local_8e" & identifier)) ;) (expression_statement "local_54 = 2;" (assignment_expression "local_54 = 2" identifier = number_literal) ;) (expression_statement "param_4 = local_8c;" (assignment_expression "param_4 = local_8c" identifier = identifier) ;) (expression_statement "local_7c = (uint)bVar1;" (assignment_expression "local_7c = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_78 = pppppppcVar33;" (assignment_expression "local_78 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);" (assignment_expression "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" identifier = (cast_expression "(code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0xf50)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0xf50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0xf50)" ( (binary_expression "PTR_LAB_00190bdc + -0xf50" identifier + number_literal) )))) )) (argument_list "(&local_7c)" ( (pointer_expression "&local_7c" & identifier) ))))) ;) (expression_statement "local_88 = ppppppcVar20;" (assignment_expression "local_88 = ppppppcVar20" identifier = identifier) ;) (if_statement "if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" ( (binary_expression "ppppppcVar20 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }" { (expression_statement "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];" (assignment_expression "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (pointer_expression "*(ushort *)(local_8c + 5)" * (cast_expression "(ushort *)(local_8c + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c + 5)" ( (binary_expression "local_8c + 5" identifier + number_literal) )))) = (binary_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (parenthesized_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12))" ( (binary_expression "(-2 - local_8e) - *(short *)((int)local_8c + 0x12)" (parenthesized_expression "(-2 - local_8e)" ( (binary_expression "-2 - local_8e" number_literal - identifier) )) - (pointer_expression "*(short *)((int)local_8c + 0x12)" * (cast_expression "(short *)((int)local_8c + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 0x12)" ( (binary_expression "(int)local_8c + 0x12" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) + (cast_expression "(short)ppppppcVar16[9]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "ppppppcVar16[9]" identifier [ number_literal ])))) ;) (if_statement "if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" if (parenthesized_expression "(*(char *)((int)ppppppcVar16 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar16 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar16 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar16 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar16 + 0x11)" ( (binary_expression "(int)ppppppcVar16 + 0x11" (cast_expression "(int)ppppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" { (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;) (expression_statement "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);" (call_expression "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1])" identifier (argument_list "(ppppppcVar16,local_84,5,unaff_s0[1])" ( identifier , identifier , number_literal , (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) ))) ;) (if_statement "if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" if (parenthesized_expression "(*(ushort *)(local_8c + 4) < local_8e)" ( (binary_expression "*(ushort *)(local_8c + 4) < local_8e" (pointer_expression "*(ushort *)(local_8c + 4)" * (cast_expression "(ushort *)(local_8c + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c + 4)" ( (binary_expression "local_8c + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" { (expression_statement "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);" (call_expression "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88)" identifier (argument_list "(local_8c,local_8c + 0xf,local_80,&local_88)" ( identifier , (binary_expression "local_8c + 0xf" identifier + number_literal) , identifier , (pointer_expression "&local_88" & identifier) ))) ;) })) })) (expression_statement "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));" (assignment_expression "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" identifier = (cast_expression "(code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" ( (type_descriptor "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)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" ( (binary_expression "(int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (cast_expression "(int)pppppppcVar33[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0xe]" identifier [ number_literal ])) + (call_expression "(uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" ( (binary_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)" (pointer_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" * (cast_expression "(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" ( (binary_expression "(int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (cast_expression "(int)pppppppcVar33[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0x10]" identifier [ number_literal ])) + (binary_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (parenthesized_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1)" ( (binary_expression "*(ushort *)((int)pppppppcVar33 + 0x16) - 1" (pointer_expression "*(ushort *)((int)pppppppcVar33 + 0x16)" * (cast_expression "(ushort *)((int)pppppppcVar33 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x16)" ( (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal) )) * number_literal)) )))) & (pointer_expression "*(ushort *)(pppppppcVar33 + 6)" * (cast_expression "(ushort *)(pppppppcVar33 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 6)" ( (binary_expression "pppppppcVar33 + 6" identifier + number_literal) ))))) )))) )))) ;) (expression_statement "pppppppcVar29 = pppppppcVar11;" (assignment_expression "pppppppcVar29 = pppppppcVar11" identifier = identifier) ;) (do_statement "do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);" do (compound_statement "{\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            }" { (expression_statement "pppppppcVar12 = pppppppcVar29;" (assignment_expression "pppppppcVar12 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar12 + 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)pppppppcVar12 + 1)" ( (binary_expression "(int)pppppppcVar12 + 1" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (-1 < *(char *)pppppppcVar12) break;" if (parenthesized_expression "(-1 < *(char *)pppppppcVar12)" ( (binary_expression "-1 < *(char *)pppppppcVar12" number_literal < (pointer_expression "*(char *)pppppppcVar12" * (cast_expression "(char *)pppppppcVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29)" ( (binary_expression "(code *******)((int)pppppppcVar11 + 9) != pppppppcVar29" (cast_expression "(code *******)((int)pppppppcVar11 + 9)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar11 + 9)" ( (binary_expression "(int)pppppppcVar11 + 9" (cast_expression "(int)pppppppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) != identifier) )) ;) (expression_statement "pcVar18 = local_38;" (assignment_expression "pcVar18 = local_38" identifier = identifier) ;) (do_statement "do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));" do (compound_statement "{\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            }" { (expression_statement "local_80 = (code *******)((int)pppppppcVar29 + 1);" (assignment_expression "local_80 = (code *******)((int)pppppppcVar29 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 1)" ( (binary_expression "(int)pppppppcVar29 + 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar19 = pcVar18 + 1;" (assignment_expression "pcVar19 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "cVar10 = *(char *)pppppppcVar29;" (assignment_expression "cVar10 = *(char *)pppppppcVar29" identifier = (pointer_expression "*(char *)pppppppcVar29" * (cast_expression "(char *)pppppppcVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*pcVar18 = cVar10;" (assignment_expression "*pcVar18 = cVar10" (pointer_expression "*pcVar18" * identifier) = identifier) ;) (if_statement "if (-1 < cVar10) break;" if (parenthesized_expression "(-1 < cVar10)" ( (binary_expression "-1 < cVar10" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar29 = local_80;" (assignment_expression "pppppppcVar29 = local_80" identifier = identifier) ;) (expression_statement "pcVar18 = pcVar19;" (assignment_expression "pcVar18 = pcVar19" identifier = identifier) ;) }) while (parenthesized_expression "(local_80 < (code *******)((int)pppppppcVar12 + 10))" ( (binary_expression "local_80 < (code *******)((int)pppppppcVar12 + 10)" identifier < (cast_expression "(code *******)((int)pppppppcVar12 + 10)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar12 + 10)" ( (binary_expression "(int)pppppppcVar12 + 10" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) ;) (if_statement "if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" { (expression_statement "local_bc = pppppppcVar33[1];" (assignment_expression "local_bc = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b8 = (code ******)&local_88;" (assignment_expression "local_b8 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;) (expression_statement "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);" (call_expression "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" identifier (argument_list "(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" ( identifier , (pointer_expression "*(undefined2 *)((int)unaff_s0 + 0x16)" * (cast_expression "(undefined2 *)((int)unaff_s0 + 0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 0x16)" ( (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , (binary_expression "(int)pcVar19 - (int)auStack_3c" (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)auStack_3c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" identifier = (pointer_expression "*(byte *)((int)unaff_s0 + 9)" * (cast_expression "(byte *)((int)unaff_s0 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 9)" ( (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" else (compound_statement "{\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" { (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" identifier = (pointer_expression "*(byte *)((int)unaff_s0 + 9)" * (cast_expression "(byte *)((int)unaff_s0 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 9)" ( (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" identifier = (cast_expression "(undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0[0xe] + bVar1 + 8)" ( (binary_expression "(int)unaff_s0[0xe] + bVar1 + 8" (binary_expression "(int)unaff_s0[0xe] + bVar1" (cast_expression "(int)unaff_s0[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s0[0xe]" identifier [ number_literal ])) + identifier) + number_literal) )))) ;) (expression_statement "param_4 = (code ******)((uint)local_84 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_84 >> 0x18)" identifier = (cast_expression "(code ******)((uint)local_84 >> 0x18)" ( (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)local_84 >> 0x18)" ( (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_3 = (code *******)((uint)local_84 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_84 >> 0x10)" identifier = (cast_expression "(code *******)((uint)local_84 >> 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)local_84 >> 0x10)" ( (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2 = (code *******)((uint)local_84 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_84 >> 8)" identifier = (cast_expression "(code *******)((uint)local_84 >> 8)" ( (type_descriptor "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)local_84 >> 8)" ( (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar5 = (char)((uint)local_84 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_84 >> 0x18)" (pointer_expression "*puVar5" * identifier) = (cast_expression "(char)((uint)local_84 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 0x18)" ( (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[1] = (char)((uint)local_84 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_84 >> 0x10)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_84 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 0x10)" ( (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[2] = (char)((uint)local_84 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_84 >> 8)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_84 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 8)" ( (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[3] = (char)local_84;" (assignment_expression "puVar5[3] = (char)local_84" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (cast_expression "(char)local_84" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if (local_8c == (code ******)0x0) goto LAB_000cd308;" if (parenthesized_expression "(local_8c == (code ******)0x0)" ( (binary_expression "local_8c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;)) }) (else_clause "else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" else (if_statement "if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(local_8c == (code ******)0x0)" ( (binary_expression "local_8c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" { (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000cd310;" goto statement_identifier ;) })))) (expression_statement "(*pcVar25)(local_8c[0x12]);" (call_expression "(*pcVar25)(local_8c[0x12])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(local_8c[0x12])" ( (subscript_expression "local_8c[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) })) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;) })) (expression_statement "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);" (assignment_expression "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" ( (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)&__DT_SYMTAB[0x5e].st_name + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0x5e].st_name + 3" (cast_expression "(int)&__DT_SYMTAB[0x5e].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x5e].st_name" & (field_expression "__DT_SYMTAB[0x5e].st_name" (subscript_expression "__DT_SYMTAB[0x5e]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);" (assignment_expression "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c)" identifier = (cast_expression "(code ******)(PTR_LAB_00190958 + 0x625c)" ( (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 "(PTR_LAB_00190958 + 0x625c)" ( (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) )))) ;) (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar20 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';" statement_identifier : (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "(*pcVar25)(ppppppcVar16);" (call_expression "(*pcVar25)(ppppppcVar16)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar16)" ( identifier ))) ;) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" identifier = (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar32 = (int)cVar10;" (assignment_expression "iVar32 = (int)cVar10" identifier = (cast_expression "(int)cVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4)" identifier = (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1e) * 4)" * (cast_expression "(code ********)(param_1 + (iVar32 + 0x1e) * 4)" ( (type_descriptor "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 "(param_1 + (iVar32 + 0x1e) * 4)" ( (binary_expression "param_1 + (iVar32 + 0x1e) * 4" identifier + (binary_expression "(iVar32 + 0x1e) * 4" (parenthesized_expression "(iVar32 + 0x1e)" ( (binary_expression "iVar32 + 0x1e" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" ( (binary_expression "ppppppcVar20 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" if (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar29 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x4e2c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x4e2c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(pppppppcVar29)" ( identifier ))) ;) })) (if_statement "if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }" if (parenthesized_expression "(local_2c == *(undefined **)puVar36)" ( (binary_expression "local_2c == *(undefined **)puVar36" identifier == (pointer_expression "*(undefined **)puVar36" * (cast_expression "(undefined **)puVar36" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return ppppppcVar20;\n  }" { (return_statement "return ppppppcVar20;" return identifier ;) })) (expression_statement "pcVar4 = FUN_000cd690;" (assignment_expression "pcVar4 = FUN_000cd690" identifier = identifier) ;) (expression_statement "puVar13 = local_2c;" (assignment_expression "puVar13 = local_2c" identifier = identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar36 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_130 = puVar36 + 0xcb290;" (assignment_expression "puStack_130 = puVar36 + 0xcb290" identifier = (binary_expression "puVar36 + 0xcb290" identifier + number_literal)) ;) (expression_statement "piVar26 = *(int **)(puVar36 + 0xc3794);" (assignment_expression "piVar26 = *(int **)(puVar36 + 0xc3794)" identifier = (pointer_expression "*(int **)(puVar36 + 0xc3794)" * (cast_expression "(int **)(puVar36 + 0xc3794)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xc3794)" ( (binary_expression "puVar36 + 0xc3794" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_fc = (code ****)*piVar26;" (assignment_expression "ppppcStack_fc = (code ****)*piVar26" identifier = (cast_expression "(code ****)*piVar26" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar26" * identifier))) ;) (expression_statement "pppppppcStack_f8 = unaff_s0;" (assignment_expression "pppppppcStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_f4 = puVar22;" (assignment_expression "puStack_f4 = puVar22" identifier = identifier) ;) (expression_statement "pcStack_f0 = pcVar25;" (assignment_expression "pcStack_f0 = pcVar25" identifier = identifier) ;) (expression_statement "ppppppcStack_ec = ppppppcVar28;" (assignment_expression "ppppppcStack_ec = ppppppcVar28" identifier = identifier) ;) (expression_statement "pppppppcStack_e8 = pppppppcVar29;" (assignment_expression "pppppppcStack_e8 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_e4 = ppppppcVar20;" (assignment_expression "ppppppcStack_e4 = ppppppcVar20" identifier = identifier) ;) (expression_statement "iStack_e0 = iVar32;" (assignment_expression "iStack_e0 = iVar32" identifier = identifier) ;) (expression_statement "pppppppcStack_dc = pppppppcVar33;" (assignment_expression "pppppppcStack_dc = pppppppcVar33" identifier = identifier) ;) (expression_statement "iStack_d8 = param_1;" (assignment_expression "iStack_d8 = param_1" identifier = identifier) ;) (expression_statement "pcStack_d4 = pcVar4;" (assignment_expression "pcStack_d4 = pcVar4" identifier = identifier) ;) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" identifier = identifier) ;) (if_statement "if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" if (parenthesized_expression "(*(code ********)(puVar13 + 0x2c) < param_2)" ( (binary_expression "*(code ********)(puVar13 + 0x2c) < param_2" (pointer_expression "*(code ********)(puVar13 + 0x2c)" * (cast_expression "(code ********)(puVar13 + 0x2c)" ( (type_descriptor "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 "(puVar13 + 0x2c)" ( (binary_expression "puVar13 + 0x2c" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }" { (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_name + 2" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_name" & (field_expression "__DT_SYMTAB[0xd5].st_name" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c" identifier = (binary_expression "*(int *)(puVar36 + 0xc32c8) + 0x625c" (pointer_expression "*(int *)(puVar36 + 0xc32c8)" * (cast_expression "(int *)(puVar36 + 0xc32c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32c8)" ( (binary_expression "puVar36 + 0xc32c8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" identifier = (cast_expression "(code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" ( (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 *)(puVar36 + 0xc32cc) + -0x5e64)" ( (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x5e64" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" * (cast_expression "(int *)(puVar36 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32cc)" ( (binary_expression "puVar36 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" identifier = (cast_expression "(code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" ( (type_descriptor "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 *)(puVar36 + 0xc32cc) + -0x6378)" ( (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x6378" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" * (cast_expression "(int *)(puVar36 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32cc)" ( (binary_expression "puVar36 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar36 + 0xc3550))(0xb);" (call_expression "(**(code **)(puVar36 + 0xc3550))(0xb)" (parenthesized_expression "(**(code **)(puVar36 + 0xc3550))" ( (pointer_expression "**(code **)(puVar36 + 0xc3550)" * (pointer_expression "*(code **)(puVar36 + 0xc3550)" * (cast_expression "(code **)(puVar36 + 0xc3550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xc3550)" ( (binary_expression "puVar36 + 0xc3550" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "puVar13 = puVar22;" (assignment_expression "puVar13 = puVar22" identifier = identifier) ;) (expression_statement "param_4 = ppppppcVar28;" (assignment_expression "param_4 = ppppppcVar28" identifier = identifier) ;) (expression_statement "ppppppcVar28 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) }) (else_clause "else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" else (compound_statement "{\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" { (expression_statement "ppppppcVar16 = &pppppcStack_120;" (assignment_expression "ppppppcVar16 = &pppppcStack_120" identifier = (pointer_expression "&pppppcStack_120" & identifier)) ;) (expression_statement "iStack_138 = 0;" (assignment_expression "iStack_138 = 0" identifier = number_literal) ;) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();" (assignment_expression "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" identifier = (cast_expression "(code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))" ( (pointer_expression "*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" * (cast_expression "(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar36 + 0xc354c) + -0x267c)" ( (binary_expression "*(int *)(puVar36 + 0xc354c) + -0x267c" (pointer_expression "*(int *)(puVar36 + 0xc354c)" * (cast_expression "(int *)(puVar36 + 0xc354c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc354c)" ( (binary_expression "puVar36 + 0xc354c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" { (if_statement "if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" if (parenthesized_expression "(*(char *)((int)pppppcStack_120 + 1) == '\0')" ( (binary_expression "*(char *)((int)pppppcStack_120 + 1) == '\0'" (pointer_expression "*(char *)((int)pppppcStack_120 + 1)" * (cast_expression "(char *)((int)pppppcStack_120 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }" { (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 1;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 1" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" * (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);" (assignment_expression "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9)" identifier = (binary_expression "(uint)*(byte *)((int)pppppcStack_120 + 9)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppcStack_120 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 9)" ( (binary_expression "(int)pppppcStack_120 + 9" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" if (parenthesized_expression "(*(short *)((int)pppppcStack_120 + 0x16) == 0)" ( (binary_expression "*(short *)((int)pppppcStack_120 + 0x16) == 0" (pointer_expression "*(short *)((int)pppppcStack_120 + 0x16)" * (cast_expression "(short *)((int)pppppcStack_120 + 0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 0x16)" ( (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar41 = 0;\n        }" { (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" else (compound_statement "{\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" { (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "ppppppcVar20 = apppppcStack_118;" (assignment_expression "ppppppcVar20 = apppppcStack_118" identifier = identifier) ;) (expression_statement "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;" (assignment_expression "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970" identifier = (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x2970" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);" (assignment_expression "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" identifier = (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" ( (type_descriptor "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_130 + -0x7d64) + -0x5428)" ( (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x5428" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);" do (compound_statement "{\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          }" { (expression_statement "ppppppcStack_11c = (code ******)0x0;" (assignment_expression "ppppppcStack_11c = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));" (assignment_expression "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" identifier = (cast_expression "(code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" ( (type_descriptor "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)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" ( (binary_expression "(int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + (call_expression "(uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" ( (binary_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)" (pointer_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" * (cast_expression "(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" ( (binary_expression "(int)pppppppcVar29 + (int)pppppcStack_120[0x10]" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppcStack_120[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0x10]" identifier [ number_literal ]))) )))) & (pointer_expression "*(ushort *)(pppppcStack_120 + 6)" * (cast_expression "(ushort *)(pppppcStack_120 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 6)" ( (binary_expression "pppppcStack_120 + 6" identifier + number_literal) ))))) )))) )))) ;) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" if (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" ( (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" * (cast_expression "(char *)(pppppcStack_120 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 2)" ( (binary_expression "pppppcStack_120 + 2" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" { (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "uVar41 = (int)pppppppcVar33 + 3U & 3;" (assignment_expression "uVar41 = (int)pppppppcVar33 + 3U & 3" identifier = (binary_expression "(int)pppppppcVar33 + 3U & 3" (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal)) ;) (expression_statement "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);" (assignment_expression "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" identifier = (cast_expression "(code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" ( (type_descriptor "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 *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" ( (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8" (pointer_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" * (cast_expression "(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" ( (binary_expression "(int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)pppppppcVar33 & 3)" ( (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )))) << (binary_expression "((uint)pppppppcVar33 & 3) * 8" (parenthesized_expression "((uint)pppppppcVar33 & 3)" ( (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) & (binary_expression "-1 << (uVar41 + 1) * 8" number_literal << (binary_expression "(uVar41 + 1) * 8" (parenthesized_expression "(uVar41 + 1)" ( (binary_expression "uVar41 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (pointer_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" * (cast_expression "(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((char *)((int)pppppppcVar33 + 3U) + -uVar41)" ( (binary_expression "(char *)((int)pppppppcVar33 + 3U) + -uVar41" (cast_expression "(char *)((int)pppppppcVar33 + 3U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 3U)" ( (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (unary_expression "-uVar41" - identifier)) )))) >> (binary_expression "(3 - uVar41) * 8" (parenthesized_expression "(3 - uVar41)" ( (binary_expression "3 - uVar41" number_literal - identifier) )) * number_literal))) )))) ;) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" identifier = (cast_expression "(code ******)FUN_000cd690(puVar13)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cd690(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))))) ;) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" if (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" ( (binary_expression "ppppppcStack_11c != (code ******)0x0" identifier != (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_000cd7ec;" goto statement_identifier ;)) })) (expression_statement "param_2 = pppppppcVar33;" (assignment_expression "param_2 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cabd8();" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cabd8()" identifier = (cast_expression "(code ******)FUN_000cabd8()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cabd8()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" if (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" ( (binary_expression "ppppppcStack_11c != (code ******)0x0" identifier != (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_000cd7ec;" goto statement_identifier ;)) (expression_statement "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);" (assignment_expression "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16)" identifier = (binary_expression "(uint)*(ushort *)((int)pppppcStack_120 + 0x16)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)pppppcStack_120 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 0x16)" ( (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2)" identifier = (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 2)" ( (binary_expression "(int)pppppppcVar29 + 2" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar23 < (int)uVar41)" ( (binary_expression "iVar23 < (int)uVar41" identifier < (cast_expression "(int)uVar41" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" if (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" ( (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" * (cast_expression "(char *)(pppppcStack_120 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 2)" ( (binary_expression "pppppcStack_120 + 2" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }" { (expression_statement "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);" (assignment_expression "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" identifier = (pointer_expression "*(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" * (cast_expression "(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" ( (type_descriptor "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 "((int)pppppcStack_120[0xe] + uStack_124 + 8)" ( (binary_expression "(int)pppppcStack_120[0xe] + uStack_124 + 8" (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + identifier) + number_literal) ))))) ;) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" identifier = (cast_expression "(code ******)FUN_000cd690(puVar13)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cd690(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))))) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" { (expression_statement "ppppppcVar28 = (code ******)0x0;" (assignment_expression "ppppppcVar28 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;" if (parenthesized_expression "(pppppppcStack_c8 != (code *******)0x0)" ( (binary_expression "pppppppcStack_c8 != (code *******)0x0" identifier != (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_000cd958;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd96c;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" else (compound_statement "{\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" { (if_statement "if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\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 "*" *))))))) ) number_literal)) )) (compound_statement "{\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }" { (expression_statement "*param_4 = (code *****)((int)*param_4 + uVar41);" (assignment_expression "*param_4 = (code *****)((int)*param_4 + uVar41)" (pointer_expression "*param_4" * identifier) = (cast_expression "(code *****)((int)*param_4 + uVar41)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*param_4 + uVar41)" ( (binary_expression "(int)*param_4 + uVar41" (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier)) + identifier) )))) ;) })) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" if (parenthesized_expression "(pppppppcStack_c8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_c8 == (code *******)0x0" identifier == (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_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }" { (labeled_statement "LAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;" statement_identifier : (expression_statement "ppppppcStack_11c = ppppppcVar28;" (assignment_expression "ppppppcStack_11c = ppppppcVar28" identifier = identifier) ;)) (expression_statement "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(pppppcStack_120[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppcStack_120[0x12])" identifier (argument_list "(pppppcStack_120[0x12])" ( (subscript_expression "pppppcStack_120[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" { (expression_statement "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124)" identifier = (cast_expression "(code ******)((int)pppppcStack_120[0xe] + uStack_124)" ( (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)pppppcStack_120[0xe] + uStack_124)" ( (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);" (assignment_expression "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8)" identifier = (cast_expression "(code *******)(*(byte *)ppppppcVar20 | 8)" ( (type_descriptor "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 "(*(byte *)ppppppcVar20 | 8)" ( (binary_expression "*(byte *)ppppppcVar20 | 8" (pointer_expression "*(byte *)ppppppcVar20" * (cast_expression "(byte *)ppppppcVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal) )))) ;) (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120)" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (binary_expression "*(int *)(puStack_130 + -0x7d44) + -0x3030" (pointer_expression "*(int *)(puStack_130 + -0x7d44)" * (cast_expression "(int *)(puStack_130 + -0x7d44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d44)" ( (binary_expression "puStack_130 + -0x7d44" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppcStack_120)" ( identifier ))) ;) })) }) (else_clause "else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" else (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" { (labeled_statement "LAB_000cd958:\n            param_2 = &ppppppcStack_11c;" statement_identifier : (expression_statement "param_2 = &ppppppcStack_11c;" (assignment_expression "param_2 = &ppppppcStack_11c" identifier = (pointer_expression "&ppppppcStack_11c" & identifier)) ;)) (expression_statement "FUN_000cae98();" (call_expression "FUN_000cae98()" identifier (argument_list "()" ( ))) ;) })))) }))) }) (else_clause "else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" else (compound_statement "{\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" { (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" ( (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)&__DT_SYMTAB[0xd5].st_value + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_value + 3" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_value" & (field_expression "__DT_SYMTAB[0xd5].st_value" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(puStack_130 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(puStack_130 + -0x7fc8)" * (cast_expression "(int *)(puStack_130 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc8)" ( (binary_expression "puStack_130 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (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 *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" ( (type_descriptor "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_130 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_130 + -0x7d40))(0xb);" (call_expression "(**(code **)(puStack_130 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(puStack_130 + -0x7d40))" ( (pointer_expression "**(code **)(puStack_130 + -0x7d40)" * (pointer_expression "*(code **)(puStack_130 + -0x7d40)" * (cast_expression "(code **)(puStack_130 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7d40)" ( (binary_expression "puStack_130 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppcStack_11c = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcStack_11c = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) }))) (labeled_statement "LAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;" statement_identifier : (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 0" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" * (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" if (parenthesized_expression "(pppppcStack_120 != (code *****)0x0)" ( (binary_expression "pppppcStack_120 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" { (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12])" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(puStack_130 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_130 + -0x7de0)" * (cast_expression "(int *)(puStack_130 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7de0)" ( (binary_expression "puStack_130 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppcStack_120[0x12])" ( (subscript_expression "pppppcStack_120[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) })) })) }))) (if_statement "if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }" if (parenthesized_expression "(ppppcStack_fc == (code ****)*piVar26)" ( (binary_expression "ppppcStack_fc == (code ****)*piVar26" identifier == (cast_expression "(code ****)*piVar26" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n    return ppppppcVar28;\n  }" { (return_statement "return ppppppcVar28;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_130 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_130 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_130 + -0x7b28)" * (cast_expression "(code **)(puStack_130 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7b28)" ( (binary_expression "puStack_130 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = 0xcd9d0;" (assignment_expression "uVar39 = 0xcd9d0" identifier = number_literal) ;) (expression_statement "ppppcVar38 = ppppcStack_fc;" (assignment_expression "ppppcVar38 = ppppcStack_fc" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);" (assignment_expression "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50)" identifier = (cast_expression "(code ******)(pcVar4 + 0xcaf50)" ( (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 "(pcVar4 + 0xcaf50)" ( (binary_expression "pcVar4 + 0xcaf50" identifier + number_literal) )))) ;) (expression_statement "piVar27 = *(int **)(pcVar4 + 0xc3454);" (assignment_expression "piVar27 = *(int **)(pcVar4 + 0xc3454)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xc3454)" * (cast_expression "(int **)(pcVar4 + 0xc3454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xc3454)" ( (binary_expression "pcVar4 + 0xc3454" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_170 = (code *****)0x0;" (assignment_expression "pppppcStack_170 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_16c = *piVar27;" (assignment_expression "iStack_16c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "ppppppcVar21 = ppppppcVar16;" (assignment_expression "ppppppcVar21 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_164 = unaff_s0;" (assignment_expression "pppppppcStack_164 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_160 = puVar13;" (assignment_expression "puStack_160 = puVar13" identifier = identifier) ;) (expression_statement "piStack_15c = piVar26;" (assignment_expression "piStack_15c = piVar26" identifier = identifier) ;) (expression_statement "ppppppcStack_158 = param_4;" (assignment_expression "ppppppcStack_158 = param_4" identifier = identifier) ;) (expression_statement "pppppppcStack_154 = pppppppcVar29;" (assignment_expression "pppppppcStack_154 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_150 = ppppppcVar20;" (assignment_expression "ppppppcStack_150 = ppppppcVar20" identifier = identifier) ;) (expression_statement "uStack_14c = uVar39;" (assignment_expression "uStack_14c = uVar39" identifier = identifier) ;) (if_statement "if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" if (parenthesized_expression "((int)ppppcVar38[3][9] << 3 < 0)" ( (binary_expression "(int)ppppcVar38[3][9] << 3 < 0" (binary_expression "(int)ppppcVar38[3][9] << 3" (cast_expression "(int)ppppcVar38[3][9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppcVar38[3][9]" (subscript_expression "ppppcVar38[3]" identifier [ number_literal ]) [ number_literal ])) << number_literal) < number_literal) )) (compound_statement "{\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }" { (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" identifier = (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" ( (type_descriptor "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 *)(pcVar4 + 0xc2f8c) + -0x42a8)" ( (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x42a8" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" * (cast_expression "(int *)(pcVar4 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc2f8c)" ( (binary_expression "pcVar4 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" statement_identifier : (expression_statement "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" (call_expression "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fed])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1fed]" * (cast_expression "(code *)ppppppcStack_178[-0x1fed]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1fed]" identifier [ number_literal ]))) )) (argument_list "(ppppcVar38[2])" ( (subscript_expression "ppppcVar38[2]" identifier [ number_literal ]) ))) ;)) (expression_statement "ppppppcVar24 = (code ******)0x1;" (assignment_expression "ppppppcVar24 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);" (assignment_expression "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" identifier = (cast_expression "(code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" identifier (argument_list "(ppppppcStack_178[-0x1ff1] + -0x177f)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x177f" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ppppcVar38[2] = pppcVar6;" (assignment_expression "ppppcVar38[2] = pppcVar6" (subscript_expression "ppppcVar38[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar16 = param_4;" (assignment_expression "ppppppcVar16 = param_4" identifier = identifier) ;) }) (else_clause "else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" else (compound_statement "{\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" { (if_statement "if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(param_2 == (code *******)0x1)" ( (binary_expression "param_2 == (code *******)0x1" identifier == (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" identifier = (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" ( (type_descriptor "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 *)(pcVar4 + 0xc2f8c) + -0x429c)" ( (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x429c" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" * (cast_expression "(int *)(pcVar4 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc2f8c)" ( (binary_expression "pcVar4 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar23 = *(int *)(pcVar4 + 0xc31d8);" (assignment_expression "iVar23 = *(int *)(pcVar4 + 0xc31d8)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xc31d8)" * (cast_expression "(int *)(pcVar4 + 0xc31d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc31d8)" ( (binary_expression "pcVar4 + 0xc31d8" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);" (call_expression "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16)" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" ( (pointer_expression "*(code *)(iVar23 + 0x7f68)" * (cast_expression "(code *)(iVar23 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x7f68)" ( (binary_expression "iVar23 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(*ppppppcVar16)" ( (pointer_expression "*ppppppcVar16" * identifier) ))) ;) (expression_statement "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);" (call_expression "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1])" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" ( (pointer_expression "*(code *)(iVar23 + 0x7f68)" * (cast_expression "(code *)(iVar23 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x7f68)" ( (binary_expression "iVar23 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(ppppppcVar16[1])" ( (subscript_expression "ppppppcVar16[1]" identifier [ number_literal ]) ))) ;) (expression_statement "param_4 = ppppppcVar16;" (assignment_expression "param_4 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcVar29 = extraout_v1;" (assignment_expression "pppppppcVar29 = extraout_v1" identifier = identifier) ;) (if_statement "if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(extraout_v1 != extraout_v1_00)" ( (binary_expression "extraout_v1 != extraout_v1_00" identifier != identifier) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" ( (type_descriptor "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_178[-0x1ff1] + -0x109f)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x109f" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" identifier = (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1bd8)" ( (binary_expression "ppppppcStack_178[-0x1f58] + 0x1bd8" (subscript_expression "ppppppcStack_178[-0x1f58]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(ppppppcVar16[4],1)" ( (subscript_expression "ppppppcVar16[4]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" statement_identifier : (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" ( (type_descriptor "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_178[-0x1ff1] + -0x10b2)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10b2" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "pppcVar6 = ppppcVar38[3];" (assignment_expression "pppcVar6 = ppppcVar38[3]" identifier = (subscript_expression "ppppcVar38[3]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" identifier = (call_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f5e] + 0x8dc)" ( (binary_expression "ppppppcStack_178[-0x1f5e] + 0x8dc" (subscript_expression "ppppppcStack_178[-0x1f5e]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(pppcVar6,iVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar23 < 0) goto LAB_000cdb7c;" if (parenthesized_expression "(iVar23 < 0)" ( (binary_expression "iVar23 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000cdb7c;" goto statement_identifier ;)) (if_statement "if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1))" ( (binary_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" (parenthesized_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0))" ( (binary_expression "(extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" (parenthesized_expression "(extraout_v1 == (code *******)0x0)" ( (binary_expression "extraout_v1 == (code *******)0x0" identifier == (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 "(iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" ( (comma_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0" (assignment_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1]" identifier = (cast_expression "(int)pppcVar6[4][iVar23 * 4U + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppcVar6[4][iVar23 * 4U + 1]" (subscript_expression "pppcVar6[4]" identifier [ number_literal ]) [ (binary_expression "iVar23 * 4U + 1" (binary_expression "iVar23 * 4U" identifier * number_literal) + number_literal) ]))) , (binary_expression "iVar23 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" ( (comma_expression "ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1" (assignment_expression "ppppppcVar21 = *(code *******)(iVar23 + 4)" identifier = (pointer_expression "*(code *******)(iVar23 + 4)" * (cast_expression "(code *******)(iVar23 + 4)" ( (type_descriptor "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 "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) , (binary_expression "ppppppcVar21[0xb] < extraout_v1" (subscript_expression "ppppppcVar21[0xb]" identifier [ number_literal ]) < identifier)) ))) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" ( (type_descriptor "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_178[-0x1ff1] + -0x10ae)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10ae" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04')" ( (binary_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04'" (pointer_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" * (cast_expression "(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" ( (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c" (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" (cast_expression "(int)ppppppcStack_178[-0x1ff1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ])) + (parenthesized_expression "(*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" ( (binary_expression "*(ushort *)(ppppppcVar16[3] + 2) & 0x1f" (pointer_expression "*(ushort *)(ppppppcVar16[3] + 2)" * (cast_expression "(ushort *)(ppppppcVar16[3] + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar16[3] + 2)" ( (binary_expression "ppppppcVar16[3] + 2" (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) + number_literal) )))) & number_literal) ))) + number_literal) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" statement_identifier : (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" ( (type_descriptor "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_178[-0x1ff1] + -0x10a3)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10a3" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "ppppppcVar20 = (code ******)ppppppcVar21[8];" (assignment_expression "ppppppcVar20 = (code ******)ppppppcVar21[8]" identifier = (cast_expression "(code ******)ppppppcVar21[8]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar21[8]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);" (assignment_expression "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" identifier = (cast_expression "(code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[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 "*" *))))))) ) (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1b22)" ( (binary_expression "ppppppcStack_178[-0x1f58] + 0x1b22" (subscript_expression "ppppppcStack_178[-0x1f58]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(ppppppcVar16[3],1)" ( (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) , number_literal ))))) ;) (if_statement "if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;" if (parenthesized_expression "(ppppppcVar20 != ppppppcVar24)" ( (binary_expression "ppppppcVar20 != ppppppcVar24" identifier != identifier) )) (goto_statement "goto LAB_000cdb70;" goto statement_identifier ;)) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = &pppppcStack_170;" (assignment_expression "ppppppcVar21 = &pppppcStack_170" identifier = (pointer_expression "&pppppcStack_170" & identifier)) ;) (expression_statement "pppppppcVar7 = extraout_v1;" (assignment_expression "pppppppcVar7 = extraout_v1" identifier = identifier) ;) (expression_statement "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;" (assignment_expression "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" identifier = (cast_expression "(code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" (parenthesized_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))" ( (pointer_expression "**(code **)(**(int **)(iVar23 + 4) + 0xcc)" * (pointer_expression "*(code **)(**(int **)(iVar23 + 4) + 0xcc)" * (cast_expression "(code **)(**(int **)(iVar23 + 4) + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar23 + 4) + 0xcc)" ( (binary_expression "**(int **)(iVar23 + 4) + 0xcc" (pointer_expression "**(int **)(iVar23 + 4)" * (pointer_expression "*(int **)(iVar23 + 4)" * (cast_expression "(int **)(iVar23 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(**(int **)(iVar23 + 4))" ( (pointer_expression "**(int **)(iVar23 + 4)" * (pointer_expression "*(int **)(iVar23 + 4)" * (cast_expression "(int **)(iVar23 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) ))))) ;) (if_statement "if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" if (parenthesized_expression "((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       )" ( (binary_expression "(ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" (parenthesized_expression "(ppppppcVar24 == (code ******)0x0)" ( (binary_expression "ppppppcVar24 == (code ******)0x0" identifier == (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)) )) && (parenthesized_expression "(ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" ( (comma_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0" (assignment_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170)" identifier = (cast_expression "(code ******)FUN_000c3260(pppppcStack_170)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppcStack_170)" identifier (argument_list "(pppppcStack_170)" ( identifier ))))) , (binary_expression "ppppppcVar24 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" { (expression_statement "ppppcVar38 = pppppcStack_170[1];" (assignment_expression "ppppcVar38 = pppppcStack_170[1]" identifier = (subscript_expression "pppppcStack_170[1]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);" (assignment_expression "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" identifier = (cast_expression "(code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" ( (type_descriptor "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 *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fd9])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1fd9]" * (cast_expression "(code *)ppppppcStack_178[-0x1fd9]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1fd9]" identifier [ number_literal ]))) )) (argument_list "(ppppppcVar16[3])" ( (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "ppppppcVar21 = ppppppcVar20;" (assignment_expression "ppppppcVar21 = ppppppcVar20" identifier = identifier) ;) (expression_statement "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);" (call_expression "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38)" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1ebd])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1ebd]" * (cast_expression "(code *)ppppppcStack_178[-0x1ebd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1ebd]" identifier [ number_literal ]))) )) (argument_list "(ppppcVar38)" ( identifier ))) ;) })) (if_statement "if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" if (parenthesized_expression "(pppppcStack_170 != (code *****)0x0)" ( (binary_expression "pppppcStack_170 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" { (expression_statement "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();" (call_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))()" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f78] + 0x3ba)" ( (binary_expression "ppppppcStack_178[-0x1f78] + 0x3ba" (subscript_expression "ppppppcStack_178[-0x1f78]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }" if (parenthesized_expression "(iStack_16c == *piVar27)" ( (binary_expression "iStack_16c == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return ppppppcVar24;\n  }" { (return_statement "return ppppppcVar24;" return identifier ;) })) (expression_statement "pppppcVar37 = ppppppcStack_178[-0x1eca];" (assignment_expression "pppppcVar37 = ppppppcStack_178[-0x1eca]" identifier = (subscript_expression "ppppppcStack_178[-0x1eca]" identifier [ number_literal ])) ;) (expression_statement "pcVar4 = FUN_000cdc54;" (assignment_expression "pcVar4 = FUN_000cdc54" identifier = identifier) ;) (expression_statement "iVar23 = iStack_16c;" (assignment_expression "iVar23 = iStack_16c" identifier = identifier) ;) (expression_statement "(*(code *)pppppcVar37)();" (call_expression "(*(code *)pppppcVar37)()" (parenthesized_expression "(*(code *)pppppcVar37)" ( (pointer_expression "*(code *)pppppcVar37" * (cast_expression "(code *)pppppcVar37" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppcVar8 = pppppcVar37[0x30c74];" (assignment_expression "ppppcVar8 = pppppcVar37[0x30c74]" identifier = (subscript_expression "pppppcVar37[0x30c74]" identifier [ number_literal ])) ;) (expression_statement "pppcStack_1b4 = *ppppcVar8;" (assignment_expression "pppcStack_1b4 = *ppppcVar8" identifier = (pointer_expression "*ppppcVar8" * identifier)) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0x74);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0x74)" identifier = (pointer_expression "*(int *)(iVar23 + 0x74)" * (cast_expression "(int *)(iVar23 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x74)" ( (binary_expression "iVar23 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = *(int **)(iVar23 + 0x14);" (assignment_expression "piVar26 = *(int **)(iVar23 + 0x14)" identifier = (pointer_expression "*(int **)(iVar23 + 0x14)" * (cast_expression "(int **)(iVar23 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_1b0 = ppppcVar38;" (assignment_expression "ppppcStack_1b0 = ppppcVar38" identifier = identifier) ;) (expression_statement "ppppppcStack_1ac = ppppppcVar24;" (assignment_expression "ppppppcStack_1ac = ppppppcVar24" identifier = identifier) ;) (expression_statement "piStack_1a8 = piVar27;" (assignment_expression "piStack_1a8 = piVar27" identifier = identifier) ;) (expression_statement "ppppppcStack_1a4 = ppppppcVar16;" (assignment_expression "ppppppcStack_1a4 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_1a0 = pppppppcVar29;" (assignment_expression "pppppppcStack_1a0 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_19c = ppppppcVar20;" (assignment_expression "ppppppcStack_19c = ppppppcVar20" identifier = identifier) ;) (expression_statement "iStack_198 = iVar32;" (assignment_expression "iStack_198 = iVar32" identifier = identifier) ;) (expression_statement "pppppppcStack_194 = pppppppcVar33;" (assignment_expression "pppppppcStack_194 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcStack_190 = ppppppcVar28;" (assignment_expression "ppppppcStack_190 = ppppppcVar28" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar4;" (assignment_expression "pcStack_18c = pcVar4" identifier = identifier) ;) (expression_statement "(*(code *)(pppppcVar37[0x30bbb] + 0x581))();" (call_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))()" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))" ( (pointer_expression "*(code *)(pppppcVar37[0x30bbb] + 0x581)" * (cast_expression "(code *)(pppppcVar37[0x30bbb] + 0x581)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar37[0x30bbb] + 0x581)" ( (binary_expression "pppppcVar37[0x30bbb] + 0x581" (subscript_expression "pppppcVar37[0x30bbb]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar32 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x28)" identifier = (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);" (assignment_expression "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30)" identifier = (binary_expression "(code *******)(uint)*(ushort *)(iVar23 + 0x30)" (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 *)(iVar23 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x30)" ( (binary_expression "iVar23 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" if (parenthesized_expression "((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38)))" ( (binary_expression "(uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))" (call_expression "(uint)(piVar26[9] - (int)pppppppcVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar26[9] - (int)pppppppcVar29)" ( (binary_expression "piVar26[9] - (int)pppppppcVar29" (subscript_expression "piVar26[9]" identifier [ number_literal ]) - (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(iVar32 - *(int *)(iVar34 + 0x38))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 - *(int *)(iVar34 + 0x38))" ( (binary_expression "iVar32 - *(int *)(iVar34 + 0x38)" identifier - (pointer_expression "*(int *)(iVar34 + 0x38)" * (cast_expression "(int *)(iVar34 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) )))) )) (compound_statement "{\n    uVar39 = 0x108be;\n  }" { (expression_statement "uVar39 = 0x108be;" (assignment_expression "uVar39 = 0x108be" identifier = number_literal) ;) }) (else_clause "else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" else (compound_statement "{\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" { (if_statement "if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" if (parenthesized_expression "(pppppppcVar7 < pppppppcVar29)" ( (binary_expression "pppppppcVar7 < pppppppcVar29" identifier < identifier) )) (compound_statement "{\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }" { (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (if_statement "if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" if (parenthesized_expression "(pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21))" ( (binary_expression "pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" identifier < (cast_expression "(code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" ( (type_descriptor "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)pppppppcVar7 + (int)ppppppcVar21)" ( (binary_expression "(int)pppppppcVar7 + (int)ppppppcVar21" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" { (expression_statement "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" identifier = (cast_expression "(code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" ( (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)pppppppcVar29 - (int)pppppppcVar7)" ( (binary_expression "(int)pppppppcVar29 - (int)pppppppcVar7" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32)" identifier = (cast_expression "(code ******)((int)pppppppcVar7 + iVar32)" ( (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)pppppppcVar7 + iVar32)" ( (binary_expression "(int)pppppppcVar7 + iVar32" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" if (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" ( (binary_expression "ppppppcStack_178 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }" { (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" identifier = (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar16 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar16 = ppppppcStack_1d8" identifier = identifier) ;) }) (else_clause "else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" else (compound_statement "{\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" { (expression_statement "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));" (assignment_expression "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" identifier = (cast_expression "(code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" identifier (argument_list "(*(undefined4 *)(iVar34 + 0x48))" ( (pointer_expression "*(undefined4 *)(iVar34 + 0x48)" * (cast_expression "(undefined4 *)(iVar34 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x48)" ( (binary_expression "iVar34 + 0x48" identifier + number_literal) )))) ))))) ;) (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" ( (binary_expression "ppppppcVar16 != (code ******)0x0" identifier != (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_000cdd30;" goto statement_identifier ;)) (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" identifier = (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" identifier = identifier) ;) (expression_statement "ppppppcVar20 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar20 = ppppppcStack_1d8" identifier = identifier) ;) }))) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar28" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);" (call_expression "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28)" (parenthesized_expression "(*(code *)ppppcVar38)" ( (pointer_expression "*(code *)ppppcVar38" * (cast_expression "(code *)ppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppcVar16,ppppppcVar20,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar30 = (byte *)0x0;" (assignment_expression "pbVar30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" else (compound_statement "{\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" { (expression_statement "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);" (assignment_expression "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" identifier = (cast_expression "(byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar7 - (int)pppppppcVar29)" ( (binary_expression "(int)pppppppcVar7 - (int)pppppppcVar29" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (if_statement "if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" if (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" ( (binary_expression "ppppppcVar21 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" { (expression_statement "ppppppcVar16 = (code ******)0x0;" (assignment_expression "ppppppcVar16 = (code ******)0x0" identifier = (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_000cdd30;" goto statement_identifier ;) })) (expression_statement "uVar2 = *(ushort *)(iVar23 + 0x30);" (assignment_expression "uVar2 = *(ushort *)(iVar23 + 0x30)" identifier = (pointer_expression "*(ushort *)(iVar23 + 0x30)" * (cast_expression "(ushort *)(iVar23 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x30)" ( (binary_expression "iVar23 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar31 = (byte *)(piVar26[9] + -4);" (assignment_expression "pbVar31 = (byte *)(piVar26[9] + -4)" identifier = (cast_expression "(byte *)(piVar26[9] + -4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[9] + -4)" ( (binary_expression "piVar26[9] + -4" (subscript_expression "piVar26[9]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "iStack_1bc = *(int *)(iVar32 + (uint)uVar2);" (assignment_expression "iStack_1bc = *(int *)(iVar32 + (uint)uVar2)" identifier = (pointer_expression "*(int *)(iVar32 + (uint)uVar2)" * (cast_expression "(int *)(iVar32 + (uint)uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)uVar2)" ( (binary_expression "iVar32 + (uint)uVar2" identifier + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (if_statement "if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" if (parenthesized_expression "((*(byte *)(iVar23 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar23 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar23 + 1) & 4)" ( (binary_expression "*(byte *)(iVar23 + 1) & 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }" { (expression_statement "iVar32 = *(int *)(iVar23 + 0x2c);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(pbVar31 == (byte *)0x0)" ( (binary_expression "pbVar31 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" 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 (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" if (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }" { (labeled_statement "LAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" statement_identifier : (expression_statement "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" (assignment_expression "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" identifier = (call_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))" ( (pointer_expression "*(code *)(pppppcVar37[0x30bd5] + 0xd5)" * (cast_expression "(code *)(pppppcVar37[0x30bd5] + 0xd5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar37[0x30bd5] + 0xd5)" ( (binary_expression "pppppcVar37[0x30bd5] + 0xd5" (subscript_expression "pppppcVar37[0x30bd5]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(iVar34)" ( identifier )))) ;)) (if_statement "if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" if (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) )) (compound_statement "{\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" { (expression_statement "ppppppcVar16 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;) })) (expression_statement "*(int *)(iVar23 + 0xc) = iVar34;" (assignment_expression "*(int *)(iVar23 + 0xc) = iVar34" (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" else (compound_statement "{\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" { (expression_statement "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();" (assignment_expression "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])()" identifier = (call_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])()" (parenthesized_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])" ( (pointer_expression "*(code *)pppppcVar37[0x30b3d][-0x2d0]" * (cast_expression "(code *)pppppcVar37[0x30b3d][-0x2d0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30b3d][-0x2d0]" (subscript_expression "pppppcVar37[0x30b3d]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;" if (parenthesized_expression "(iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))" ( (binary_expression "iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" identifier < (cast_expression "(int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" ( (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" ( (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" ( (binary_expression "iVar32 + -1" identifier + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) )))) )) (goto_statement "goto LAB_000cdf84;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);" (call_expression "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c41])" ( (pointer_expression "*(code *)pppppcVar37[0x30c41]" * (cast_expression "(code *)pppppcVar37[0x30c41]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c41]" identifier [ number_literal ]))) )) (argument_list "(iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( identifier , number_literal , (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" ( (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" ( (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" ( (binary_expression "iVar32 + -1" identifier + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) ))) ;) (expression_statement "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;" (assignment_expression "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" else (compound_statement "{\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" { (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(pbVar31 == (byte *)0x0)" ( (binary_expression "pbVar31 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" 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 ))) ;) })) (expression_statement "uVar41 = (uint)pbVar30 / (uint)pbVar31;" (assignment_expression "uVar41 = (uint)pbVar30 / (uint)pbVar31" identifier = (binary_expression "(uint)pbVar30 / (uint)pbVar31" (cast_expression "(uint)pbVar30" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);" (assignment_expression "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31)" identifier = (cast_expression "(byte *)((uint)pbVar30 % (uint)pbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pbVar30 % (uint)pbVar31)" ( (binary_expression "(uint)pbVar30 % (uint)pbVar31" (cast_expression "(uint)pbVar30" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar32 = *(int *)(iVar34 + uVar41 * 4);" (assignment_expression "iVar32 = *(int *)(iVar34 + uVar41 * 4)" identifier = (pointer_expression "*(int *)(iVar34 + uVar41 * 4)" * (cast_expression "(int *)(iVar34 + uVar41 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + uVar41 * 4)" ( (binary_expression "iVar34 + uVar41 * 4" identifier + (binary_expression "uVar41 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar32 != 0) goto LAB_000cddd4;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000cddd4;" goto statement_identifier ;)) }))) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) (if_statement "if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(iStack_1bc != 0)" ( (binary_expression "iStack_1bc != 0" identifier != number_literal) )) (compound_statement "{\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" { (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar40 = pbVar30;" (assignment_expression "pbVar40 = pbVar30" identifier = identifier) ;) (expression_statement "iVar32 = iStack_1bc;" (assignment_expression "iVar32 = iStack_1bc" identifier = identifier) ;) (labeled_statement "LAB_000cddd4:\n      iStack_1bc = iVar32;" statement_identifier : (expression_statement "iStack_1bc = iVar32;" (assignment_expression "iStack_1bc = iVar32" identifier = identifier) ;)) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "ppppcVar38 = pppppcVar37[0x30bbb];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30bbb]" identifier = (subscript_expression "pppppcVar37[0x30bbb]" identifier [ number_literal ])) ;) (expression_statement "iVar32 = uVar41 + 1;" (assignment_expression "iVar32 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (expression_statement "ppppcVar35 = pppppcVar37[0x30bde];" (assignment_expression "ppppcVar35 = pppppcVar37[0x30bde]" identifier = (subscript_expression "pppppcVar37[0x30bde]" identifier [ number_literal ])) ;) (if_statement "if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }" if (parenthesized_expression "(ppppppcStack_178 != (code ******)0x0)" ( (binary_expression "ppppppcStack_178 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        uVar39 = 0;\n      }" { (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) })) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" identifier = (binary_expression "iVar32 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar34 + iVar17 + -4)" * (cast_expression "(int *)(iVar34 + iVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar17 + -4)" ( (binary_expression "iVar34 + iVar17 + -4" (binary_expression "iVar34 + iVar17" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppppcVar9 = pppppcVar37[0x30be2];" (assignment_expression "ppppcVar9 = pppppcVar37[0x30be2]" identifier = (subscript_expression "pppppcVar37[0x30be2]" identifier [ number_literal ])) ;) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" identifier = (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" ( (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (if_statement "if (pbVar40 < pbVar31) goto LAB_000cde58;" if (parenthesized_expression "(pbVar40 < pbVar31)" ( (binary_expression "pbVar40 < pbVar31" identifier < identifier) )) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;)) (do_statement "do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );" do (compound_statement "{\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      }" { (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar40 = pbVar40 + -(int)pbVar31;" (assignment_expression "pbVar40 = pbVar40 + -(int)pbVar31" identifier = (binary_expression "pbVar40 + -(int)pbVar31" identifier + (unary_expression "-(int)pbVar31" - (cast_expression "(int)pbVar31" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "iVar34 = *(int *)(iVar14 + iVar17);" (assignment_expression "iVar34 = *(int *)(iVar14 + iVar17)" identifier = (pointer_expression "*(int *)(iVar14 + iVar17)" * (cast_expression "(int *)(iVar14 + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17)" ( (binary_expression "iVar14 + iVar17" identifier + identifier) ))))) ;) (if_statement "if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" if (parenthesized_expression "(*(int *)(iVar14 + iVar17) == 0)" ( (binary_expression "*(int *)(iVar14 + iVar17) == 0" (pointer_expression "*(int *)(iVar14 + iVar17)" * (cast_expression "(int *)(iVar14 + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17)" ( (binary_expression "iVar14 + iVar17" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" { (expression_statement "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" identifier = (cast_expression "(code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" (parenthesized_expression "(*(code *)(ppppcVar9 + -0xa58))" ( (pointer_expression "*(code *)(ppppcVar9 + -0xa58)" * (cast_expression "(code *)(ppppcVar9 + -0xa58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar9 + -0xa58)" ( (binary_expression "ppppcVar9 + -0xa58" identifier + number_literal) )))) )) (argument_list "(piVar26,iStack_1bc,0,&iStack_1bc)" ( identifier , identifier , number_literal , (pointer_expression "&iStack_1bc" & identifier) ))))) ;) (goto_statement "goto LAB_000cdea8;" goto statement_identifier ;) })) (while_statement "while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" { (expression_statement "iStack_1bc = iVar34;" (assignment_expression "iStack_1bc = iVar34" identifier = identifier) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" identifier = (binary_expression "iVar32 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar14 + iVar17 + -4)" * (cast_expression "(int *)(iVar14 + iVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17 + -4)" ( (binary_expression "iVar14 + iVar17 + -4" (binary_expression "iVar14 + iVar17" identifier + identifier) + number_literal) )))) = identifier) ;) (if_statement "if (pbVar31 <= pbVar40) break;" if (parenthesized_expression "(pbVar31 <= pbVar40)" ( (binary_expression "pbVar31 <= pbVar40" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" identifier = (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" ( (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (labeled_statement "LAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (if_statement "if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" if (parenthesized_expression "(pbVar31 < pbVar30)" ( (binary_expression "pbVar31 < pbVar30" identifier < identifier) )) (compound_statement "{\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" identifier = (cast_expression "(code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" ( (binary_expression "(int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31)" (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pbVar40 - (int)pbVar31)" ( (binary_expression "(int)pbVar40 - (int)pbVar31" (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);" (assignment_expression "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40)" identifier = (cast_expression "(code ******)(pbVar31 + -(int)pbVar40)" ( (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 "(pbVar31 + -(int)pbVar40)" ( (binary_expression "pbVar31 + -(int)pbVar40" identifier + (unary_expression "-(int)pbVar40" - (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" identifier = (cast_expression "(code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (parenthesized_expression "(**(code **)(*piVar26 + 0xcc))" ( (pointer_expression "**(code **)(*piVar26 + 0xcc)" * (pointer_expression "*(code **)(*piVar26 + 0xcc)" * (cast_expression "(code **)(*piVar26 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar26 + 0xcc)" ( (binary_expression "*piVar26 + 0xcc" (pointer_expression "*piVar26" * identifier) + number_literal) ))))) )) (argument_list "(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" ( (pointer_expression "*piVar26" * identifier) , identifier , (pointer_expression "&iStack_1b8" & identifier) , identifier ))))) ;) (expression_statement "iVar34 = iStack_1b8;" (assignment_expression "iVar34 = iStack_1b8" identifier = identifier) ;) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" if (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" ( (binary_expression "ppppppcVar16 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" { (expression_statement "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));" (assignment_expression "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" identifier = (cast_expression "(byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" ( (binary_expression "(int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4)" (cast_expression "(int)*(int **)(iStack_1b8 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) ))))) + (cast_expression "(int)(pbVar40 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar40 + 4)" ( (binary_expression "pbVar40 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iStack_1bc = **(int **)(iStack_1b8 + 4);" (assignment_expression "iStack_1bc = **(int **)(iStack_1b8 + 4)" identifier = (pointer_expression "**(int **)(iStack_1b8 + 4)" * (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) )))))) ;) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" ( (binary_expression "ppppppcStack_178 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }" { (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" ( (pointer_expression "*(code *)pppppcVar37[0x30c76]" * (cast_expression "(code *)pppppcVar37[0x30c76]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ]))) )) (argument_list "(ppppppcStack_1d8,pbVar30,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar16 = ppppppcStack_178;" (assignment_expression "ppppppcVar16 = ppppppcStack_178" identifier = identifier) ;) (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iVar34);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iVar34)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" ( (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" * (cast_expression "(code *)(ppppcVar38 + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38 + 0x3ba)" ( (binary_expression "ppppcVar38 + 0x3ba" identifier + number_literal) )))) )) (argument_list "(iVar34)" ( identifier ))) ;) }) (else_clause "else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" else (compound_statement "{\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" { (expression_statement "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);" (assignment_expression "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" identifier = (cast_expression "(code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar35 + 0xc98))" ( (pointer_expression "*(code *)(ppppcVar35 + 0xc98)" * (cast_expression "(code *)(ppppcVar35 + 0xc98)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar35 + 0xc98)" ( (binary_expression "ppppcVar35 + 0xc98" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))))) ;) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" if (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" ( (binary_expression "ppppppcVar16 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" { (expression_statement "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" ( (pointer_expression "*(code *)pppppcVar37[0x30c76]" * (cast_expression "(code *)pppppcVar37[0x30c76]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ]))) )) (argument_list "(pbVar30,ppppppcStack_1d8,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" if (parenthesized_expression "(iStack_1b8 != 0)" ( (binary_expression "iStack_1b8 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" { (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" ( (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" * (cast_expression "(code *)(ppppcVar38 + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38 + 0x3ba)" ( (binary_expression "ppppcVar38 + 0x3ba" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))) ;) })) }))) })) (if_statement "if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" ( (binary_expression "ppppppcVar21 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;)) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" statement_identifier : (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" ( (binary_expression "ppppppcVar16 != (code ******)0x0" identifier != (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_000cdd30;" goto statement_identifier ;))) (if_statement "if (iStack_1bc == 0) goto LAB_000ce0b4;" if (parenthesized_expression "(iStack_1bc == 0)" ( (binary_expression "iStack_1bc == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b4;" goto statement_identifier ;)) (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = iStack_1bc;" (assignment_expression "iVar34 = iStack_1bc" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_000ce0b4:\n    uVar39 = 0x1094f;" statement_identifier : (expression_statement "uVar39 = 0x1094f;" (assignment_expression "uVar39 = 0x1094f" identifier = number_literal) ;)) }))) (expression_statement "ppppppcVar16 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);" (call_expression "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" (parenthesized_expression "(*(code *)pppppcVar37[0x30be3])" ( (pointer_expression "*(code *)pppppcVar37[0x30be3]" * (cast_expression "(code *)pppppcVar37[0x30be3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30be3]" identifier [ number_literal ]))) )) (argument_list "(0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" ( number_literal , (binary_expression "pppppcVar37[0x30b42] + -0x18de" (subscript_expression "pppppcVar37[0x30b42]" identifier [ number_literal ]) + number_literal) , (binary_expression "pppppcVar37[0x30b42] + -0x1799" (subscript_expression "pppppcVar37[0x30b42]" identifier [ number_literal ]) + number_literal) , identifier , (binary_expression "pppppcVar37[0x30b41] + 0x1897" (subscript_expression "pppppcVar37[0x30b41]" identifier [ number_literal ]) + number_literal) ))) ;) (labeled_statement "LAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" statement_identifier : (if_statement "if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" if (parenthesized_expression "(pppcStack_1b4 == *ppppcVar8)" ( (binary_expression "pppcStack_1b4 == *ppppcVar8" identifier == (pointer_expression "*ppppcVar8" * identifier)) )) (compound_statement "{\n    return ppppppcVar16;\n  }" { (return_statement "return ppppppcVar16;" return identifier ;) }))) (expression_statement "ppppcVar38 = pppppcVar37[0x30c69];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c69]" identifier = (subscript_expression "pppppcVar37[0x30c69]" identifier [ number_literal ])) ;) (expression_statement "pppcVar6 = pppcStack_1b4;" (assignment_expression "pppcVar6 = pppcStack_1b4" identifier = identifier) ;) (expression_statement "(*(code *)ppppcVar38)();" (call_expression "(*(code *)ppppcVar38)()" (parenthesized_expression "(*(code *)ppppcVar38)" ( (pointer_expression "*(code *)ppppcVar38" * (cast_expression "(code *)ppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(ppppcVar38[0x30a9a] + 0x581))();" (call_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))()" (parenthesized_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))" ( (pointer_expression "*(code *)(ppppcVar38[0x30a9a] + 0x581)" * (cast_expression "(code *)(ppppcVar38[0x30a9a] + 0x581)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38[0x30a9a] + 0x581)" ( (binary_expression "ppppcVar38[0x30a9a] + 0x581" (subscript_expression "ppppcVar38[0x30a9a]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "ppcVar15 = pppcVar6[0xb];" (assignment_expression "ppcVar15 = pppcVar6[0xb]" identifier = (subscript_expression "pppcVar6[0xb]" identifier [ number_literal ])) ;) (expression_statement "pppcVar6[0xe] = (code **)0x0;" (assignment_expression "pppcVar6[0xe] = (code **)0x0" (subscript_expression "pppcVar6[0xe]" identifier [ number_literal ]) = (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppcVar6[0xf] = ppcVar15;" (assignment_expression "pppcVar6[0xf] = ppcVar15" (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);" (assignment_expression "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" identifier = (cast_expression "(code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (parenthesized_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))" ( (pointer_expression "*(code *)(ppppcVar38[0x30ab4] + -0xad2)" * (cast_expression "(code *)(ppppcVar38[0x30ab4] + -0xad2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38[0x30ab4] + -0xad2)" ( (binary_expression "ppppcVar38[0x30ab4] + -0xad2" (subscript_expression "ppppcVar38[0x30ab4]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "((code **)((int)ppcVar15 + 0x11) < ppcVar15)" ( (binary_expression "(code **)((int)ppcVar15 + 0x11) < ppcVar15" (cast_expression "(code **)((int)ppcVar15 + 0x11)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar15 + 0x11)" ( (binary_expression "(int)ppcVar15 + 0x11" (cast_expression "(int)ppcVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < identifier) ))))) ;) (if_statement "if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }" if (parenthesized_expression "(ppcVar15 == (code **)0x0)" ( (binary_expression "ppcVar15 == (code **)0x0" identifier == (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    return (code ******)&DAT_00000007;\n  }" { (return_statement "return (code ******)&DAT_00000007;" return (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier)) ;) })) (expression_statement "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);" (assignment_expression "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" identifier = (cast_expression "(code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" identifier (argument_list "(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" ( identifier , number_literal , (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]) , identifier , number_literal ))))) ;) (if_statement "if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" if (parenthesized_expression "(ppppppcVar28 == (code ******)0x0)" ( (binary_expression "ppppppcVar28 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" { (expression_statement "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);" (call_expression "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" (parenthesized_expression "(*(code *)ppppcVar38[0x30b20])" ( (pointer_expression "*(code *)ppppcVar38[0x30b20]" * (cast_expression "(code *)ppppcVar38[0x30b20]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppcVar38[0x30b20]" identifier [ number_literal ]))) )) (argument_list "((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" ( (binary_expression "(int)ppcVar15 + (int)pppcVar6[0xf]" (cast_expression "(int)ppcVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppcVar6[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]))) , number_literal , number_literal ))) ;) (expression_statement "pppcVar6[4] = ppcVar15;" (assignment_expression "pppcVar6[4] = ppcVar15" (subscript_expression "pppcVar6[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return (code ******)0x0;" return (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) ;) })) (expression_statement "(*(code *)ppppcVar38[0x30a25])(ppcVar15);" (call_expression "(*(code *)ppppcVar38[0x30a25])(ppcVar15)" (parenthesized_expression "(*(code *)ppppcVar38[0x30a25])" ( (pointer_expression "*(code *)ppppcVar38[0x30a25]" * (cast_expression "(code *)ppppcVar38[0x30a25]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppcVar38[0x30a25]" identifier [ number_literal ]))) )) (argument_list "(ppcVar15)" ( identifier ))) ;) (return_statement "return ppppppcVar28;" return identifier ;) })))
(translation_unit "int balance(BtCursor *pCur)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  i64 iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  MemPage *pMVar7;\n  u8 uVar12;\n  char cVar13;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  uchar *pBuf;\n  u8 **extraout_v1;\n  u8 **extraout_v1_00;\n  BtShared *pBVar14;\n  DbPage *pDVar15;\n  MemPage *pMVar16;\n  sqlite3 *psVar17;\n  sqlite3_mutex *psVar18;\n  BtCursor *pCur_00;\n  uint uVar19;\n  MemPage *in_a1;\n  u8 **in_a2;\n  BtShared *pBVar20;\n  BtShared *in_a3;\n  u8 *puVar21;\n  u8 *puVar22;\n  MemPage *unaff_s0;\n  BtShared *pBVar23;\n  u8 *puVar24;\n  BtShared *pBVar25;\n  int iVar26;\n  u8 **ppuVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  BtShared *pBVar31;\n  int *piVar32;\n  u8 **ppuVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  u8 *puVar36;\n  MemPage *pFrom;\n  int iVar37;\n  undefined *puVar38;\n  Pgno PVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  BtShared *pBStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  BtCursor *pBStack_1b4;\n  u8 *puStack_1b0;\n  int iStack_1ac;\n  int *piStack_1a8;\n  BtShared *pBStack_1a4;\n  u8 **ppuStack_1a0;\n  BtShared *pBStack_19c;\n  u8 *puStack_198;\n  MemPage *pMStack_194;\n  Pgno PStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  undefined1 auStack_170 [20];\n  int *piStack_15c;\n  BtShared *pBStack_158;\n  u8 **ppuStack_154;\n  BtShared *pBStack_150;\n  code *pcStack_14c;\n  sqlite3_mutex *psStack_138;\n  undefined *puStack_130;\n  Btree *pBStack_124;\n  undefined1 auStack_120 [8];\n  undefined1 auStack_118 [32];\n  MemPage *pMStack_f8;\n  BtShared *pBStack_f4;\n  code *pcStack_f0;\n  BtShared *pBStack_ec;\n  u8 **ppuStack_e8;\n  BtShared *pBStack_e4;\n  u8 *puStack_e0;\n  MemPage *pMStack_dc;\n  BtCursor *pBStack_d8;\n  _func_u16_MemPage_ptr_u8_ptr *p_Stack_d4;\n  u8 **ppuStack_c8;\n  u16 szCell;\n  MemPage *pNew;\n  int rc;\n  Pgno pgnoNew;\n  u8 *pCell;\n  CellArray b;\n  u8 aBalanceQuickSpace [13];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar38 = PTR_LAB_00190ba8;\n  ppuVar33 = (u8 **)0x0;\n  pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24;\n  pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260);\n  pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  puVar36 = (u8 *)(int)pCur->iPage;\n  pFrom = pCur->pPage;\n  pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3);\n  do {\n    uVar12 = pFrom->nOverflow;\n    pMVar16 = in_a1;\n    if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }\n    if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;\n    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);\n    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];\n    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);\n    if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }\n    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }\nLAB_000cd310:\n    pFrom->nOverflow = '\0';\n    (*pcVar28)(pDVar15);\n    cVar13 = pCur->iPage + -1;\n    puVar36 = (u8 *)(int)cVar13;\n    pCur->iPage = cVar13;\n    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);\n    pCur->pPage = pFrom;\n  } while (pBVar23 == (BtShared *)0x0);\n  if (ppuVar33 != (u8 **)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);\n  }\n  if (pBVar14 == *(BtShared **)puVar5) {\n    return (int)pBVar23;\n  }\n  pcVar6 = clearDatabasePage;\n  puVar38 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar38 + 0xcb290;\n  piVar29 = *(int **)(puVar38 + 0xc3794);\n  auStack_118._28_4_ = *piVar29;\n  pMStack_f8 = unaff_s0;\n  pBStack_f4 = pBVar25;\n  pcStack_f0 = pcVar28;\n  pBStack_ec = pBVar31;\n  ppuStack_e8 = ppuVar33;\n  pBStack_e4 = pBVar23;\n  puStack_e0 = puVar36;\n  pMStack_dc = pFrom;\n  pBStack_d8 = pCur;\n  p_Stack_d4 = pcVar6;\n  ppuStack_c8 = in_a2;\n  if ((MemPage *)pBVar14->nPage < in_a1) {\n    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);\n    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);\n    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar38 + 0xc3550))(0xb);\n    pBVar14 = pBVar25;\n    in_a3 = pBVar31;\n    PVar39 = 0xb;\n  }\n  else {\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }\n  if ((u8 *)auStack_118._28_4_ == (u8 *)*piVar29) {\n    return PVar39;\n  }\n  pcVar6 = *(code **)(puStack_130 + -0x7b28);\n  pcVar28 = dbpageUpdate;\n  puVar24 = (u8 *)auStack_118._28_4_;\n  (*pcVar6)();\n  pcStack_178 = pcVar6 + 0xcaf50;\n  piVar30 = *(int **)(pcVar6 + 0xc3454);\n  auStack_170._0_4_ = (Pager *)0x0;\n  auStack_170._4_4_ = *piVar30;\n  pBVar25 = pBVar20;\n  auStack_170._12_4_ = unaff_s0;\n  auStack_170._16_4_ = pBVar14;\n  piStack_15c = piVar29;\n  pBStack_158 = in_a3;\n  ppuStack_154 = ppuVar33;\n  pBStack_150 = pBVar23;\n  pcStack_14c = pcVar28;\n  if (*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0) {\n    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));\n    iVar26 = 1;\n    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));\n    *(char **)(puVar24 + 8) = pcVar8;\n    pBVar20 = in_a3;\n  }\n  else {\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }\n  if ((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30) {\n    return iVar26;\n  }\n  pcVar6 = *(code **)(pcStack_178 + -0x7b28);\n  pcVar28 = accessPayload;\n  psVar17 = (sqlite3 *)auStack_170._4_4_;\n  (*pcVar6)();\n  piVar29 = *(int **)(pcVar6 + 0xc31d0);\n  pBStack_1b4 = (BtCursor *)*piVar29;\n  iVar37 = psVar17->aLimit[2];\n  piVar32 = (int *)psVar17->nDb;\n  puStack_1b0 = puVar24;\n  iStack_1ac = iVar26;\n  piStack_1a8 = piVar30;\n  pBStack_1a4 = pBVar20;\n  ppuStack_1a0 = ppuVar33;\n  pBStack_19c = pBVar23;\n  puStack_198 = puVar36;\n  pMStack_194 = pFrom;\n  PStack_190 = PVar39;\n  pcStack_18c = pcVar28;\n  (*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))();\n  iVar26 = *(int *)&psVar17->lastRowid;\n  ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap;\n  if ((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))) {\n    uVar9 = 0x108be;\n  }\n  else {\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }\n  pcVar28 = (code *)&DAT_0000000b;\n  (**(code **)(pcVar6 + 0xc2f8c))\n            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c);\nLAB_000cdd30:\n  if (pBStack_1b4 == (BtCursor *)*piVar29) {\n    return (int)pcVar28;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xc31a4);\n  pCur_00 = pBStack_1b4;\n  (*pcVar6)();\n  (*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))();\n  uVar19 = (pCur_00->info).nPayload;\n  *(undefined4 *)&pCur_00->nKey = 0;\n  *(uint *)((int)&pCur_00->nKey + 4) = uVar19;\n  pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19);\n  if (pBuf == (uchar *)0x0) {\n    return 7;\n  }\n  iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0);\n  if (iVar26 == 0) {\n    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);\n    pCur_00->pKey = pBuf;\n    return 0;\n  }\n  (**(code **)(pcVar6 + 0xc2894))(pBuf);\n  return iVar26;\n}\n\n" (function_definition "int balance(BtCursor *pCur)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  i64 iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  MemPage *pMVar7;\n  u8 uVar12;\n  char cVar13;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  uchar *pBuf;\n  u8 **extraout_v1;\n  u8 **extraout_v1_00;\n  BtShared *pBVar14;\n  DbPage *pDVar15;\n  MemPage *pMVar16;\n  sqlite3 *psVar17;\n  sqlite3_mutex *psVar18;\n  BtCursor *pCur_00;\n  uint uVar19;\n  MemPage *in_a1;\n  u8 **in_a2;\n  BtShared *pBVar20;\n  BtShared *in_a3;\n  u8 *puVar21;\n  u8 *puVar22;\n  MemPage *unaff_s0;\n  BtShared *pBVar23;\n  u8 *puVar24;\n  BtShared *pBVar25;\n  int iVar26;\n  u8 **ppuVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  BtShared *pBVar31;\n  int *piVar32;\n  u8 **ppuVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  u8 *puVar36;\n  MemPage *pFrom;\n  int iVar37;\n  undefined *puVar38;\n  Pgno PVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  BtShared *pBStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  BtCursor *pBStack_1b4;\n  u8 *puStack_1b0;\n  int iStack_1ac;\n  int *piStack_1a8;\n  BtShared *pBStack_1a4;\n  u8 **ppuStack_1a0;\n  BtShared *pBStack_19c;\n  u8 *puStack_198;\n  MemPage *pMStack_194;\n  Pgno PStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  undefined1 auStack_170 [20];\n  int *piStack_15c;\n  BtShared *pBStack_158;\n  u8 **ppuStack_154;\n  BtShared *pBStack_150;\n  code *pcStack_14c;\n  sqlite3_mutex *psStack_138;\n  undefined *puStack_130;\n  Btree *pBStack_124;\n  undefined1 auStack_120 [8];\n  undefined1 auStack_118 [32];\n  MemPage *pMStack_f8;\n  BtShared *pBStack_f4;\n  code *pcStack_f0;\n  BtShared *pBStack_ec;\n  u8 **ppuStack_e8;\n  BtShared *pBStack_e4;\n  u8 *puStack_e0;\n  MemPage *pMStack_dc;\n  BtCursor *pBStack_d8;\n  _func_u16_MemPage_ptr_u8_ptr *p_Stack_d4;\n  u8 **ppuStack_c8;\n  u16 szCell;\n  MemPage *pNew;\n  int rc;\n  Pgno pgnoNew;\n  u8 *pCell;\n  CellArray b;\n  u8 aBalanceQuickSpace [13];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar38 = PTR_LAB_00190ba8;\n  ppuVar33 = (u8 **)0x0;\n  pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24;\n  pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260);\n  pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  puVar36 = (u8 *)(int)pCur->iPage;\n  pFrom = pCur->pPage;\n  pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3);\n  do {\n    uVar12 = pFrom->nOverflow;\n    pMVar16 = in_a1;\n    if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }\n    if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;\n    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);\n    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];\n    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);\n    if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }\n    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }\nLAB_000cd310:\n    pFrom->nOverflow = '\0';\n    (*pcVar28)(pDVar15);\n    cVar13 = pCur->iPage + -1;\n    puVar36 = (u8 *)(int)cVar13;\n    pCur->iPage = cVar13;\n    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);\n    pCur->pPage = pFrom;\n  } while (pBVar23 == (BtShared *)0x0);\n  if (ppuVar33 != (u8 **)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);\n  }\n  if (pBVar14 == *(BtShared **)puVar5) {\n    return (int)pBVar23;\n  }\n  pcVar6 = clearDatabasePage;\n  puVar38 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar38 + 0xcb290;\n  piVar29 = *(int **)(puVar38 + 0xc3794);\n  auStack_118._28_4_ = *piVar29;\n  pMStack_f8 = unaff_s0;\n  pBStack_f4 = pBVar25;\n  pcStack_f0 = pcVar28;\n  pBStack_ec = pBVar31;\n  ppuStack_e8 = ppuVar33;\n  pBStack_e4 = pBVar23;\n  puStack_e0 = puVar36;\n  pMStack_dc = pFrom;\n  pBStack_d8 = pCur;\n  p_Stack_d4 = pcVar6;\n  ppuStack_c8 = in_a2;\n  if ((MemPage *)pBVar14->nPage < in_a1) {\n    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);\n    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);\n    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar38 + 0xc3550))(0xb);\n    pBVar14 = pBVar25;\n    in_a3 = pBVar31;\n    PVar39 = 0xb;\n  }\n  else {\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }\n  if ((u8 *)auStack_118._28_4_ == (u8 *)*piVar29) {\n    return PVar39;\n  }\n  pcVar6 = *(code **)(puStack_130 + -0x7b28);\n  pcVar28 = dbpageUpdate;\n  puVar24 = (u8 *)auStack_118._28_4_;\n  (*pcVar6)();\n  pcStack_178 = pcVar6 + 0xcaf50;\n  piVar30 = *(int **)(pcVar6 + 0xc3454);\n  auStack_170._0_4_ = (Pager *)0x0;\n  auStack_170._4_4_ = *piVar30;\n  pBVar25 = pBVar20;\n  auStack_170._12_4_ = unaff_s0;\n  auStack_170._16_4_ = pBVar14;\n  piStack_15c = piVar29;\n  pBStack_158 = in_a3;\n  ppuStack_154 = ppuVar33;\n  pBStack_150 = pBVar23;\n  pcStack_14c = pcVar28;\n  if (*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0) {\n    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));\n    iVar26 = 1;\n    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));\n    *(char **)(puVar24 + 8) = pcVar8;\n    pBVar20 = in_a3;\n  }\n  else {\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }\n  if ((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30) {\n    return iVar26;\n  }\n  pcVar6 = *(code **)(pcStack_178 + -0x7b28);\n  pcVar28 = accessPayload;\n  psVar17 = (sqlite3 *)auStack_170._4_4_;\n  (*pcVar6)();\n  piVar29 = *(int **)(pcVar6 + 0xc31d0);\n  pBStack_1b4 = (BtCursor *)*piVar29;\n  iVar37 = psVar17->aLimit[2];\n  piVar32 = (int *)psVar17->nDb;\n  puStack_1b0 = puVar24;\n  iStack_1ac = iVar26;\n  piStack_1a8 = piVar30;\n  pBStack_1a4 = pBVar20;\n  ppuStack_1a0 = ppuVar33;\n  pBStack_19c = pBVar23;\n  puStack_198 = puVar36;\n  pMStack_194 = pFrom;\n  PStack_190 = PVar39;\n  pcStack_18c = pcVar28;\n  (*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))();\n  iVar26 = *(int *)&psVar17->lastRowid;\n  ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap;\n  if ((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))) {\n    uVar9 = 0x108be;\n  }\n  else {\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }\n  pcVar28 = (code *)&DAT_0000000b;\n  (**(code **)(pcVar6 + 0xc2f8c))\n            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c);\nLAB_000cdd30:\n  if (pBStack_1b4 == (BtCursor *)*piVar29) {\n    return (int)pcVar28;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xc31a4);\n  pCur_00 = pBStack_1b4;\n  (*pcVar6)();\n  (*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))();\n  uVar19 = (pCur_00->info).nPayload;\n  *(undefined4 *)&pCur_00->nKey = 0;\n  *(uint *)((int)&pCur_00->nKey + 4) = uVar19;\n  pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19);\n  if (pBuf == (uchar *)0x0) {\n    return 7;\n  }\n  iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0);\n  if (iVar26 == 0) {\n    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);\n    pCur_00->pKey = pBuf;\n    return 0;\n  }\n  (**(code **)(pcVar6 + 0xc2894))(pBuf);\n  return iVar26;\n}" primitive_type (function_declarator "balance(BtCursor *pCur)" identifier (parameter_list "(BtCursor *pCur)" ( (parameter_declaration "BtCursor *pCur" type_identifier (pointer_declarator "*pCur" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  i64 iVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  code *pcVar6;\n  MemPage *pMVar7;\n  u8 uVar12;\n  char cVar13;\n  char *pcVar8;\n  undefined4 uVar9;\n  int iVar10;\n  int iVar11;\n  uchar *pBuf;\n  u8 **extraout_v1;\n  u8 **extraout_v1_00;\n  BtShared *pBVar14;\n  DbPage *pDVar15;\n  MemPage *pMVar16;\n  sqlite3 *psVar17;\n  sqlite3_mutex *psVar18;\n  BtCursor *pCur_00;\n  uint uVar19;\n  MemPage *in_a1;\n  u8 **in_a2;\n  BtShared *pBVar20;\n  BtShared *in_a3;\n  u8 *puVar21;\n  u8 *puVar22;\n  MemPage *unaff_s0;\n  BtShared *pBVar23;\n  u8 *puVar24;\n  BtShared *pBVar25;\n  int iVar26;\n  u8 **ppuVar27;\n  code *pcVar28;\n  int *piVar29;\n  int *piVar30;\n  BtShared *pBVar31;\n  int *piVar32;\n  u8 **ppuVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  u8 *puVar36;\n  MemPage *pFrom;\n  int iVar37;\n  undefined *puVar38;\n  Pgno PVar39;\n  int iVar40;\n  int iVar41;\n  undefined1 *puVar42;\n  BtShared *pBStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  BtCursor *pBStack_1b4;\n  u8 *puStack_1b0;\n  int iStack_1ac;\n  int *piStack_1a8;\n  BtShared *pBStack_1a4;\n  u8 **ppuStack_1a0;\n  BtShared *pBStack_19c;\n  u8 *puStack_198;\n  MemPage *pMStack_194;\n  Pgno PStack_190;\n  code *pcStack_18c;\n  code *pcStack_178;\n  undefined1 auStack_170 [20];\n  int *piStack_15c;\n  BtShared *pBStack_158;\n  u8 **ppuStack_154;\n  BtShared *pBStack_150;\n  code *pcStack_14c;\n  sqlite3_mutex *psStack_138;\n  undefined *puStack_130;\n  Btree *pBStack_124;\n  undefined1 auStack_120 [8];\n  undefined1 auStack_118 [32];\n  MemPage *pMStack_f8;\n  BtShared *pBStack_f4;\n  code *pcStack_f0;\n  BtShared *pBStack_ec;\n  u8 **ppuStack_e8;\n  BtShared *pBStack_e4;\n  u8 *puStack_e0;\n  MemPage *pMStack_dc;\n  BtCursor *pBStack_d8;\n  _func_u16_MemPage_ptr_u8_ptr *p_Stack_d4;\n  u8 **ppuStack_c8;\n  u16 szCell;\n  MemPage *pNew;\n  int rc;\n  Pgno pgnoNew;\n  u8 *pCell;\n  CellArray b;\n  u8 aBalanceQuickSpace [13];\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar38 = PTR_LAB_00190ba8;\n  ppuVar33 = (u8 **)0x0;\n  pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24;\n  pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260);\n  pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  puVar36 = (u8 *)(int)pCur->iPage;\n  pFrom = pCur->pPage;\n  pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3);\n  do {\n    uVar12 = pFrom->nOverflow;\n    pMVar16 = in_a1;\n    if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }\n    if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;\n    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);\n    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];\n    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);\n    if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }\n    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }\nLAB_000cd310:\n    pFrom->nOverflow = '\0';\n    (*pcVar28)(pDVar15);\n    cVar13 = pCur->iPage + -1;\n    puVar36 = (u8 *)(int)cVar13;\n    pCur->iPage = cVar13;\n    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);\n    pCur->pPage = pFrom;\n  } while (pBVar23 == (BtShared *)0x0);\n  if (ppuVar33 != (u8 **)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);\n  }\n  if (pBVar14 == *(BtShared **)puVar5) {\n    return (int)pBVar23;\n  }\n  pcVar6 = clearDatabasePage;\n  puVar38 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar38 + 0xcb290;\n  piVar29 = *(int **)(puVar38 + 0xc3794);\n  auStack_118._28_4_ = *piVar29;\n  pMStack_f8 = unaff_s0;\n  pBStack_f4 = pBVar25;\n  pcStack_f0 = pcVar28;\n  pBStack_ec = pBVar31;\n  ppuStack_e8 = ppuVar33;\n  pBStack_e4 = pBVar23;\n  puStack_e0 = puVar36;\n  pMStack_dc = pFrom;\n  pBStack_d8 = pCur;\n  p_Stack_d4 = pcVar6;\n  ppuStack_c8 = in_a2;\n  if ((MemPage *)pBVar14->nPage < in_a1) {\n    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);\n    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);\n    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar38 + 0xc3550))(0xb);\n    pBVar14 = pBVar25;\n    in_a3 = pBVar31;\n    PVar39 = 0xb;\n  }\n  else {\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }\n  if ((u8 *)auStack_118._28_4_ == (u8 *)*piVar29) {\n    return PVar39;\n  }\n  pcVar6 = *(code **)(puStack_130 + -0x7b28);\n  pcVar28 = dbpageUpdate;\n  puVar24 = (u8 *)auStack_118._28_4_;\n  (*pcVar6)();\n  pcStack_178 = pcVar6 + 0xcaf50;\n  piVar30 = *(int **)(pcVar6 + 0xc3454);\n  auStack_170._0_4_ = (Pager *)0x0;\n  auStack_170._4_4_ = *piVar30;\n  pBVar25 = pBVar20;\n  auStack_170._12_4_ = unaff_s0;\n  auStack_170._16_4_ = pBVar14;\n  piStack_15c = piVar29;\n  pBStack_158 = in_a3;\n  ppuStack_154 = ppuVar33;\n  pBStack_150 = pBVar23;\n  pcStack_14c = pcVar28;\n  if (*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0) {\n    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));\n    iVar26 = 1;\n    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));\n    *(char **)(puVar24 + 8) = pcVar8;\n    pBVar20 = in_a3;\n  }\n  else {\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }\n  if ((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30) {\n    return iVar26;\n  }\n  pcVar6 = *(code **)(pcStack_178 + -0x7b28);\n  pcVar28 = accessPayload;\n  psVar17 = (sqlite3 *)auStack_170._4_4_;\n  (*pcVar6)();\n  piVar29 = *(int **)(pcVar6 + 0xc31d0);\n  pBStack_1b4 = (BtCursor *)*piVar29;\n  iVar37 = psVar17->aLimit[2];\n  piVar32 = (int *)psVar17->nDb;\n  puStack_1b0 = puVar24;\n  iStack_1ac = iVar26;\n  piStack_1a8 = piVar30;\n  pBStack_1a4 = pBVar20;\n  ppuStack_1a0 = ppuVar33;\n  pBStack_19c = pBVar23;\n  puStack_198 = puVar36;\n  pMStack_194 = pFrom;\n  PStack_190 = PVar39;\n  pcStack_18c = pcVar28;\n  (*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))();\n  iVar26 = *(int *)&psVar17->lastRowid;\n  ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap;\n  if ((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))) {\n    uVar9 = 0x108be;\n  }\n  else {\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }\n  pcVar28 = (code *)&DAT_0000000b;\n  (**(code **)(pcVar6 + 0xc2f8c))\n            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c);\nLAB_000cdd30:\n  if (pBStack_1b4 == (BtCursor *)*piVar29) {\n    return (int)pcVar28;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xc31a4);\n  pCur_00 = pBStack_1b4;\n  (*pcVar6)();\n  (*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))();\n  uVar19 = (pCur_00->info).nPayload;\n  *(undefined4 *)&pCur_00->nKey = 0;\n  *(uint *)((int)&pCur_00->nKey + 4) = uVar19;\n  pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19);\n  if (pBuf == (uchar *)0x0) {\n    return 7;\n  }\n  iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0);\n  if (iVar26 == 0) {\n    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);\n    pCur_00->pKey = pBuf;\n    return 0;\n  }\n  (**(code **)(pcVar6 + 0xc2894))(pBuf);\n  return iVar26;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "i64 iVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "MemPage *pMVar7;" type_identifier (pointer_declarator "*pMVar7" * identifier) ;) (declaration "u8 uVar12;" type_identifier identifier ;) (declaration "char cVar13;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uchar *pBuf;" type_identifier (pointer_declarator "*pBuf" * identifier) ;) (declaration "u8 **extraout_v1;" type_identifier (pointer_declarator "**extraout_v1" * (pointer_declarator "*extraout_v1" * identifier)) ;) (declaration "u8 **extraout_v1_00;" type_identifier (pointer_declarator "**extraout_v1_00" * (pointer_declarator "*extraout_v1_00" * identifier)) ;) (declaration "BtShared *pBVar14;" type_identifier (pointer_declarator "*pBVar14" * identifier) ;) (declaration "DbPage *pDVar15;" type_identifier (pointer_declarator "*pDVar15" * identifier) ;) (declaration "MemPage *pMVar16;" type_identifier (pointer_declarator "*pMVar16" * identifier) ;) (declaration "sqlite3 *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "sqlite3_mutex *psVar18;" type_identifier (pointer_declarator "*psVar18" * identifier) ;) (declaration "BtCursor *pCur_00;" type_identifier (pointer_declarator "*pCur_00" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "MemPage *in_a1;" type_identifier (pointer_declarator "*in_a1" * identifier) ;) (declaration "u8 **in_a2;" type_identifier (pointer_declarator "**in_a2" * (pointer_declarator "*in_a2" * identifier)) ;) (declaration "BtShared *pBVar20;" type_identifier (pointer_declarator "*pBVar20" * identifier) ;) (declaration "BtShared *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "u8 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "u8 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "MemPage *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "BtShared *pBVar23;" type_identifier (pointer_declarator "*pBVar23" * identifier) ;) (declaration "u8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "BtShared *pBVar25;" type_identifier (pointer_declarator "*pBVar25" * identifier) ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "u8 **ppuVar27;" type_identifier (pointer_declarator "**ppuVar27" * (pointer_declarator "*ppuVar27" * identifier)) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "BtShared *pBVar31;" type_identifier (pointer_declarator "*pBVar31" * identifier) ;) (declaration "int *piVar32;" primitive_type (pointer_declarator "*piVar32" * identifier) ;) (declaration "u8 **ppuVar33;" type_identifier (pointer_declarator "**ppuVar33" * (pointer_declarator "*ppuVar33" * identifier)) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "u8 *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "MemPage *pFrom;" type_identifier (pointer_declarator "*pFrom" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "undefined *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "Pgno PVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined1 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "BtShared *pBStack_1d8;" type_identifier (pointer_declarator "*pBStack_1d8" * identifier) ;) (declaration "int iStack_1bc;" primitive_type identifier ;) (declaration "int iStack_1b8;" primitive_type identifier ;) (declaration "BtCursor *pBStack_1b4;" type_identifier (pointer_declarator "*pBStack_1b4" * identifier) ;) (declaration "u8 *puStack_1b0;" type_identifier (pointer_declarator "*puStack_1b0" * identifier) ;) (declaration "int iStack_1ac;" primitive_type identifier ;) (declaration "int *piStack_1a8;" primitive_type (pointer_declarator "*piStack_1a8" * identifier) ;) (declaration "BtShared *pBStack_1a4;" type_identifier (pointer_declarator "*pBStack_1a4" * identifier) ;) (declaration "u8 **ppuStack_1a0;" type_identifier (pointer_declarator "**ppuStack_1a0" * (pointer_declarator "*ppuStack_1a0" * identifier)) ;) (declaration "BtShared *pBStack_19c;" type_identifier (pointer_declarator "*pBStack_19c" * identifier) ;) (declaration "u8 *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "MemPage *pMStack_194;" type_identifier (pointer_declarator "*pMStack_194" * identifier) ;) (declaration "Pgno PStack_190;" type_identifier identifier ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code *pcStack_178;" type_identifier (pointer_declarator "*pcStack_178" * identifier) ;) (declaration "undefined1 auStack_170 [20];" type_identifier (array_declarator "auStack_170 [20]" identifier [ number_literal ]) ;) (declaration "int *piStack_15c;" primitive_type (pointer_declarator "*piStack_15c" * identifier) ;) (declaration "BtShared *pBStack_158;" type_identifier (pointer_declarator "*pBStack_158" * identifier) ;) (declaration "u8 **ppuStack_154;" type_identifier (pointer_declarator "**ppuStack_154" * (pointer_declarator "*ppuStack_154" * identifier)) ;) (declaration "BtShared *pBStack_150;" type_identifier (pointer_declarator "*pBStack_150" * identifier) ;) (declaration "code *pcStack_14c;" type_identifier (pointer_declarator "*pcStack_14c" * identifier) ;) (declaration "sqlite3_mutex *psStack_138;" type_identifier (pointer_declarator "*psStack_138" * identifier) ;) (declaration "undefined *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "Btree *pBStack_124;" type_identifier (pointer_declarator "*pBStack_124" * identifier) ;) (declaration "undefined1 auStack_120 [8];" type_identifier (array_declarator "auStack_120 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_118 [32];" type_identifier (array_declarator "auStack_118 [32]" identifier [ number_literal ]) ;) (declaration "MemPage *pMStack_f8;" type_identifier (pointer_declarator "*pMStack_f8" * identifier) ;) (declaration "BtShared *pBStack_f4;" type_identifier (pointer_declarator "*pBStack_f4" * identifier) ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "BtShared *pBStack_ec;" type_identifier (pointer_declarator "*pBStack_ec" * identifier) ;) (declaration "u8 **ppuStack_e8;" type_identifier (pointer_declarator "**ppuStack_e8" * (pointer_declarator "*ppuStack_e8" * identifier)) ;) (declaration "BtShared *pBStack_e4;" type_identifier (pointer_declarator "*pBStack_e4" * identifier) ;) (declaration "u8 *puStack_e0;" type_identifier (pointer_declarator "*puStack_e0" * identifier) ;) (declaration "MemPage *pMStack_dc;" type_identifier (pointer_declarator "*pMStack_dc" * identifier) ;) (declaration "BtCursor *pBStack_d8;" type_identifier (pointer_declarator "*pBStack_d8" * identifier) ;) (declaration "_func_u16_MemPage_ptr_u8_ptr *p_Stack_d4;" type_identifier (pointer_declarator "*p_Stack_d4" * identifier) ;) (declaration "u8 **ppuStack_c8;" type_identifier (pointer_declarator "**ppuStack_c8" * (pointer_declarator "*ppuStack_c8" * identifier)) ;) (declaration "u16 szCell;" type_identifier identifier ;) (declaration "MemPage *pNew;" type_identifier (pointer_declarator "*pNew" * identifier) ;) (declaration "int rc;" primitive_type identifier ;) (declaration "Pgno pgnoNew;" type_identifier identifier ;) (declaration "u8 *pCell;" type_identifier (pointer_declarator "*pCell" * identifier) ;) (declaration "CellArray b;" type_identifier identifier ;) (declaration "u8 aBalanceQuickSpace [13];" type_identifier (array_declarator "aBalanceQuickSpace [13]" identifier [ number_literal ]) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar38 = PTR_LAB_00190ba8;" (assignment_expression "puVar38 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "ppuVar33 = (u8 **)0x0;" (assignment_expression "ppuVar33 = (u8 **)0x0" identifier = (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24;" (assignment_expression "pBVar14 = *(BtShared **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(BtShared **)PTR___stack_chk_guard_00190e24" * (cast_expression "(BtShared **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "BtShared **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260);" (assignment_expression "pBVar25 = (BtShared *)(PTR_LAB_00190bcc + 0x3260)" identifier = (cast_expression "(BtShared *)(PTR_LAB_00190bcc + 0x3260)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bcc + 0x3260)" ( (binary_expression "PTR_LAB_00190bcc + 0x3260" identifier + number_literal) )))) ;) (expression_statement "pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar28 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "puVar36 = (u8 *)(int)pCur->iPage;" (assignment_expression "puVar36 = (u8 *)(int)pCur->iPage" identifier = (cast_expression "(u8 *)(int)pCur->iPage" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pCur->iPage" ( (type_descriptor "int" primitive_type) ) (field_expression "pCur->iPage" identifier -> field_identifier)))) ;) (expression_statement "pFrom = pCur->pPage;" (assignment_expression "pFrom = pCur->pPage" identifier = (field_expression "pCur->pPage" identifier -> field_identifier)) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_00190ba8 + -0x27ec)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x27ec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x27ec)" ( (binary_expression "PTR_LAB_00190ba8 + -0x27ec" identifier + number_literal) )))) ;) (expression_statement "pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3);" (assignment_expression "pBVar31 = (BtShared *)((pCur->pBt->usableSize << 1) / 3)" identifier = (cast_expression "(BtShared *)((pCur->pBt->usableSize << 1) / 3)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pCur->pBt->usableSize << 1) / 3)" ( (binary_expression "(pCur->pBt->usableSize << 1) / 3" (parenthesized_expression "(pCur->pBt->usableSize << 1)" ( (binary_expression "pCur->pBt->usableSize << 1" (field_expression "pCur->pBt->usableSize" (field_expression "pCur->pBt" identifier -> field_identifier) -> field_identifier) << number_literal) )) / number_literal) )))) ;) (do_statement "do {\n    uVar12 = pFrom->nOverflow;\n    pMVar16 = in_a1;\n    if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }\n    if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;\n    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);\n    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];\n    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);\n    if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }\n    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }\nLAB_000cd310:\n    pFrom->nOverflow = '\0';\n    (*pcVar28)(pDVar15);\n    cVar13 = pCur->iPage + -1;\n    puVar36 = (u8 *)(int)cVar13;\n    pCur->iPage = cVar13;\n    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);\n    pCur->pPage = pFrom;\n  } while (pBVar23 == (BtShared *)0x0);" do (compound_statement "{\n    uVar12 = pFrom->nOverflow;\n    pMVar16 = in_a1;\n    if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }\n    if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;\n    unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);\n    in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];\n    pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);\n    if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }\n    if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }\nLAB_000cd310:\n    pFrom->nOverflow = '\0';\n    (*pcVar28)(pDVar15);\n    cVar13 = pCur->iPage + -1;\n    puVar36 = (u8 *)(int)cVar13;\n    pCur->iPage = cVar13;\n    pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);\n    pCur->pPage = pFrom;\n  }" { (expression_statement "uVar12 = pFrom->nOverflow;" (assignment_expression "uVar12 = pFrom->nOverflow" identifier = (field_expression "pFrom->nOverflow" identifier -> field_identifier)) ;) (expression_statement "pMVar16 = in_a1;" (assignment_expression "pMVar16 = in_a1" identifier = identifier) ;) (if_statement "if (puVar36 == (u8 *)0x0) {\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }" if (parenthesized_expression "(puVar36 == (u8 *)0x0)" ( (binary_expression "puVar36 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pBVar23 = (BtShared *)0x0;\n      if (uVar12 == '\0') break;\n      pgnoNew = 0;\n      pCell = (u8 *)0x0;\n      pBVar23 = pFrom->pBt;\n      rc = sqlite3PagerWrite(pFrom->pDbPage);\n      if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }\n      pCur->apPage[0] = pFrom;\n      puVar36 = (u8 *)0x1;\n      pCur->ix = 0;\n      pCur->iPage = '\x01';\n      pCur->aiIdx[0] = 0;\n      pCur->pPage = pMVar7;\n      uVar12 = pMVar7->nOverflow;\n      pMVar16 = in_a1;\n      pFrom = pMVar7;\n    }" { (expression_statement "pBVar23 = (BtShared *)0x0;" (assignment_expression "pBVar23 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar12 == '\0') break;" if (parenthesized_expression "(uVar12 == '\0')" ( (binary_expression "uVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pgnoNew = 0;" (assignment_expression "pgnoNew = 0" identifier = number_literal) ;) (expression_statement "pCell = (u8 *)0x0;" (assignment_expression "pCell = (u8 *)0x0" identifier = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar23 = pFrom->pBt;" (assignment_expression "pBVar23 = pFrom->pBt" identifier = (field_expression "pFrom->pBt" identifier -> field_identifier)) ;) (expression_statement "rc = sqlite3PagerWrite(pFrom->pDbPage);" (assignment_expression "rc = sqlite3PagerWrite(pFrom->pDbPage)" identifier = (call_expression "sqlite3PagerWrite(pFrom->pDbPage)" identifier (argument_list "(pFrom->pDbPage)" ( (field_expression "pFrom->pDbPage" identifier -> field_identifier) )))) ;) (if_statement "if (rc == 0) {\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n        in_a2 = &pCell;\n        in_a3 = (BtShared *)pFrom->pgno;\n        in_a1 = (MemPage *)&pgnoNew;\n        rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');\n        if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        in_a2 = (u8 **)&rc;\n        in_a1 = (MemPage *)pgnoNew;\n        copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);\n        if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }\n        unaff_s0 = (MemPage *)pgnoNew;\n        if (rc != 0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);\n        puVar4 = PTR_LAB_00190bdc;\n        *(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;\n        (*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);\n        puVar36 = pFrom->aData + pFrom->hdrOffset + 8;\n        in_a3 = (BtShared *)((uint)pCell >> 0x18);\n        in_a2 = (u8 **)((uint)pCell >> 0x10);\n        in_a1 = (MemPage *)((uint)pCell >> 8);\n        *puVar36 = (u8)((uint)pCell >> 0x18);\n        puVar36[1] = (u8)((uint)pCell >> 0x10);\n        puVar36[2] = (u8)((uint)pCell >> 8);\n        puVar36[3] = (u8)pCell;\n        pCur->apPage[1] = (MemPage *)pgnoNew;\n        pMVar7 = (MemPage *)pgnoNew;\n      }" { (expression_statement "in_a2 = &pCell;" (assignment_expression "in_a2 = &pCell" identifier = (pointer_expression "&pCell" & identifier)) ;) (expression_statement "in_a3 = (BtShared *)pFrom->pgno;" (assignment_expression "in_a3 = (BtShared *)pFrom->pgno" identifier = (cast_expression "(BtShared *)pFrom->pgno" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFrom->pgno" identifier -> field_identifier))) ;) (expression_statement "in_a1 = (MemPage *)&pgnoNew;" (assignment_expression "in_a1 = (MemPage *)&pgnoNew" identifier = (cast_expression "(MemPage *)&pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pgnoNew" & identifier))) ;) (expression_statement "rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0');" (assignment_expression "rc = allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0')" identifier = (call_expression "allocateBtreePage(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0')" identifier (argument_list "(pBVar23,(MemPage **)in_a1,(Pgno *)in_a2,(Pgno)in_a3,'\0')" ( identifier , (cast_expression "(MemPage **)in_a1" ( (type_descriptor "MemPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(Pgno *)in_a2" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Pgno)in_a3" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (char_literal "'\0'" ' escape_sequence ') )))) ;) (if_statement "if (rc != 0) {\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (compound_statement "{\n          if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" { (if_statement "if (pBVar23->autoVacuum != '\0') goto LAB_000cd368;" if (parenthesized_expression "(pBVar23->autoVacuum != '\0')" ( (binary_expression "pBVar23->autoVacuum != '\0'" (field_expression "pBVar23->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd368;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd060;" goto statement_identifier ;) })) (expression_statement "in_a2 = (u8 **)&rc;" (assignment_expression "in_a2 = (u8 **)&rc" identifier = (cast_expression "(u8 **)&rc" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&rc" & identifier))) ;) (expression_statement "in_a1 = (MemPage *)pgnoNew;" (assignment_expression "in_a1 = (MemPage *)pgnoNew" identifier = (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2);" (call_expression "copyNodeContent(pFrom,(MemPage *)pgnoNew,(int *)in_a2)" identifier (argument_list "(pFrom,(MemPage *)pgnoNew,(int *)in_a2)" ( identifier , (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)in_a2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (pBVar23->autoVacuum != '\0') {\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }" if (parenthesized_expression "(pBVar23->autoVacuum != '\0')" ( (binary_expression "pBVar23->autoVacuum != '\0'" (field_expression "pBVar23->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;\n          in_a3 = (BtShared *)pFrom->pgno;\n          in_a1 = (MemPage *)pCell;\n          ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);\n        }" { (labeled_statement "LAB_000cd368:\n          in_a2 = (u8 **)&DAT_00000005;" statement_identifier : (expression_statement "in_a2 = (u8 **)&DAT_00000005;" (assignment_expression "in_a2 = (u8 **)&DAT_00000005" identifier = (cast_expression "(u8 **)&DAT_00000005" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000005" & identifier))) ;)) (expression_statement "in_a3 = (BtShared *)pFrom->pgno;" (assignment_expression "in_a3 = (BtShared *)pFrom->pgno" identifier = (cast_expression "(BtShared *)pFrom->pgno" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFrom->pgno" identifier -> field_identifier))) ;) (expression_statement "in_a1 = (MemPage *)pCell;" (assignment_expression "in_a1 = (MemPage *)pCell" identifier = (cast_expression "(MemPage *)pCell" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc);" (call_expression "ptrmapPut(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc)" identifier (argument_list "(pBVar23,(Pgno)pCell,'\x05',(Pgno)in_a3,&rc)" ( identifier , (cast_expression "(Pgno)pCell" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (char_literal "'\x05'" ' escape_sequence ') , (cast_expression "(Pgno)in_a3" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (pointer_expression "&rc" & identifier) ))) ;) })) (expression_statement "unaff_s0 = (MemPage *)pgnoNew;" (assignment_expression "unaff_s0 = (MemPage *)pgnoNew" identifier = (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (rc != 0) goto LAB_000cd060;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000cd060;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1);" (call_expression "(*(code *)PTR_memcpy_00190e2c)(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pgnoNew + 0x1a,pFrom->aiOvfl,(uint)pFrom->nOverflow << 1)" ( (binary_expression "pgnoNew + 0x1a" identifier + number_literal) , (field_expression "pFrom->aiOvfl" identifier -> field_identifier) , (binary_expression "(uint)pFrom->nOverflow << 1" (cast_expression "(uint)pFrom->nOverflow" ( (type_descriptor "uint" type_identifier) ) (field_expression "pFrom->nOverflow" identifier -> field_identifier)) << number_literal) ))) ;) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)unaff_s0 + 0x24,pFrom->apOvfl,(uint)pFrom->nOverflow << 2)" ( (binary_expression "(int)unaff_s0 + 0x24" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (field_expression "pFrom->apOvfl" identifier -> field_identifier) , (binary_expression "(uint)pFrom->nOverflow << 2" (cast_expression "(uint)pFrom->nOverflow" ( (type_descriptor "uint" type_identifier) ) (field_expression "pFrom->nOverflow" identifier -> field_identifier)) << number_literal) ))) ;) (expression_statement "puVar4 = PTR_LAB_00190bdc;" (assignment_expression "puVar4 = PTR_LAB_00190bdc" identifier = identifier) ;) (expression_statement "*(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;" (assignment_expression "*(u8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow" (pointer_expression "*(u8 *)((int)unaff_s0 + 0xc)" * (cast_expression "(u8 *)((int)unaff_s0 + 0xc)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 0xc)" ( (binary_expression "(int)unaff_s0 + 0xc" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pFrom->nOverflow" identifier -> field_identifier)) ;) (expression_statement "(*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7);" (call_expression "(*(code *)(puVar4 + -0x3030))(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7)" (parenthesized_expression "(*(code *)(puVar4 + -0x3030))" ( (pointer_expression "*(code *)(puVar4 + -0x3030)" * (cast_expression "(code *)(puVar4 + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0x3030)" ( (binary_expression "puVar4 + -0x3030" identifier + number_literal) )))) )) (argument_list "(pFrom,**(byte **)((int)unaff_s0 + 0x38) & 0xf7)" ( identifier , (binary_expression "**(byte **)((int)unaff_s0 + 0x38) & 0xf7" (pointer_expression "**(byte **)((int)unaff_s0 + 0x38)" * (pointer_expression "*(byte **)((int)unaff_s0 + 0x38)" * (cast_expression "(byte **)((int)unaff_s0 + 0x38)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s0 + 0x38)" ( (binary_expression "(int)unaff_s0 + 0x38" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) & number_literal) ))) ;) (expression_statement "puVar36 = pFrom->aData + pFrom->hdrOffset + 8;" (assignment_expression "puVar36 = pFrom->aData + pFrom->hdrOffset + 8" identifier = (binary_expression "pFrom->aData + pFrom->hdrOffset + 8" (binary_expression "pFrom->aData + pFrom->hdrOffset" (field_expression "pFrom->aData" identifier -> field_identifier) + (field_expression "pFrom->hdrOffset" identifier -> field_identifier)) + number_literal)) ;) (expression_statement "in_a3 = (BtShared *)((uint)pCell >> 0x18);" (assignment_expression "in_a3 = (BtShared *)((uint)pCell >> 0x18)" identifier = (cast_expression "(BtShared *)((uint)pCell >> 0x18)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pCell >> 0x18)" ( (binary_expression "(uint)pCell >> 0x18" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_a2 = (u8 **)((uint)pCell >> 0x10);" (assignment_expression "in_a2 = (u8 **)((uint)pCell >> 0x10)" identifier = (cast_expression "(u8 **)((uint)pCell >> 0x10)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)pCell >> 0x10)" ( (binary_expression "(uint)pCell >> 0x10" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_a1 = (MemPage *)((uint)pCell >> 8);" (assignment_expression "in_a1 = (MemPage *)((uint)pCell >> 8)" identifier = (cast_expression "(MemPage *)((uint)pCell >> 8)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pCell >> 8)" ( (binary_expression "(uint)pCell >> 8" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar36 = (u8)((uint)pCell >> 0x18);" (assignment_expression "*puVar36 = (u8)((uint)pCell >> 0x18)" (pointer_expression "*puVar36" * identifier) = (call_expression "(u8)((uint)pCell >> 0x18)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "((uint)pCell >> 0x18)" ( (binary_expression "(uint)pCell >> 0x18" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar36[1] = (u8)((uint)pCell >> 0x10);" (assignment_expression "puVar36[1] = (u8)((uint)pCell >> 0x10)" (subscript_expression "puVar36[1]" identifier [ number_literal ]) = (call_expression "(u8)((uint)pCell >> 0x10)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "((uint)pCell >> 0x10)" ( (binary_expression "(uint)pCell >> 0x10" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar36[2] = (u8)((uint)pCell >> 8);" (assignment_expression "puVar36[2] = (u8)((uint)pCell >> 8)" (subscript_expression "puVar36[2]" identifier [ number_literal ]) = (call_expression "(u8)((uint)pCell >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "((uint)pCell >> 8)" ( (binary_expression "(uint)pCell >> 8" (cast_expression "(uint)pCell" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar36[3] = (u8)pCell;" (assignment_expression "puVar36[3] = (u8)pCell" (subscript_expression "puVar36[3]" identifier [ number_literal ]) = (cast_expression "(u8)pCell" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "pCur->apPage[1] = (MemPage *)pgnoNew;" (assignment_expression "pCur->apPage[1] = (MemPage *)pgnoNew" (subscript_expression "pCur->apPage[1]" (field_expression "pCur->apPage" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pMVar7 = (MemPage *)pgnoNew;" (assignment_expression "pMVar7 = (MemPage *)pgnoNew" identifier = (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }" else (compound_statement "{\nLAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;\n        pCur->apPage[1] = (MemPage *)0x0;\n        pBVar23 = (BtShared *)rc;\n        if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;\n        pMVar7 = pCur->apPage[1];\n      }" { (labeled_statement "LAB_000cd060:\n        unaff_s0 = (MemPage *)pgnoNew;" statement_identifier : (expression_statement "unaff_s0 = (MemPage *)pgnoNew;" (assignment_expression "unaff_s0 = (MemPage *)pgnoNew" identifier = (cast_expression "(MemPage *)pgnoNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pCur->apPage[1] = (MemPage *)0x0;" (assignment_expression "pCur->apPage[1] = (MemPage *)0x0" (subscript_expression "pCur->apPage[1]" (field_expression "pCur->apPage" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar23 = (BtShared *)rc;" (assignment_expression "pBVar23 = (BtShared *)rc" identifier = (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)) break;" if (parenthesized_expression "((pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0))" ( (binary_expression "(pgnoNew == 0) ||\n           ((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)" (parenthesized_expression "(pgnoNew == 0)" ( (binary_expression "pgnoNew == 0" identifier == number_literal) )) || (parenthesized_expression "((*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0)" ( (comma_expression "(*pcVar28)(*(undefined4 *)(pgnoNew + 0x48)), pBVar23 = (BtShared *)rc, rc != 0" (call_expression "(*pcVar28)(*(undefined4 *)(pgnoNew + 0x48))" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(*(undefined4 *)(pgnoNew + 0x48))" ( (pointer_expression "*(undefined4 *)(pgnoNew + 0x48)" * (cast_expression "(undefined4 *)(pgnoNew + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pgnoNew + 0x48)" ( (binary_expression "pgnoNew + 0x48" identifier + number_literal) )))) ))) , (comma_expression "pBVar23 = (BtShared *)rc, rc != 0" (assignment_expression "pBVar23 = (BtShared *)rc" identifier = (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "rc != 0" identifier != number_literal))) ))) )) (break_statement "break;" break ;)) (expression_statement "pMVar7 = pCur->apPage[1];" (assignment_expression "pMVar7 = pCur->apPage[1]" identifier = (subscript_expression "pCur->apPage[1]" (field_expression "pCur->apPage" identifier -> field_identifier) [ number_literal ])) ;) }))) (expression_statement "pCur->apPage[0] = pFrom;" (assignment_expression "pCur->apPage[0] = pFrom" (subscript_expression "pCur->apPage[0]" (field_expression "pCur->apPage" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "puVar36 = (u8 *)0x1;" (assignment_expression "puVar36 = (u8 *)0x1" identifier = (cast_expression "(u8 *)0x1" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCur->ix = 0;" (assignment_expression "pCur->ix = 0" (field_expression "pCur->ix" identifier -> field_identifier) = number_literal) ;) (expression_statement "pCur->iPage = '\x01';" (assignment_expression "pCur->iPage = '\x01'" (field_expression "pCur->iPage" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pCur->aiIdx[0] = 0;" (assignment_expression "pCur->aiIdx[0] = 0" (subscript_expression "pCur->aiIdx[0]" (field_expression "pCur->aiIdx" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "pCur->pPage = pMVar7;" (assignment_expression "pCur->pPage = pMVar7" (field_expression "pCur->pPage" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar12 = pMVar7->nOverflow;" (assignment_expression "uVar12 = pMVar7->nOverflow" identifier = (field_expression "pMVar7->nOverflow" identifier -> field_identifier)) ;) (expression_statement "pMVar16 = in_a1;" (assignment_expression "pMVar16 = in_a1" identifier = identifier) ;) (expression_statement "pFrom = pMVar7;" (assignment_expression "pFrom = pMVar7" identifier = identifier) ;) })) (if_statement "if ((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))\n    break;" if (parenthesized_expression "((uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31))" ( (binary_expression "(uVar12 == '\0') &&\n       (in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31)" (parenthesized_expression "(uVar12 == '\0')" ( (binary_expression "uVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31)" ( (comma_expression "in_a1 = pMVar16, pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31" (assignment_expression "in_a1 = pMVar16" identifier = identifier) , (comma_expression "pBVar23 = (BtShared *)0x0, (BtShared *)(uint)pFrom->nFree <= pBVar31" (assignment_expression "pBVar23 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "(BtShared *)(uint)pFrom->nFree <= pBVar31" (cast_expression "(BtShared *)(uint)pFrom->nFree" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pFrom->nFree" ( (type_descriptor "uint" type_identifier) ) (field_expression "pFrom->nFree" identifier -> field_identifier))) <= identifier))) ))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2);" (assignment_expression "unaff_s0 = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2)" identifier = (pointer_expression "*(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2)" * (cast_expression "(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2)" ( (type_descriptor "MemPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2)" ( (binary_expression "pCur->aiIdx + (int)(puVar36 + 0xc) * 2 + -2" (binary_expression "pCur->aiIdx + (int)(puVar36 + 0xc) * 2" (field_expression "pCur->aiIdx" identifier -> field_identifier) + (binary_expression "(int)(puVar36 + 0xc) * 2" (cast_expression "(int)(puVar36 + 0xc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar36 + 0xc)" ( (binary_expression "puVar36 + 0xc" identifier + number_literal) ))) * number_literal)) + number_literal) ))))) ;) (expression_statement "in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)];" (assignment_expression "in_a1 = (MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)]" identifier = (cast_expression "(MemPage *)(uint)pCur->aiIdx[(int)(puVar36 + -1)]" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pCur->aiIdx[(int)(puVar36 + -1)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pCur->aiIdx[(int)(puVar36 + -1)]" (field_expression "pCur->aiIdx" identifier -> field_identifier) [ (cast_expression "(int)(puVar36 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar36 + -1)" ( (binary_expression "puVar36 + -1" identifier + number_literal) ))) ])))) ;) (expression_statement "pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage);" (assignment_expression "pBVar23 = (BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage)" identifier = (cast_expression "(BtShared *)sqlite3PagerWrite(unaff_s0->pDbPage)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3PagerWrite(unaff_s0->pDbPage)" identifier (argument_list "(unaff_s0->pDbPage)" ( (field_expression "unaff_s0->pDbPage" identifier -> field_identifier) ))))) ;) (if_statement "if (pBVar23 != (BtShared *)0x0) {\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }" if (parenthesized_expression "(pBVar23 != (BtShared *)0x0)" ( (binary_expression "pBVar23 != (BtShared *)0x0" identifier != (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      pFrom->nOverflow = '\0';\n      (*pcVar6)(pFrom->pDbPage);\n      cVar13 = pCur->iPage + -1;\n      pCur->iPage = cVar13;\n      pCur->pPage = pCur->apPage[cVar13];\n      in_a1 = pMVar16;\n      break;\n    }" { (expression_statement "pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "pFrom->nOverflow = '\0';" (assignment_expression "pFrom->nOverflow = '\0'" (field_expression "pFrom->nOverflow" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*pcVar6)(pFrom->pDbPage);" (call_expression "(*pcVar6)(pFrom->pDbPage)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pFrom->pDbPage)" ( (field_expression "pFrom->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "cVar13 = pCur->iPage + -1;" (assignment_expression "cVar13 = pCur->iPage + -1" identifier = (binary_expression "pCur->iPage + -1" (field_expression "pCur->iPage" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pCur->iPage = cVar13;" (assignment_expression "pCur->iPage = cVar13" (field_expression "pCur->iPage" identifier -> field_identifier) = identifier) ;) (expression_statement "pCur->pPage = pCur->apPage[cVar13];" (assignment_expression "pCur->pPage = pCur->apPage[cVar13]" (field_expression "pCur->pPage" identifier -> field_identifier) = (subscript_expression "pCur->apPage[cVar13]" (field_expression "pCur->apPage" identifier -> field_identifier) [ identifier ])) ;) (expression_statement "in_a1 = pMVar16;" (assignment_expression "in_a1 = pMVar16" identifier = identifier) ;) (break_statement "break;" break ;) })) (if_statement "if ((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))) {\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }\n    else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }" if (parenthesized_expression "((((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1))))" ( (binary_expression "(((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)) ||\n       ((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))" (parenthesized_expression "(((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell))" ( (binary_expression "((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)) ||\n        (pFrom->aiOvfl[0] != pFrom->nCell)" (parenthesized_expression "((pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1))" ( (binary_expression "(pFrom->intKeyLeaf == '\0') || (bVar1 = pFrom->nOverflow, bVar1 != 1)" (parenthesized_expression "(pFrom->intKeyLeaf == '\0')" ( (binary_expression "pFrom->intKeyLeaf == '\0'" (field_expression "pFrom->intKeyLeaf" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(bVar1 = pFrom->nOverflow, bVar1 != 1)" ( (comma_expression "bVar1 = pFrom->nOverflow, bVar1 != 1" (assignment_expression "bVar1 = pFrom->nOverflow" identifier = (field_expression "pFrom->nOverflow" identifier -> field_identifier)) , (binary_expression "bVar1 != 1" identifier != number_literal)) ))) )) || (parenthesized_expression "(pFrom->aiOvfl[0] != pFrom->nCell)" ( (binary_expression "pFrom->aiOvfl[0] != pFrom->nCell" (subscript_expression "pFrom->aiOvfl[0]" (field_expression "pFrom->aiOvfl" identifier -> field_identifier) [ number_literal ]) != (field_expression "pFrom->nCell" identifier -> field_identifier)) ))) )) || (parenthesized_expression "((unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)))" ( (parenthesized_expression "(unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1))" ( (binary_expression "unaff_s0->pgno == 1 || ((MemPage *)(uint)unaff_s0->nCell != in_a1)" (binary_expression "unaff_s0->pgno == 1" (field_expression "unaff_s0->pgno" identifier -> field_identifier) == number_literal) || (parenthesized_expression "((MemPage *)(uint)unaff_s0->nCell != in_a1)" ( (binary_expression "(MemPage *)(uint)unaff_s0->nCell != in_a1" (cast_expression "(MemPage *)(uint)unaff_s0->nCell" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)unaff_s0->nCell" ( (type_descriptor "uint" type_identifier) ) (field_expression "unaff_s0->nCell" identifier -> field_identifier))) != identifier) ))) )) ))) )) (compound_statement "{\n      ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);\n      in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);\n      in_a2 = ppuVar27;\n      pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);\n      if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }\nLAB_000cd308:\n      pDVar15 = pFrom->pDbPage;\n      ppuVar33 = ppuVar27;\n    }" { (expression_statement "ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize);" (assignment_expression "ppuVar27 = (u8 **)(*pcVar6)(pCur->pBt->pageSize)" identifier = (cast_expression "(u8 **)(*pcVar6)(pCur->pBt->pageSize)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar6)(pCur->pBt->pageSize)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCur->pBt->pageSize)" ( (field_expression "pCur->pBt->pageSize" (field_expression "pCur->pBt" identifier -> field_identifier) -> field_identifier) ))))) ;) (expression_statement "in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1);" (assignment_expression "in_a3 = (BtShared *)(uint)(puVar36 == (u8 *)0x1)" identifier = (cast_expression "(BtShared *)(uint)(puVar36 == (u8 *)0x1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(puVar36 == (u8 *)0x1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar36 == (u8 *)0x1)" ( (binary_expression "puVar36 == (u8 *)0x1" identifier == (cast_expression "(u8 *)0x1" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) ;) (expression_statement "in_a2 = ppuVar27;" (assignment_expression "in_a2 = ppuVar27" identifier = identifier) ;) (expression_statement "pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1);" (assignment_expression "pBVar23 = (BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1)" identifier = (cast_expression "(BtShared *)\n                balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "balance_nonroot(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1)" identifier (argument_list "(unaff_s0,(int)in_a1,(u8 *)ppuVar27,(int)in_a3,pCur->hints & 1)" ( identifier , (cast_expression "(int)in_a1" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(u8 *)ppuVar27" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)in_a3" ( (type_descriptor "int" primitive_type) ) identifier) , (binary_expression "pCur->hints & 1" (field_expression "pCur->hints" identifier -> field_identifier) & number_literal) ))))) ;) (if_statement "if (ppuVar33 != (u8 **)0x0) {\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }" if (parenthesized_expression "(ppuVar33 != (u8 **)0x0)" ( (binary_expression "ppuVar33 != (u8 **)0x0" identifier != (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        (*(code *)(puVar38 + 0x4e2c))(ppuVar33);\n      }" { (expression_statement "(*(code *)(puVar38 + 0x4e2c))(ppuVar33);" (call_expression "(*(code *)(puVar38 + 0x4e2c))(ppuVar33)" (parenthesized_expression "(*(code *)(puVar38 + 0x4e2c))" ( (pointer_expression "*(code *)(puVar38 + 0x4e2c)" * (cast_expression "(code *)(puVar38 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0x4e2c)" ( (binary_expression "puVar38 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(ppuVar33)" ( identifier ))) ;) })) (labeled_statement "LAB_000cd308:\n      pDVar15 = pFrom->pDbPage;" statement_identifier : (expression_statement "pDVar15 = pFrom->pDbPage;" (assignment_expression "pDVar15 = pFrom->pDbPage" identifier = (field_expression "pFrom->pDbPage" identifier -> field_identifier)) ;)) (expression_statement "ppuVar33 = ppuVar27;" (assignment_expression "ppuVar33 = ppuVar27" identifier = identifier) ;) }) (else_clause "else {\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }" else (compound_statement "{\n      if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }\n      in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      pBVar23 = (BtShared *)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      pDVar15 = pFrom->pDbPage;\n    }" { (if_statement "if (pFrom->aiOvfl[0] != 0) {\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }" if (parenthesized_expression "(pFrom->aiOvfl[0] != 0)" ( (binary_expression "pFrom->aiOvfl[0] != 0" (subscript_expression "pFrom->aiOvfl[0]" (field_expression "pFrom->aiOvfl" identifier -> field_identifier) [ number_literal ]) != number_literal) )) (compound_statement "{\n        in_a3 = (BtShared *)0x0;\n        pBVar20 = pFrom->pBt;\n        in_a2 = (u8 **)&pgnoNew;\n        in_a1 = (MemPage *)&pNew;\n        rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');\n        ppuVar27 = ppuVar33;\n        pBVar23 = (BtShared *)rc;\n        if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }\n        goto LAB_000cd308;\n      }" { (expression_statement "in_a3 = (BtShared *)0x0;" (assignment_expression "in_a3 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar20 = pFrom->pBt;" (assignment_expression "pBVar20 = pFrom->pBt" identifier = (field_expression "pFrom->pBt" identifier -> field_identifier)) ;) (expression_statement "in_a2 = (u8 **)&pgnoNew;" (assignment_expression "in_a2 = (u8 **)&pgnoNew" identifier = (cast_expression "(u8 **)&pgnoNew" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pgnoNew" & identifier))) ;) (expression_statement "in_a1 = (MemPage *)&pNew;" (assignment_expression "in_a1 = (MemPage *)&pNew" identifier = (cast_expression "(MemPage *)&pNew" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pNew" & identifier))) ;) (expression_statement "rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0');" (assignment_expression "rc = allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0')" identifier = (call_expression "allocateBtreePage(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0')" identifier (argument_list "(pBVar20,(MemPage **)in_a1,(Pgno *)in_a2,0,'\0')" ( identifier , (cast_expression "(MemPage **)in_a1" ( (type_descriptor "MemPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(Pgno *)in_a2" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (char_literal "'\0'" ' escape_sequence ') )))) ;) (expression_statement "ppuVar27 = ppuVar33;" (assignment_expression "ppuVar27 = ppuVar33" identifier = identifier) ;) (expression_statement "pBVar23 = (BtShared *)rc;" (assignment_expression "pBVar23 = (BtShared *)rc" identifier = (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((BtShared *)rc == (BtShared *)0x0) {\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }" if (parenthesized_expression "((BtShared *)rc == (BtShared *)0x0)" ( (binary_expression "(BtShared *)rc == (BtShared *)0x0" (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pCell = pFrom->apOvfl[0];\n          szCell = (*pFrom->xCellSize)(pFrom,pCell);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);\n          in_a2 = (u8 **)0x1;\n          in_a1 = (MemPage *)0x0;\n          b.apEnd[0] = pFrom->aDataEnd;\n          b.apCell = &pCell;\n          b.szCell = &szCell;\n          b.ixNx[0] = 2;\n          in_a3 = (BtShared *)pNew;\n          b.nCell = (uint)bVar1;\n          b.pRef = pFrom;\n          pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);\n          rc = (int)pBVar23;\n          if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }\n          (*pcVar28)(pNew->pDbPage);\n          pBVar23 = (BtShared *)rc;\n        }" { (expression_statement "pCell = pFrom->apOvfl[0];" (assignment_expression "pCell = pFrom->apOvfl[0]" identifier = (subscript_expression "pFrom->apOvfl[0]" (field_expression "pFrom->apOvfl" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "szCell = (*pFrom->xCellSize)(pFrom,pCell);" (assignment_expression "szCell = (*pFrom->xCellSize)(pFrom,pCell)" identifier = (call_expression "(*pFrom->xCellSize)(pFrom,pCell)" (parenthesized_expression "(*pFrom->xCellSize)" ( (pointer_expression "*pFrom->xCellSize" * (field_expression "pFrom->xCellSize" identifier -> field_identifier)) )) (argument_list "(pFrom,pCell)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd);" (call_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))(pNew,0xd)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0x3030)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0x3030)" ( (binary_expression "PTR_LAB_00190bdc + -0x3030" identifier + number_literal) )))) )) (argument_list "(pNew,0xd)" ( identifier , number_literal ))) ;) (expression_statement "in_a2 = (u8 **)0x1;" (assignment_expression "in_a2 = (u8 **)0x1" identifier = (cast_expression "(u8 **)0x1" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "in_a1 = (MemPage *)0x0;" (assignment_expression "in_a1 = (MemPage *)0x0" identifier = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "b.apEnd[0] = pFrom->aDataEnd;" (assignment_expression "b.apEnd[0] = pFrom->aDataEnd" (subscript_expression "b.apEnd[0]" (field_expression "b.apEnd" identifier . field_identifier) [ number_literal ]) = (field_expression "pFrom->aDataEnd" identifier -> field_identifier)) ;) (expression_statement "b.apCell = &pCell;" (assignment_expression "b.apCell = &pCell" (field_expression "b.apCell" identifier . field_identifier) = (pointer_expression "&pCell" & identifier)) ;) (expression_statement "b.szCell = &szCell;" (assignment_expression "b.szCell = &szCell" (field_expression "b.szCell" identifier . field_identifier) = (pointer_expression "&szCell" & identifier)) ;) (expression_statement "b.ixNx[0] = 2;" (assignment_expression "b.ixNx[0] = 2" (subscript_expression "b.ixNx[0]" (field_expression "b.ixNx" identifier . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "in_a3 = (BtShared *)pNew;" (assignment_expression "in_a3 = (BtShared *)pNew" identifier = (cast_expression "(BtShared *)pNew" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "b.nCell = (uint)bVar1;" (assignment_expression "b.nCell = (uint)bVar1" (field_expression "b.nCell" identifier . field_identifier) = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "b.pRef = pFrom;" (assignment_expression "b.pRef = pFrom" (field_expression "b.pRef" identifier . field_identifier) = identifier) ;) (expression_statement "pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b);" (assignment_expression "pBVar23 = (BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b)" identifier = (cast_expression "(BtShared *)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))(&b)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0xf50)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0xf50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0xf50)" ( (binary_expression "PTR_LAB_00190bdc + -0xf50" identifier + number_literal) )))) )) (argument_list "(&b)" ( (pointer_expression "&b" & identifier) ))))) ;) (expression_statement "rc = (int)pBVar23;" (assignment_expression "rc = (int)pBVar23" identifier = (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pBVar23 == (BtShared *)0x0) {\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }\n          else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(pBVar23 == (BtShared *)0x0)" ( (binary_expression "pBVar23 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;\n            if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }\n            puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);\n            do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);\n            puVar21 = aBalanceQuickSpace + 4;\n            do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);\n            if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            puVar36 = unaff_s0->aData + bVar1 + 8;\n            in_a3 = (BtShared *)(pgnoNew >> 0x18);\n            in_a2 = (u8 **)(pgnoNew >> 0x10);\n            in_a1 = (MemPage *)(pgnoNew >> 8);\n            *puVar36 = (u8)(pgnoNew >> 0x18);\n            puVar36[1] = (u8)(pgnoNew >> 0x10);\n            puVar36[2] = (u8)(pgnoNew >> 8);\n            puVar36[3] = (u8)pgnoNew;\n            pBVar23 = (BtShared *)rc;\n            if (pNew == (MemPage *)0x0) goto LAB_000cd308;\n          }" { (expression_statement "pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize;" (assignment_expression "pNew->nFree = ((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize" (field_expression "pNew->nFree" identifier -> field_identifier) = (binary_expression "((-2 - szCell) - pNew->cellOffset) + (short)pBVar20->usableSize" (parenthesized_expression "((-2 - szCell) - pNew->cellOffset)" ( (binary_expression "(-2 - szCell) - pNew->cellOffset" (parenthesized_expression "(-2 - szCell)" ( (binary_expression "-2 - szCell" number_literal - identifier) )) - (field_expression "pNew->cellOffset" identifier -> field_identifier)) )) + (cast_expression "(short)pBVar20->usableSize" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "pBVar20->usableSize" identifier -> field_identifier)))) ;) (if_statement "if (pBVar20->autoVacuum != '\0') {\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }" if (parenthesized_expression "(pBVar20->autoVacuum != '\0')" ( (binary_expression "pBVar20->autoVacuum != '\0'" (field_expression "pBVar20->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);\n              if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }\n            }" { (expression_statement "ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc);" (call_expression "ptrmapPut(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc)" identifier (argument_list "(pBVar20,pgnoNew,'\x05',unaff_s0->pgno,&rc)" ( identifier , identifier , (char_literal "'\x05'" ' escape_sequence ') , (field_expression "unaff_s0->pgno" identifier -> field_identifier) , (pointer_expression "&rc" & identifier) ))) ;) (if_statement "if (pNew->minLocal < szCell) {\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }" if (parenthesized_expression "(pNew->minLocal < szCell)" ( (binary_expression "pNew->minLocal < szCell" (field_expression "pNew->minLocal" identifier -> field_identifier) < identifier) )) (compound_statement "{\n                ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);\n              }" { (expression_statement "ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc);" (call_expression "ptrmapPutOvflPtr(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc)" identifier (argument_list "(pNew,(MemPage *)&pNew->aDataEnd,pCell,&rc)" ( identifier , (cast_expression "(MemPage *)&pNew->aDataEnd" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pNew->aDataEnd" & (field_expression "pNew->aDataEnd" identifier -> field_identifier))) , identifier , (pointer_expression "&rc" & identifier) ))) ;) })) })) (expression_statement "puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);" (assignment_expression "puVar36 = pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage)" identifier = (binary_expression "pFrom->aData +\n                      (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage)" (field_expression "pFrom->aData" identifier -> field_identifier) + (parenthesized_expression "(*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage)" ( (binary_expression "*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage" (pointer_expression "*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" * (cast_expression "(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" ( (binary_expression "pFrom->aCellIdx + (pFrom->nCell - 1) * 2" (field_expression "pFrom->aCellIdx" identifier -> field_identifier) + (binary_expression "(pFrom->nCell - 1) * 2" (parenthesized_expression "(pFrom->nCell - 1)" ( (binary_expression "pFrom->nCell - 1" (field_expression "pFrom->nCell" identifier -> field_identifier) - number_literal) )) * number_literal)) )))) & (field_expression "pFrom->maskPage" identifier -> field_identifier)) )))) ;) (do_statement "do {\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            } while (pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36);" do (compound_statement "{\n              puVar24 = puVar36;\n              puVar36 = puVar24 + 1;\n              if (-1 < (char)*puVar24) break;\n            }" { (expression_statement "puVar24 = puVar36;" (assignment_expression "puVar24 = puVar36" identifier = identifier) ;) (expression_statement "puVar36 = puVar24 + 1;" (assignment_expression "puVar36 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (if_statement "if (-1 < (char)*puVar24) break;" if (parenthesized_expression "(-1 < (char)*puVar24)" ( (binary_expression "-1 < (char)*puVar24" number_literal < (cast_expression "(char)*puVar24" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*puVar24" * identifier))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "(pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36)" ( (binary_expression "pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9\n                     != puVar36" (binary_expression "pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9" (binary_expression "pFrom->aData +\n                     (*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage)" (field_expression "pFrom->aData" identifier -> field_identifier) + (parenthesized_expression "(*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage)" ( (binary_expression "*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage" (pointer_expression "*(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" * (cast_expression "(ushort *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFrom->aCellIdx + (pFrom->nCell - 1) * 2)" ( (binary_expression "pFrom->aCellIdx + (pFrom->nCell - 1) * 2" (field_expression "pFrom->aCellIdx" identifier -> field_identifier) + (binary_expression "(pFrom->nCell - 1) * 2" (parenthesized_expression "(pFrom->nCell - 1)" ( (binary_expression "pFrom->nCell - 1" (field_expression "pFrom->nCell" identifier -> field_identifier) - number_literal) )) * number_literal)) )))) & (field_expression "pFrom->maskPage" identifier -> field_identifier)) ))) + number_literal) != identifier) )) ;) (expression_statement "puVar21 = aBalanceQuickSpace + 4;" (assignment_expression "puVar21 = aBalanceQuickSpace + 4" identifier = (binary_expression "aBalanceQuickSpace + 4" identifier + number_literal)) ;) (do_statement "do {\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            } while (pCell < puVar24 + 10);" do (compound_statement "{\n              pCell = puVar36 + 1;\n              puVar22 = puVar21 + 1;\n              uVar12 = *puVar36;\n              *puVar21 = uVar12;\n              if (-1 < (char)uVar12) break;\n              puVar36 = pCell;\n              puVar21 = puVar22;\n            }" { (expression_statement "pCell = puVar36 + 1;" (assignment_expression "pCell = puVar36 + 1" identifier = (binary_expression "puVar36 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar21 + 1;" (assignment_expression "puVar22 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = *puVar36;" (assignment_expression "uVar12 = *puVar36" identifier = (pointer_expression "*puVar36" * identifier)) ;) (expression_statement "*puVar21 = uVar12;" (assignment_expression "*puVar21 = uVar12" (pointer_expression "*puVar21" * identifier) = identifier) ;) (if_statement "if (-1 < (char)uVar12) break;" if (parenthesized_expression "(-1 < (char)uVar12)" ( (binary_expression "-1 < (char)uVar12" number_literal < (cast_expression "(char)uVar12" ( (type_descriptor "char" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "puVar36 = pCell;" (assignment_expression "puVar36 = pCell" identifier = identifier) ;) (expression_statement "puVar21 = puVar22;" (assignment_expression "puVar21 = puVar22" identifier = identifier) ;) }) while (parenthesized_expression "(pCell < puVar24 + 10)" ( (binary_expression "pCell < puVar24 + 10" identifier < (binary_expression "puVar24 + 10" identifier + number_literal)) )) ;) (if_statement "if (rc == 0) {\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }\n            else {\n              bVar1 = unaff_s0->hdrOffset;\n            }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n              insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);\n              bVar1 = unaff_s0->hdrOffset;\n            }" { (expression_statement "insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc);" (call_expression "insertCell(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc)" identifier (argument_list "(unaff_s0,(uint)unaff_s0->nCell,aBalanceQuickSpace,\n                         (int)puVar22 - (int)aBalanceQuickSpace,(u8 *)0x0,pFrom->pgno,&rc)" ( identifier , (cast_expression "(uint)unaff_s0->nCell" ( (type_descriptor "uint" type_identifier) ) (field_expression "unaff_s0->nCell" identifier -> field_identifier)) , identifier , (binary_expression "(int)puVar22 - (int)aBalanceQuickSpace" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)aBalanceQuickSpace" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (field_expression "pFrom->pgno" identifier -> field_identifier) , (pointer_expression "&rc" & identifier) ))) ;) (expression_statement "bVar1 = unaff_s0->hdrOffset;" (assignment_expression "bVar1 = unaff_s0->hdrOffset" identifier = (field_expression "unaff_s0->hdrOffset" identifier -> field_identifier)) ;) }) (else_clause "else {\n              bVar1 = unaff_s0->hdrOffset;\n            }" else (compound_statement "{\n              bVar1 = unaff_s0->hdrOffset;\n            }" { (expression_statement "bVar1 = unaff_s0->hdrOffset;" (assignment_expression "bVar1 = unaff_s0->hdrOffset" identifier = (field_expression "unaff_s0->hdrOffset" identifier -> field_identifier)) ;) }))) (expression_statement "puVar36 = unaff_s0->aData + bVar1 + 8;" (assignment_expression "puVar36 = unaff_s0->aData + bVar1 + 8" identifier = (binary_expression "unaff_s0->aData + bVar1 + 8" (binary_expression "unaff_s0->aData + bVar1" (field_expression "unaff_s0->aData" identifier -> field_identifier) + identifier) + number_literal)) ;) (expression_statement "in_a3 = (BtShared *)(pgnoNew >> 0x18);" (assignment_expression "in_a3 = (BtShared *)(pgnoNew >> 0x18)" identifier = (cast_expression "(BtShared *)(pgnoNew >> 0x18)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pgnoNew >> 0x18)" ( (binary_expression "pgnoNew >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "in_a2 = (u8 **)(pgnoNew >> 0x10);" (assignment_expression "in_a2 = (u8 **)(pgnoNew >> 0x10)" identifier = (cast_expression "(u8 **)(pgnoNew >> 0x10)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pgnoNew >> 0x10)" ( (binary_expression "pgnoNew >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "in_a1 = (MemPage *)(pgnoNew >> 8);" (assignment_expression "in_a1 = (MemPage *)(pgnoNew >> 8)" identifier = (cast_expression "(MemPage *)(pgnoNew >> 8)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pgnoNew >> 8)" ( (binary_expression "pgnoNew >> 8" identifier >> number_literal) )))) ;) (expression_statement "*puVar36 = (u8)(pgnoNew >> 0x18);" (assignment_expression "*puVar36 = (u8)(pgnoNew >> 0x18)" (pointer_expression "*puVar36" * identifier) = (call_expression "(u8)(pgnoNew >> 0x18)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(pgnoNew >> 0x18)" ( (binary_expression "pgnoNew >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "puVar36[1] = (u8)(pgnoNew >> 0x10);" (assignment_expression "puVar36[1] = (u8)(pgnoNew >> 0x10)" (subscript_expression "puVar36[1]" identifier [ number_literal ]) = (call_expression "(u8)(pgnoNew >> 0x10)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(pgnoNew >> 0x10)" ( (binary_expression "pgnoNew >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "puVar36[2] = (u8)(pgnoNew >> 8);" (assignment_expression "puVar36[2] = (u8)(pgnoNew >> 8)" (subscript_expression "puVar36[2]" identifier [ number_literal ]) = (call_expression "(u8)(pgnoNew >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(pgnoNew >> 8)" ( (binary_expression "pgnoNew >> 8" identifier >> number_literal) )))) ;) (expression_statement "puVar36[3] = (u8)pgnoNew;" (assignment_expression "puVar36[3] = (u8)pgnoNew" (subscript_expression "puVar36[3]" identifier [ number_literal ]) = (cast_expression "(u8)pgnoNew" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "pBVar23 = (BtShared *)rc;" (assignment_expression "pBVar23 = (BtShared *)rc" identifier = (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pNew == (MemPage *)0x0) goto LAB_000cd308;" if (parenthesized_expression "(pNew == (MemPage *)0x0)" ( (binary_expression "pNew == (MemPage *)0x0" identifier == (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;)) }) (else_clause "else if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }" else (if_statement "if (pNew == (MemPage *)0x0) {\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(pNew == (MemPage *)0x0)" ( (binary_expression "pNew == (MemPage *)0x0" identifier == (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pDVar15 = pFrom->pDbPage;\n            goto LAB_000cd310;\n          }" { (expression_statement "pDVar15 = pFrom->pDbPage;" (assignment_expression "pDVar15 = pFrom->pDbPage" identifier = (field_expression "pFrom->pDbPage" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000cd310;" goto statement_identifier ;) })))) (expression_statement "(*pcVar28)(pNew->pDbPage);" (call_expression "(*pcVar28)(pNew->pDbPage)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pNew->pDbPage)" ( (field_expression "pNew->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBVar23 = (BtShared *)rc;" (assignment_expression "pBVar23 = (BtShared *)rc" identifier = (cast_expression "(BtShared *)rc" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;) })) (expression_statement "in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3);" (assignment_expression "in_a3 = (BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3)" identifier = (cast_expression "(BtShared *)((int)&__DT_SYMTAB[0x5e].st_name + 3)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0x5e].st_name + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0x5e].st_name + 3" (cast_expression "(int)&__DT_SYMTAB[0x5e].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x5e].st_name" & (field_expression "__DT_SYMTAB[0x5e].st_name" (subscript_expression "__DT_SYMTAB[0x5e]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "in_a2 = (u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(u8 **)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "in_a1 = (MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(MemPage *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "pBVar23 = (BtShared *)&DAT_0000000b;" (assignment_expression "pBVar23 = (BtShared *)&DAT_0000000b" identifier = (cast_expression "(BtShared *)&DAT_0000000b" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "pDVar15 = pFrom->pDbPage;" (assignment_expression "pDVar15 = pFrom->pDbPage" identifier = (field_expression "pFrom->pDbPage" identifier -> field_identifier)) ;) }))) (labeled_statement "LAB_000cd310:\n    pFrom->nOverflow = '\0';" statement_identifier : (expression_statement "pFrom->nOverflow = '\0';" (assignment_expression "pFrom->nOverflow = '\0'" (field_expression "pFrom->nOverflow" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "(*pcVar28)(pDVar15);" (call_expression "(*pcVar28)(pDVar15)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pDVar15)" ( identifier ))) ;) (expression_statement "cVar13 = pCur->iPage + -1;" (assignment_expression "cVar13 = pCur->iPage + -1" identifier = (binary_expression "pCur->iPage + -1" (field_expression "pCur->iPage" identifier -> field_identifier) + number_literal)) ;) (expression_statement "puVar36 = (u8 *)(int)cVar13;" (assignment_expression "puVar36 = (u8 *)(int)cVar13" identifier = (cast_expression "(u8 *)(int)cVar13" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)cVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pCur->iPage = cVar13;" (assignment_expression "pCur->iPage = cVar13" (field_expression "pCur->iPage" identifier -> field_identifier) = identifier) ;) (expression_statement "pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2);" (assignment_expression "pFrom = *(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2)" identifier = (pointer_expression "*(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2)" * (cast_expression "(MemPage **)(pCur->aiIdx + (int)(puVar36 + 0xc) * 2)" ( (type_descriptor "MemPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pCur->aiIdx + (int)(puVar36 + 0xc) * 2)" ( (binary_expression "pCur->aiIdx + (int)(puVar36 + 0xc) * 2" (field_expression "pCur->aiIdx" identifier -> field_identifier) + (binary_expression "(int)(puVar36 + 0xc) * 2" (cast_expression "(int)(puVar36 + 0xc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar36 + 0xc)" ( (binary_expression "puVar36 + 0xc" identifier + number_literal) ))) * number_literal)) ))))) ;) (expression_statement "pCur->pPage = pFrom;" (assignment_expression "pCur->pPage = pFrom" (field_expression "pCur->pPage" identifier -> field_identifier) = identifier) ;) }) while (parenthesized_expression "(pBVar23 == (BtShared *)0x0)" ( (binary_expression "pBVar23 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (ppuVar33 != (u8 **)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);\n  }" if (parenthesized_expression "(ppuVar33 != (u8 **)0x0)" ( (binary_expression "ppuVar33 != (u8 **)0x0" identifier != (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(ppuVar33)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x4e2c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x4e2c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(ppuVar33)" ( identifier ))) ;) })) (if_statement "if (pBVar14 == *(BtShared **)puVar5) {\n    return (int)pBVar23;\n  }" if (parenthesized_expression "(pBVar14 == *(BtShared **)puVar5)" ( (binary_expression "pBVar14 == *(BtShared **)puVar5" identifier == (pointer_expression "*(BtShared **)puVar5" * (cast_expression "(BtShared **)puVar5" ( (type_descriptor "BtShared **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return (int)pBVar23;\n  }" { (return_statement "return (int)pBVar23;" return (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar6 = clearDatabasePage;" (assignment_expression "pcVar6 = clearDatabasePage" identifier = identifier) ;) (expression_statement "puVar38 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar38 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_130 = puVar38 + 0xcb290;" (assignment_expression "puStack_130 = puVar38 + 0xcb290" identifier = (binary_expression "puVar38 + 0xcb290" identifier + number_literal)) ;) (expression_statement "piVar29 = *(int **)(puVar38 + 0xc3794);" (assignment_expression "piVar29 = *(int **)(puVar38 + 0xc3794)" identifier = (pointer_expression "*(int **)(puVar38 + 0xc3794)" * (cast_expression "(int **)(puVar38 + 0xc3794)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar38 + 0xc3794)" ( (binary_expression "puVar38 + 0xc3794" identifier + number_literal) ))))) ;) (expression_statement "auStack_118._28_4_ = *piVar29;" (assignment_expression "auStack_118._28_4_ = *piVar29" (field_expression "auStack_118._28_4_" identifier . field_identifier) = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "pMStack_f8 = unaff_s0;" (assignment_expression "pMStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "pBStack_f4 = pBVar25;" (assignment_expression "pBStack_f4 = pBVar25" identifier = identifier) ;) (expression_statement "pcStack_f0 = pcVar28;" (assignment_expression "pcStack_f0 = pcVar28" identifier = identifier) ;) (expression_statement "pBStack_ec = pBVar31;" (assignment_expression "pBStack_ec = pBVar31" identifier = identifier) ;) (expression_statement "ppuStack_e8 = ppuVar33;" (assignment_expression "ppuStack_e8 = ppuVar33" identifier = identifier) ;) (expression_statement "pBStack_e4 = pBVar23;" (assignment_expression "pBStack_e4 = pBVar23" identifier = identifier) ;) (expression_statement "puStack_e0 = puVar36;" (assignment_expression "puStack_e0 = puVar36" identifier = identifier) ;) (expression_statement "pMStack_dc = pFrom;" (assignment_expression "pMStack_dc = pFrom" identifier = identifier) ;) (expression_statement "pBStack_d8 = pCur;" (assignment_expression "pBStack_d8 = pCur" identifier = identifier) ;) (expression_statement "p_Stack_d4 = pcVar6;" (assignment_expression "p_Stack_d4 = pcVar6" identifier = identifier) ;) (expression_statement "ppuStack_c8 = in_a2;" (assignment_expression "ppuStack_c8 = in_a2" identifier = identifier) ;) (if_statement "if ((MemPage *)pBVar14->nPage < in_a1) {\n    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);\n    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);\n    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar38 + 0xc3550))(0xb);\n    pBVar14 = pBVar25;\n    in_a3 = pBVar31;\n    PVar39 = 0xb;\n  }\n  else {\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }" if (parenthesized_expression "((MemPage *)pBVar14->nPage < in_a1)" ( (binary_expression "(MemPage *)pBVar14->nPage < in_a1" (cast_expression "(MemPage *)pBVar14->nPage" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar14->nPage" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n    pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);\n    pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);\n    in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar38 + 0xc3550))(0xb);\n    pBVar14 = pBVar25;\n    in_a3 = pBVar31;\n    PVar39 = 0xb;\n  }" { (expression_statement "pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2);" (assignment_expression "pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2)" identifier = (cast_expression "(BtShared *)((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_name + 2" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_name" & (field_expression "__DT_SYMTAB[0xd5].st_name" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c);" (assignment_expression "psStack_138 = (sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c)" identifier = (cast_expression "(sqlite3_mutex *)(*(int *)(puVar38 + 0xc32c8) + 0x625c)" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar38 + 0xc32c8) + 0x625c)" ( (binary_expression "*(int *)(puVar38 + 0xc32c8) + 0x625c" (pointer_expression "*(int *)(puVar38 + 0xc32c8)" * (cast_expression "(int *)(puVar38 + 0xc32c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0xc32c8)" ( (binary_expression "puVar38 + 0xc32c8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64);" (assignment_expression "pBVar20 = (BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64)" identifier = (cast_expression "(BtShared *)(*(int *)(puVar38 + 0xc32cc) + -0x5e64)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar38 + 0xc32cc) + -0x5e64)" ( (binary_expression "*(int *)(puVar38 + 0xc32cc) + -0x5e64" (pointer_expression "*(int *)(puVar38 + 0xc32cc)" * (cast_expression "(int *)(puVar38 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0xc32cc)" ( (binary_expression "puVar38 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378);" (assignment_expression "in_a1 = (MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378)" identifier = (cast_expression "(MemPage *)(*(int *)(puVar38 + 0xc32cc) + -0x6378)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar38 + 0xc32cc) + -0x6378)" ( (binary_expression "*(int *)(puVar38 + 0xc32cc) + -0x6378" (pointer_expression "*(int *)(puVar38 + 0xc32cc)" * (cast_expression "(int *)(puVar38 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0xc32cc)" ( (binary_expression "puVar38 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar38 + 0xc3550))(0xb);" (call_expression "(**(code **)(puVar38 + 0xc3550))(0xb)" (parenthesized_expression "(**(code **)(puVar38 + 0xc3550))" ( (pointer_expression "**(code **)(puVar38 + 0xc3550)" * (pointer_expression "*(code **)(puVar38 + 0xc3550)" * (cast_expression "(code **)(puVar38 + 0xc3550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar38 + 0xc3550)" ( (binary_expression "puVar38 + 0xc3550" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "pBVar14 = pBVar25;" (assignment_expression "pBVar14 = pBVar25" identifier = identifier) ;) (expression_statement "in_a3 = pBVar31;" (assignment_expression "in_a3 = pBVar31" identifier = identifier) ;) (expression_statement "PVar39 = 0xb;" (assignment_expression "PVar39 = 0xb" identifier = number_literal) ;) }) (else_clause "else {\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }" else (compound_statement "{\n    pBVar20 = (BtShared *)auStack_120;\n    psStack_138 = (sqlite3_mutex *)0x0;\n    pBStack_1d8 = (BtShared *)0x0;\n    auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();\n    PVar39 = auStack_120._4_4_;\n    if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }\n  }" { (expression_statement "pBVar20 = (BtShared *)auStack_120;" (assignment_expression "pBVar20 = (BtShared *)auStack_120" identifier = (cast_expression "(BtShared *)auStack_120" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_138 = (sqlite3_mutex *)0x0;" (assignment_expression "psStack_138 = (sqlite3_mutex *)0x0" identifier = (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_1d8 = (BtShared *)0x0;" (assignment_expression "pBStack_1d8 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))();" (assignment_expression "auStack_120._4_4_ = (*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))()" (field_expression "auStack_120._4_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c))" ( (pointer_expression "*(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c)" * (cast_expression "(code *)(*(int *)(puVar38 + 0xc354c) + -0x267c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar38 + 0xc354c) + -0x267c)" ( (binary_expression "*(int *)(puVar38 + 0xc354c) + -0x267c" (pointer_expression "*(int *)(puVar38 + 0xc354c)" * (cast_expression "(int *)(puVar38 + 0xc354c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + 0xc354c)" ( (binary_expression "puVar38 + 0xc354c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "PVar39 = auStack_120._4_4_;" (assignment_expression "PVar39 = auStack_120._4_4_" identifier = (field_expression "auStack_120._4_4_" identifier . field_identifier)) ;) (if_statement "if (auStack_120._4_4_ == 0) {\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }" if (parenthesized_expression "(auStack_120._4_4_ == 0)" ( (binary_expression "auStack_120._4_4_ == 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }\nLAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';\n      PVar39 = auStack_120._4_4_;\n      if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }\n    }" { (if_statement "if (*(u8 *)(auStack_120._0_4_ + 1) == '\0') {\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }\n      else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }" if (parenthesized_expression "(*(u8 *)(auStack_120._0_4_ + 1) == '\0')" ( (binary_expression "*(u8 *)(auStack_120._0_4_ + 1) == '\0'" (pointer_expression "*(u8 *)(auStack_120._0_4_ + 1)" * (cast_expression "(u8 *)(auStack_120._0_4_ + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 1)" ( (binary_expression "auStack_120._0_4_ + 1" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(u8 *)(auStack_120._0_4_ + 1) = '\x01';\n        pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);\n        if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }\n        pBVar20 = (BtShared *)0x1;\n        if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }\n      }" { (expression_statement "*(u8 *)(auStack_120._0_4_ + 1) = '\x01';" (assignment_expression "*(u8 *)(auStack_120._0_4_ + 1) = '\x01'" (pointer_expression "*(u8 *)(auStack_120._0_4_ + 1)" * (cast_expression "(u8 *)(auStack_120._0_4_ + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 1)" ( (binary_expression "auStack_120._0_4_ + 1" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9);" (assignment_expression "pBStack_124 = (Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9)" identifier = (binary_expression "(Btree *)(uint)*(u8 *)(auStack_120._0_4_ + 9)" (cast_expression "(Btree *)(uint)" ( (type_descriptor "Btree *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(u8 *)(auStack_120._0_4_ + 9)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 9)" ( (binary_expression "auStack_120._0_4_ + 9" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (if_statement "if (*(u16 *)(auStack_120._0_4_ + 0x16) == 0) {\n          uVar19 = 0;\n        }\n        else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }" if (parenthesized_expression "(*(u16 *)(auStack_120._0_4_ + 0x16) == 0)" ( (binary_expression "*(u16 *)(auStack_120._0_4_ + 0x16) == 0" (pointer_expression "*(u16 *)(auStack_120._0_4_ + 0x16)" * (cast_expression "(u16 *)(auStack_120._0_4_ + 0x16)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 0x16)" ( (binary_expression "auStack_120._0_4_ + 0x16" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar19 = 0;\n        }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }" else (compound_statement "{\n          ppuVar33 = (u8 **)0x0;\n          pBVar23 = (BtShared *)(auStack_120 + 8);\n          puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);\n          unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar26 = 0;\n          do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);\n        }" { (expression_statement "ppuVar33 = (u8 **)0x0;" (assignment_expression "ppuVar33 = (u8 **)0x0" identifier = (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pBVar23 = (BtShared *)(auStack_120 + 8);" (assignment_expression "pBVar23 = (BtShared *)(auStack_120 + 8)" identifier = (cast_expression "(BtShared *)(auStack_120 + 8)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120 + 8)" ( (binary_expression "auStack_120 + 8" identifier + number_literal) )))) ;) (expression_statement "puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970);" (assignment_expression "puVar36 = (u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970)" identifier = (cast_expression "(u8 *)(*(int *)(puStack_130 + -0x7d64) + -0x2970)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7d64) + -0x2970)" ( (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x2970" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428);" (assignment_expression "unaff_s0 = (MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" identifier = (cast_expression "(MemPage *)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7d64) + -0x5428)" ( (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x5428" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          } while (iVar26 < (int)uVar19);" do (compound_statement "{\n            auStack_120._4_4_ = 0;\n            pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));\n            if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }\n            in_a1 = pFrom;\n            pBVar20 = pBVar23;\n            auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);\n            if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);\n            iVar26 = iVar26 + 1;\n            ppuVar33 = (u8 **)((int)ppuVar33 + 2);\n          }" { (expression_statement "auStack_120._4_4_ = 0;" (assignment_expression "auStack_120._4_4_ = 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)));" (assignment_expression "pFrom = (MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)))" identifier = (cast_expression "(MemPage *)\n                    (*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)))" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)))" ( (binary_expression "*(u8 **)(auStack_120._0_4_ + 0x38) +\n                    (*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18))" (pointer_expression "*(u8 **)(auStack_120._0_4_ + 0x38)" * (cast_expression "(u8 **)(auStack_120._0_4_ + 0x38)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x38)" ( (binary_expression "auStack_120._0_4_ + 0x38" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) + (parenthesized_expression "(*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18))" ( (binary_expression "*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33) &\n                    *(u16 *)(auStack_120._0_4_ + 0x18)" (pointer_expression "*(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33)" * (cast_expression "(ushort *)(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33)" ( (binary_expression "*(u8 **)(auStack_120._0_4_ + 0x40) + (int)ppuVar33" (pointer_expression "*(u8 **)(auStack_120._0_4_ + 0x40)" * (cast_expression "(u8 **)(auStack_120._0_4_ + 0x40)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x40)" ( (binary_expression "auStack_120._0_4_ + 0x40" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) + (cast_expression "(int)ppuVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) & (pointer_expression "*(u16 *)(auStack_120._0_4_ + 0x18)" * (cast_expression "(u16 *)(auStack_120._0_4_ + 0x18)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 0x18)" ( (binary_expression "auStack_120._0_4_ + 0x18" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) ))))) ))) )))) ;) (if_statement "if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }" if (parenthesized_expression "(*(u8 *)(auStack_120._0_4_ + 8) == '\0')" ( (binary_expression "*(u8 *)(auStack_120._0_4_ + 8) == '\0'" (pointer_expression "*(u8 *)(auStack_120._0_4_ + 8)" * (cast_expression "(u8 *)(auStack_120._0_4_ + 8)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 8)" ( (binary_expression "auStack_120._0_4_ + 8" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              pBVar20 = (BtShared *)0x1;\n              uVar19 = (uint)&pFrom->intKeyLeaf & 3;\n              in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);\n              pBStack_1d8 = in_a3;\n              auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n              if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;\n            }" { (expression_statement "pBVar20 = (BtShared *)0x1;" (assignment_expression "pBVar20 = (BtShared *)0x1" identifier = (cast_expression "(BtShared *)0x1" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar19 = (uint)&pFrom->intKeyLeaf & 3;" (assignment_expression "uVar19 = (uint)&pFrom->intKeyLeaf & 3" identifier = (binary_expression "(uint)&pFrom->intKeyLeaf & 3" (binary_expression "(uint)&pFrom->intKeyLeaf" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "pFrom->intKeyLeaf" identifier -> field_identifier)) & number_literal)) ;) (expression_statement "in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8);" (assignment_expression "in_a1 = (MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8)" identifier = (cast_expression "(MemPage *)\n                      (*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8)" ( (binary_expression "*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8 |\n                      *(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8" (binary_expression "*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8 &\n                       -1 << (uVar19 + 1) * 8" (binary_expression "*(int *)((int)pFrom - ((uint)pFrom & 3)) << ((uint)pFrom & 3) * 8" (pointer_expression "*(int *)((int)pFrom - ((uint)pFrom & 3))" * (cast_expression "(int *)((int)pFrom - ((uint)pFrom & 3))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFrom - ((uint)pFrom & 3))" ( (binary_expression "(int)pFrom - ((uint)pFrom & 3)" (cast_expression "(int)pFrom" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)pFrom & 3)" ( (binary_expression "(uint)pFrom & 3" (cast_expression "(uint)pFrom" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )))) << (binary_expression "((uint)pFrom & 3) * 8" (parenthesized_expression "((uint)pFrom & 3)" ( (binary_expression "(uint)pFrom & 3" (cast_expression "(uint)pFrom" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) & (binary_expression "-1 << (uVar19 + 1) * 8" number_literal << (binary_expression "(uVar19 + 1) * 8" (parenthesized_expression "(uVar19 + 1)" ( (binary_expression "uVar19 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(&pFrom->intKeyLeaf + -uVar19) >> (3 - uVar19) * 8" (pointer_expression "*(uint *)(&pFrom->intKeyLeaf + -uVar19)" * (cast_expression "(uint *)(&pFrom->intKeyLeaf + -uVar19)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&pFrom->intKeyLeaf + -uVar19)" ( (binary_expression "&pFrom->intKeyLeaf + -uVar19" (pointer_expression "&pFrom->intKeyLeaf" & (field_expression "pFrom->intKeyLeaf" identifier -> field_identifier)) + (unary_expression "-uVar19" - identifier)) )))) >> (binary_expression "(3 - uVar19) * 8" (parenthesized_expression "(3 - uVar19)" ( (binary_expression "3 - uVar19" number_literal - identifier) )) * number_literal))) )))) ;) (expression_statement "pBStack_1d8 = in_a3;" (assignment_expression "pBStack_1d8 = in_a3" identifier = identifier) ;) (expression_statement "auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);" (assignment_expression "auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" (field_expression "auStack_120._4_4_" identifier . field_identifier) = (call_expression "clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" identifier (argument_list "(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" ( identifier , (cast_expression "(Pgno)in_a1" ( (type_descriptor "Pgno" type_identifier) ) identifier) , number_literal , (cast_expression "(int *)in_a3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;" if (parenthesized_expression "(auStack_120._4_4_ != 0)" ( (binary_expression "auStack_120._4_4_ != 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_000cd7ec;" goto statement_identifier ;)) })) (expression_statement "in_a1 = pFrom;" (assignment_expression "in_a1 = pFrom" identifier = identifier) ;) (expression_statement "pBVar20 = pBVar23;" (assignment_expression "pBVar20 = pBVar23" identifier = identifier) ;) (expression_statement "auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23);" (assignment_expression "auStack_120._4_4_ =\n                 clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23)" (field_expression "auStack_120._4_4_" identifier . field_identifier) = (call_expression "clearCell((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23)" identifier (argument_list "((MemPage *)auStack_120._0_4_,(uchar *)pFrom,(CellInfo *)pBVar23)" ( (cast_expression "(MemPage *)auStack_120._0_4_" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_120._0_4_" identifier . field_identifier)) , (cast_expression "(uchar *)pFrom" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(CellInfo *)pBVar23" ( (type_descriptor "CellInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (auStack_120._4_4_ != 0) goto LAB_000cd7ec;" if (parenthesized_expression "(auStack_120._4_4_ != 0)" ( (binary_expression "auStack_120._4_4_ != 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_000cd7ec;" goto statement_identifier ;)) (expression_statement "uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16);" (assignment_expression "uVar19 = (uint)*(u16 *)(auStack_120._0_4_ + 0x16)" identifier = (binary_expression "(uint)*(u16 *)(auStack_120._0_4_ + 0x16)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(u16 *)(auStack_120._0_4_ + 0x16)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 0x16)" ( (binary_expression "auStack_120._0_4_ + 0x16" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "iVar26 = iVar26 + 1;" (assignment_expression "iVar26 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "ppuVar33 = (u8 **)((int)ppuVar33 + 2);" (assignment_expression "ppuVar33 = (u8 **)((int)ppuVar33 + 2)" identifier = (cast_expression "(u8 **)((int)ppuVar33 + 2)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar33 + 2)" ( (binary_expression "(int)ppuVar33 + 2" (cast_expression "(int)ppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar26 < (int)uVar19)" ( (binary_expression "iVar26 < (int)uVar19" identifier < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (expression_statement "pBVar20 = (BtShared *)0x1;" (assignment_expression "pBVar20 = (BtShared *)0x1" identifier = (cast_expression "(BtShared *)0x1" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(u8 *)(auStack_120._0_4_ + 8) == '\0') {\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }" if (parenthesized_expression "(*(u8 *)(auStack_120._0_4_ + 8) == '\0')" ( (binary_expression "*(u8 *)(auStack_120._0_4_ + 8) == '\0'" (pointer_expression "*(u8 *)(auStack_120._0_4_ + 8)" * (cast_expression "(u8 *)(auStack_120._0_4_ + 8)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 8)" ( (binary_expression "auStack_120._0_4_ + 8" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);\n          pBStack_1d8 = in_a3;\n          auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);\n          if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }" { (expression_statement "in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8);" (assignment_expression "in_a1 = *(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8)" identifier = (pointer_expression "*(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8)" * (cast_expression "(MemPage **)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8)" ( (type_descriptor "MemPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8)" ( (binary_expression "*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124 + 8" (binary_expression "*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124" (pointer_expression "*(u8 **)(auStack_120._0_4_ + 0x38)" * (cast_expression "(u8 **)(auStack_120._0_4_ + 0x38)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x38)" ( (binary_expression "auStack_120._0_4_ + 0x38" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) + (cast_expression "(int)pBStack_124" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))))) ;) (expression_statement "pBStack_1d8 = in_a3;" (assignment_expression "pBStack_1d8 = in_a3" identifier = identifier) ;) (expression_statement "auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3);" (assignment_expression "auStack_120._4_4_ = clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" (field_expression "auStack_120._4_4_" identifier . field_identifier) = (call_expression "clearDatabasePage(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" identifier (argument_list "(pBVar14,(Pgno)in_a1,1,(int *)in_a3)" ( identifier , (cast_expression "(Pgno)in_a1" ( (type_descriptor "Pgno" type_identifier) ) identifier) , number_literal , (cast_expression "(int *)in_a3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (auStack_120._4_4_ == 0) {\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" if (parenthesized_expression "(auStack_120._4_4_ == 0)" ( (binary_expression "auStack_120._4_4_ == 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n            PVar39 = 0;\n            if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" { (expression_statement "PVar39 = 0;" (assignment_expression "PVar39 = 0" identifier = number_literal) ;) (if_statement "if (ppuStack_c8 != (u8 **)0x0) goto LAB_000cd958;" if (parenthesized_expression "(ppuStack_c8 != (u8 **)0x0)" ( (binary_expression "ppuStack_c8 != (u8 **)0x0" identifier != (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000cd958;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd96c;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }" else (compound_statement "{\n          if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }\n          PVar39 = auStack_120._4_4_;\n          if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }\n        }" { (if_statement "if (in_a3 != (BtShared *)0x0) {\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }" if (parenthesized_expression "(in_a3 != (BtShared *)0x0)" ( (binary_expression "in_a3 != (BtShared *)0x0" identifier != (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));\n          }" { (expression_statement "in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68));" (assignment_expression "in_a3->pPager = (Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68))" (field_expression "in_a3->pPager" identifier -> field_identifier) = (cast_expression "(Pager *)(in_a3->pPager->dbFileVers + (uVar19 - 0x68))" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a3->pPager->dbFileVers + (uVar19 - 0x68))" ( (binary_expression "in_a3->pPager->dbFileVers + (uVar19 - 0x68)" (field_expression "in_a3->pPager->dbFileVers" (field_expression "in_a3->pPager" identifier -> field_identifier) -> field_identifier) + (parenthesized_expression "(uVar19 - 0x68)" ( (binary_expression "uVar19 - 0x68" identifier - number_literal) ))) )))) ;) })) (expression_statement "PVar39 = auStack_120._4_4_;" (assignment_expression "PVar39 = auStack_120._4_4_" identifier = (field_expression "auStack_120._4_4_" identifier . field_identifier)) ;) (if_statement "if (ppuStack_c8 == (u8 **)0x0) {\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }\n          else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }" if (parenthesized_expression "(ppuStack_c8 == (u8 **)0x0)" ( (binary_expression "ppuStack_c8 == (u8 **)0x0" identifier == (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000cd96c:\n            auStack_120._4_4_ = PVar39;\n            auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));\n            if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }\n          }" { (labeled_statement "LAB_000cd96c:\n            auStack_120._4_4_ = PVar39;" statement_identifier : (expression_statement "auStack_120._4_4_ = PVar39;" (assignment_expression "auStack_120._4_4_ = PVar39" (field_expression "auStack_120._4_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48));" (assignment_expression "auStack_120._4_4_ = sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48))" (field_expression "auStack_120._4_4_" identifier . field_identifier) = (call_expression "sqlite3PagerWrite(*(DbPage **)(auStack_120._0_4_ + 0x48))" identifier (argument_list "(*(DbPage **)(auStack_120._0_4_ + 0x48))" ( (pointer_expression "*(DbPage **)(auStack_120._0_4_ + 0x48)" * (cast_expression "(DbPage **)(auStack_120._0_4_ + 0x48)" ( (type_descriptor "DbPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x48)" ( (binary_expression "auStack_120._0_4_ + 0x48" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) )))) ;) (if_statement "if (auStack_120._4_4_ == 0) {\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }" if (parenthesized_expression "(auStack_120._4_4_ == 0)" ( (binary_expression "auStack_120._4_4_ == 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n              pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);\n              in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);\n            }" { (expression_statement "pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124);" (assignment_expression "pBVar23 = (BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124)" identifier = (cast_expression "(BtShared *)(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124)" ( (binary_expression "*(u8 **)(auStack_120._0_4_ + 0x38) + (int)pBStack_124" (pointer_expression "*(u8 **)(auStack_120._0_4_ + 0x38)" * (cast_expression "(u8 **)(auStack_120._0_4_ + 0x38)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x38)" ( (binary_expression "auStack_120._0_4_ + 0x38" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) + (cast_expression "(int)pBStack_124" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8);" (assignment_expression "in_a1 = (MemPage *)(*(byte *)&pBVar23->pPager | 8)" identifier = (cast_expression "(MemPage *)(*(byte *)&pBVar23->pPager | 8)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)&pBVar23->pPager | 8)" ( (binary_expression "*(byte *)&pBVar23->pPager | 8" (pointer_expression "*(byte *)&pBVar23->pPager" * (cast_expression "(byte *)&pBVar23->pPager" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar23->pPager" & (field_expression "pBVar23->pPager" identifier -> field_identifier)))) | number_literal) )))) ;) (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(auStack_120._0_4_)" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (binary_expression "*(int *)(puStack_130 + -0x7d44) + -0x3030" (pointer_expression "*(int *)(puStack_130 + -0x7d44)" * (cast_expression "(int *)(puStack_130 + -0x7d44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d44)" ( (binary_expression "puStack_130 + -0x7d44" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(auStack_120._0_4_)" ( (field_expression "auStack_120._0_4_" identifier . field_identifier) ))) ;) })) }) (else_clause "else if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }" else (if_statement "if (auStack_120._4_4_ == 0) {\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }" if (parenthesized_expression "(auStack_120._4_4_ == 0)" ( (binary_expression "auStack_120._4_4_ == 0" (field_expression "auStack_120._4_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);\n            freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);\n          }" { (labeled_statement "LAB_000cd958:\n            in_a1 = (MemPage *)(auStack_120 + 4);" statement_identifier : (expression_statement "in_a1 = (MemPage *)(auStack_120 + 4);" (assignment_expression "in_a1 = (MemPage *)(auStack_120 + 4)" identifier = (cast_expression "(MemPage *)(auStack_120 + 4)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120 + 4)" ( (binary_expression "auStack_120 + 4" identifier + number_literal) )))) ;)) (expression_statement "freePage((MemPage *)auStack_120._0_4_,(int *)in_a1);" (call_expression "freePage((MemPage *)auStack_120._0_4_,(int *)in_a1)" identifier (argument_list "((MemPage *)auStack_120._0_4_,(int *)in_a1)" ( (cast_expression "(MemPage *)auStack_120._0_4_" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_120._0_4_" identifier . field_identifier)) , (cast_expression "(int *)in_a1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })))) }))) }) (else_clause "else {\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }" else (compound_statement "{\n        pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);\n        pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        auStack_120._4_4_ = 0xb;\n      }" { (expression_statement "pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3);" (assignment_expression "pBStack_1d8 = (BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3)" identifier = (cast_expression "(BtShared *)((int)&__DT_SYMTAB[0xd5].st_value + 3)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_value + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_value + 3" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_value" & (field_expression "__DT_SYMTAB[0xd5].st_value" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c);" (assignment_expression "psStack_138 = (sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c)" identifier = (cast_expression "(sqlite3_mutex *)(*(int *)(puStack_130 + -0x7fc8) + 0x625c)" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7fc8) + 0x625c)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(puStack_130 + -0x7fc8)" * (cast_expression "(int *)(puStack_130 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc8)" ( (binary_expression "puStack_130 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);" (assignment_expression "pBVar20 = (BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(BtShared *)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);" (assignment_expression "in_a1 = (MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(MemPage *)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_130 + -0x7d40))(0xb);" (call_expression "(**(code **)(puStack_130 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(puStack_130 + -0x7d40))" ( (pointer_expression "**(code **)(puStack_130 + -0x7d40)" * (pointer_expression "*(code **)(puStack_130 + -0x7d40)" * (cast_expression "(code **)(puStack_130 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7d40)" ( (binary_expression "puStack_130 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "auStack_120._4_4_ = 0xb;" (assignment_expression "auStack_120._4_4_ = 0xb" (field_expression "auStack_120._4_4_" identifier . field_identifier) = number_literal) ;) }))) (labeled_statement "LAB_000cd7ec:\n      *(u8 *)(auStack_120._0_4_ + 1) = '\0';" statement_identifier : (expression_statement "*(u8 *)(auStack_120._0_4_ + 1) = '\0';" (assignment_expression "*(u8 *)(auStack_120._0_4_ + 1) = '\0'" (pointer_expression "*(u8 *)(auStack_120._0_4_ + 1)" * (cast_expression "(u8 *)(auStack_120._0_4_ + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_120._0_4_ + 1)" ( (binary_expression "auStack_120._0_4_ + 1" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "PVar39 = auStack_120._4_4_;" (assignment_expression "PVar39 = auStack_120._4_4_" identifier = (field_expression "auStack_120._4_4_" identifier . field_identifier)) ;) (if_statement "if ((MemPage *)auStack_120._0_4_ != (MemPage *)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }" if (parenthesized_expression "((MemPage *)auStack_120._0_4_ != (MemPage *)0x0)" ( (binary_expression "(MemPage *)auStack_120._0_4_ != (MemPage *)0x0" (cast_expression "(MemPage *)auStack_120._0_4_" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_120._0_4_" identifier . field_identifier)) != (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;\n        PVar39 = auStack_120._4_4_;\n      }" { (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))\n        ;" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(*(DbPage **)(auStack_120._0_4_ + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(puStack_130 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_130 + -0x7de0)" * (cast_expression "(int *)(puStack_130 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7de0)" ( (binary_expression "puStack_130 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(DbPage **)(auStack_120._0_4_ + 0x48))" ( (pointer_expression "*(DbPage **)(auStack_120._0_4_ + 0x48)" * (cast_expression "(DbPage **)(auStack_120._0_4_ + 0x48)" ( (type_descriptor "DbPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_120._0_4_ + 0x48)" ( (binary_expression "auStack_120._0_4_ + 0x48" (field_expression "auStack_120._0_4_" identifier . field_identifier) + number_literal) )))) ))) ;) (expression_statement "PVar39 = auStack_120._4_4_;" (assignment_expression "PVar39 = auStack_120._4_4_" identifier = (field_expression "auStack_120._4_4_" identifier . field_identifier)) ;) })) })) }))) (if_statement "if ((u8 *)auStack_118._28_4_ == (u8 *)*piVar29) {\n    return PVar39;\n  }" if (parenthesized_expression "((u8 *)auStack_118._28_4_ == (u8 *)*piVar29)" ( (binary_expression "(u8 *)auStack_118._28_4_ == (u8 *)*piVar29" (cast_expression "(u8 *)auStack_118._28_4_" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_118._28_4_" identifier . field_identifier)) == (cast_expression "(u8 *)*piVar29" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) )) (compound_statement "{\n    return PVar39;\n  }" { (return_statement "return PVar39;" return identifier ;) })) (expression_statement "pcVar6 = *(code **)(puStack_130 + -0x7b28);" (assignment_expression "pcVar6 = *(code **)(puStack_130 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_130 + -0x7b28)" * (cast_expression "(code **)(puStack_130 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7b28)" ( (binary_expression "puStack_130 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = dbpageUpdate;" (assignment_expression "pcVar28 = dbpageUpdate" identifier = identifier) ;) (expression_statement "puVar24 = (u8 *)auStack_118._28_4_;" (assignment_expression "puVar24 = (u8 *)auStack_118._28_4_" identifier = (cast_expression "(u8 *)auStack_118._28_4_" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_118._28_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_178 = pcVar6 + 0xcaf50;" (assignment_expression "pcStack_178 = pcVar6 + 0xcaf50" identifier = (binary_expression "pcVar6 + 0xcaf50" identifier + number_literal)) ;) (expression_statement "piVar30 = *(int **)(pcVar6 + 0xc3454);" (assignment_expression "piVar30 = *(int **)(pcVar6 + 0xc3454)" identifier = (pointer_expression "*(int **)(pcVar6 + 0xc3454)" * (cast_expression "(int **)(pcVar6 + 0xc3454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc3454)" ( (binary_expression "pcVar6 + 0xc3454" identifier + number_literal) ))))) ;) (expression_statement "auStack_170._0_4_ = (Pager *)0x0;" (assignment_expression "auStack_170._0_4_ = (Pager *)0x0" (field_expression "auStack_170._0_4_" identifier . field_identifier) = (cast_expression "(Pager *)0x0" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_170._4_4_ = *piVar30;" (assignment_expression "auStack_170._4_4_ = *piVar30" (field_expression "auStack_170._4_4_" identifier . field_identifier) = (pointer_expression "*piVar30" * identifier)) ;) (expression_statement "pBVar25 = pBVar20;" (assignment_expression "pBVar25 = pBVar20" identifier = identifier) ;) (expression_statement "auStack_170._12_4_ = unaff_s0;" (assignment_expression "auStack_170._12_4_ = unaff_s0" (field_expression "auStack_170._12_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStack_170._16_4_ = pBVar14;" (assignment_expression "auStack_170._16_4_ = pBVar14" (field_expression "auStack_170._16_4_" identifier . field_identifier) = identifier) ;) (expression_statement "piStack_15c = piVar29;" (assignment_expression "piStack_15c = piVar29" identifier = identifier) ;) (expression_statement "pBStack_158 = in_a3;" (assignment_expression "pBStack_158 = in_a3" identifier = identifier) ;) (expression_statement "ppuStack_154 = ppuVar33;" (assignment_expression "ppuStack_154 = ppuVar33" identifier = identifier) ;) (expression_statement "pBStack_150 = pBVar23;" (assignment_expression "pBStack_150 = pBVar23" identifier = identifier) ;) (expression_statement "pcStack_14c = pcVar28;" (assignment_expression "pcStack_14c = pcVar28" identifier = identifier) ;) (if_statement "if (*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0) {\n    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));\n    iVar26 = 1;\n    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));\n    *(char **)(puVar24 + 8) = pcVar8;\n    pBVar20 = in_a3;\n  }\n  else {\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }" if (parenthesized_expression "(*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0)" ( (binary_expression "*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3 < 0" (binary_expression "*(int *)(*(int *)(puVar24 + 0xc) + 0x24) << 3" (pointer_expression "*(int *)(*(int *)(puVar24 + 0xc) + 0x24)" * (cast_expression "(int *)(*(int *)(puVar24 + 0xc) + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0xc) + 0x24)" ( (binary_expression "*(int *)(puVar24 + 0xc) + 0x24" (pointer_expression "*(int *)(puVar24 + 0xc)" * (cast_expression "(int *)(puVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xc)" ( (binary_expression "puVar24 + 0xc" identifier + number_literal) )))) + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n    ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));\n    iVar26 = 1;\n    pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));\n    *(char **)(puVar24 + 8) = pcVar8;\n    pBVar20 = in_a3;\n  }" { (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8)" identifier = (cast_expression "(u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2f8c) + -0x42a8)" ( (binary_expression "*(int *)(pcVar6 + 0xc2f8c) + -0x42a8" (pointer_expression "*(int *)(pcVar6 + 0xc2f8c)" * (cast_expression "(int *)(pcVar6 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2f8c)" ( (binary_expression "pcVar6 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000cda68:\n    (**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));" statement_identifier : (expression_statement "(**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8));" (call_expression "(**(code **)(pcStack_178 + -0x7fb4))(*(undefined4 *)(puVar24 + 8))" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7fb4))" ( (pointer_expression "**(code **)(pcStack_178 + -0x7fb4)" * (pointer_expression "*(code **)(pcStack_178 + -0x7fb4)" * (cast_expression "(code **)(pcStack_178 + -0x7fb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7fb4)" ( (binary_expression "pcStack_178 + -0x7fb4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar24 + 8))" ( (pointer_expression "*(undefined4 *)(puVar24 + 8)" * (cast_expression "(undefined4 *)(puVar24 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 8)" ( (binary_expression "puVar24 + 8" identifier + number_literal) )))) ))) ;)) (expression_statement "iVar26 = 1;" (assignment_expression "iVar26 = 1" identifier = number_literal) ;) (expression_statement "pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc));" (assignment_expression "pcVar8 = sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc))" identifier = (call_expression "sqlite3_mprintf((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc))" identifier (argument_list "((char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc))" ( (cast_expression "(char *)(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc)" ( (binary_expression "*(int *)(pcStack_178 + -0x7fc4) + -0x5dfc" (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) )))) ;) (expression_statement "*(char **)(puVar24 + 8) = pcVar8;" (assignment_expression "*(char **)(puVar24 + 8) = pcVar8" (pointer_expression "*(char **)(puVar24 + 8)" * (cast_expression "(char **)(puVar24 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 8)" ( (binary_expression "puVar24 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "pBVar20 = in_a3;" (assignment_expression "pBVar20 = in_a3" identifier = identifier) ;) }) (else_clause "else {\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }" else (compound_statement "{\n    if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar26 = *(int *)(pcVar6 + 0xc31d8);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);\n    (*(code *)(iVar26 + 0x7f68))(pBVar20->db);\n    in_a3 = pBVar20;\n    ppuVar33 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);\n    if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }\n    iVar37 = *(int *)(puVar24 + 0xc);\n    iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);\n    if (iVar26 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }\n    pMVar16 = pBVar20->pPage1;\n    uVar2._0_1_ = pMVar16->leaf;\n    uVar2._1_1_ = pMVar16->hdrOffset;\n    if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }\n    pBVar23 = (BtShared *)pBVar25->pageSize;\n    pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);\n    if (pBVar23 != pBVar14) goto LAB_000cdb70;\n    pBStack_1d8 = (BtShared *)0x0;\n    pBVar25 = (BtShared *)auStack_170;\n    ppuVar27 = extraout_v1;\n    iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));\n    if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }\n    if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }\n  }" { (if_statement "if (in_a1 == (MemPage *)0x1) {\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(in_a1 == (MemPage *)0x1)" ( (binary_expression "in_a1 == (MemPage *)0x1" identifier == (cast_expression "(MemPage *)0x1" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" { (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c)" identifier = (cast_expression "(u8 **)(*(int *)(pcVar6 + 0xc2f8c) + -0x429c)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2f8c) + -0x429c)" ( (binary_expression "*(int *)(pcVar6 + 0xc2f8c) + -0x429c" (pointer_expression "*(int *)(pcVar6 + 0xc2f8c)" * (cast_expression "(int *)(pcVar6 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2f8c)" ( (binary_expression "pcVar6 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar26 = *(int *)(pcVar6 + 0xc31d8);" (assignment_expression "iVar26 = *(int *)(pcVar6 + 0xc31d8)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xc31d8)" * (cast_expression "(int *)(pcVar6 + 0xc31d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc31d8)" ( (binary_expression "pcVar6 + 0xc31d8" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar26 + 0x7f68))(pBVar20->pPager);" (call_expression "(*(code *)(iVar26 + 0x7f68))(pBVar20->pPager)" (parenthesized_expression "(*(code *)(iVar26 + 0x7f68))" ( (pointer_expression "*(code *)(iVar26 + 0x7f68)" * (cast_expression "(code *)(iVar26 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x7f68)" ( (binary_expression "iVar26 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(pBVar20->pPager)" ( (field_expression "pBVar20->pPager" identifier -> field_identifier) ))) ;) (expression_statement "(*(code *)(iVar26 + 0x7f68))(pBVar20->db);" (call_expression "(*(code *)(iVar26 + 0x7f68))(pBVar20->db)" (parenthesized_expression "(*(code *)(iVar26 + 0x7f68))" ( (pointer_expression "*(code *)(iVar26 + 0x7f68)" * (cast_expression "(code *)(iVar26 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x7f68)" ( (binary_expression "iVar26 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(pBVar20->db)" ( (field_expression "pBVar20->db" identifier -> field_identifier) ))) ;) (expression_statement "in_a3 = pBVar20;" (assignment_expression "in_a3 = pBVar20" identifier = identifier) ;) (expression_statement "ppuVar33 = extraout_v1;" (assignment_expression "ppuVar33 = extraout_v1" identifier = identifier) ;) (if_statement "if (extraout_v1 != extraout_v1_00) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(extraout_v1 != extraout_v1_00)" ( (binary_expression "extraout_v1 != extraout_v1_00" identifier != identifier) )) (compound_statement "{\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);\n      goto LAB_000cda68;\n    }" { (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c)" identifier = (cast_expression "(u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x427c)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7fc4) + -0x427c)" ( (binary_expression "*(int *)(pcStack_178 + -0x7fc4) + -0x427c" (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1);" (assignment_expression "iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))\n                       (*(undefined4 *)&pBVar20->openFlags,1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60))" ( (pointer_expression "*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60)" * (cast_expression "(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7d60) + 0x6f60)" ( (binary_expression "*(int *)(pcStack_178 + -0x7d60) + 0x6f60" (pointer_expression "*(int *)(pcStack_178 + -0x7d60)" * (cast_expression "(int *)(pcStack_178 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7d60)" ( (binary_expression "pcStack_178 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)&pBVar20->openFlags,1)" ( (pointer_expression "*(undefined4 *)&pBVar20->openFlags" * (cast_expression "(undefined4 *)&pBVar20->openFlags" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar20->openFlags" & (field_expression "pBVar20->openFlags" identifier -> field_identifier)))) , number_literal )))) ;) (if_statement "if (iVar26 == 0) {\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb7c:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);" statement_identifier : (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8)" identifier = (cast_expression "(u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7fc4) + -0x42c8)" ( (binary_expression "*(int *)(pcStack_178 + -0x7fc4) + -0x42c8" (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar37 = *(int *)(puVar24 + 0xc);" (assignment_expression "iVar37 = *(int *)(puVar24 + 0xc)" identifier = (pointer_expression "*(int *)(puVar24 + 0xc)" * (cast_expression "(int *)(puVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0xc)" ( (binary_expression "puVar24 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26);" (assignment_expression "iVar26 = (*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26)" identifier = (call_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))(iVar37,iVar26)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370))" ( (pointer_expression "*(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370)" * (cast_expression "(code *)(*(int *)(pcStack_178 + -0x7d78) + 0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7d78) + 0x2370)" ( (binary_expression "*(int *)(pcStack_178 + -0x7d78) + 0x2370" (pointer_expression "*(int *)(pcStack_178 + -0x7d78)" * (cast_expression "(int *)(pcStack_178 + -0x7d78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7d78)" ( (binary_expression "pcStack_178 + -0x7d78" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar37,iVar26)" ( identifier , identifier )))) ;) (if_statement "if (iVar26 < 0) goto LAB_000cdb7c;" if (parenthesized_expression "(iVar26 < 0)" ( (binary_expression "iVar26 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000cdb7c;" goto statement_identifier ;)) (if_statement "if (((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)) {\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1))" ( (binary_expression "((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)) ||\n       (pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)" (parenthesized_expression "((extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0))" ( (binary_expression "(extraout_v1 == (u8 **)0x0) ||\n        (iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)" (parenthesized_expression "(extraout_v1 == (u8 **)0x0)" ( (binary_expression "extraout_v1 == (u8 **)0x0" identifier == (cast_expression "(u8 **)0x0" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0)" ( (comma_expression "iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4), iVar26 == 0" (assignment_expression "iVar26 = *(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4)" identifier = (pointer_expression "*(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4)" * (cast_expression "(int *)(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4)" ( (binary_expression "*(int *)(iVar37 + 0x10) + iVar26 * 0x10 + 4" (binary_expression "*(int *)(iVar37 + 0x10) + iVar26 * 0x10" (pointer_expression "*(int *)(iVar37 + 0x10)" * (cast_expression "(int *)(iVar37 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x10)" ( (binary_expression "iVar37 + 0x10" identifier + number_literal) )))) + (binary_expression "iVar26 * 0x10" identifier * number_literal)) + number_literal) ))))) , (binary_expression "iVar26 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1)" ( (comma_expression "pBVar25 = *(BtShared **)(iVar26 + 4), (u8 **)pBVar25->nPage < extraout_v1" (assignment_expression "pBVar25 = *(BtShared **)(iVar26 + 4)" identifier = (pointer_expression "*(BtShared **)(iVar26 + 4)" * (cast_expression "(BtShared **)(iVar26 + 4)" ( (type_descriptor "BtShared **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar26 + 4)" ( (binary_expression "iVar26 + 4" identifier + number_literal) ))))) , (binary_expression "(u8 **)pBVar25->nPage < extraout_v1" (cast_expression "(u8 **)pBVar25->nPage" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pBVar25->nPage" identifier -> field_identifier)) < identifier)) ))) )) (compound_statement "{\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);\n      goto LAB_000cda68;\n    }" { (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8)" identifier = (cast_expression "(u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7fc4) + -0x42b8)" ( (binary_expression "*(int *)(pcStack_178 + -0x7fc4) + -0x42b8" (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "pMVar16 = pBVar20->pPage1;" (assignment_expression "pMVar16 = pBVar20->pPage1" identifier = (field_expression "pBVar20->pPage1" identifier -> field_identifier)) ;) (expression_statement "uVar2._0_1_ = pMVar16->leaf;" (assignment_expression "uVar2._0_1_ = pMVar16->leaf" (field_expression "uVar2._0_1_" identifier . field_identifier) = (field_expression "pMVar16->leaf" identifier -> field_identifier)) ;) (expression_statement "uVar2._1_1_ = pMVar16->hdrOffset;" (assignment_expression "uVar2._1_1_ = pMVar16->hdrOffset" (field_expression "uVar2._1_1_" identifier . field_identifier) = (field_expression "pMVar16->hdrOffset" identifier -> field_identifier)) ;) (if_statement "if (*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04')" ( (binary_expression "*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c) != '\x04'" (pointer_expression "*(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c)" * (cast_expression "(char *)((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c)" ( (binary_expression "(uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4) + 0x6a8c" (binary_expression "(uVar2 & 0x1f) + *(int *)(pcStack_178 + -0x7fc4)" (parenthesized_expression "(uVar2 & 0x1f)" ( (binary_expression "uVar2 & 0x1f" identifier & number_literal) )) + (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) ))))) + number_literal) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb70:\n      ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);" statement_identifier : (expression_statement "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c);" (assignment_expression "ppuVar27 = (u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c)" identifier = (cast_expression "(u8 **)(*(int *)(pcStack_178 + -0x7fc4) + -0x428c)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7fc4) + -0x428c)" ( (binary_expression "*(int *)(pcStack_178 + -0x7fc4) + -0x428c" (pointer_expression "*(int *)(pcStack_178 + -0x7fc4)" * (cast_expression "(int *)(pcStack_178 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7fc4)" ( (binary_expression "pcStack_178 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "pBVar23 = (BtShared *)pBVar25->pageSize;" (assignment_expression "pBVar23 = (BtShared *)pBVar25->pageSize" identifier = (cast_expression "(BtShared *)pBVar25->pageSize" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar25->pageSize" identifier -> field_identifier))) ;) (expression_statement "pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1);" (assignment_expression "pBVar14 = (BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1)" identifier = (cast_expression "(BtShared *)(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))(pMVar16,1)" (parenthesized_expression "(*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88)" * (cast_expression "(code *)(*(int *)(pcStack_178 + -0x7d60) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7d60) + 0x6c88)" ( (binary_expression "*(int *)(pcStack_178 + -0x7d60) + 0x6c88" (pointer_expression "*(int *)(pcStack_178 + -0x7d60)" * (cast_expression "(int *)(pcStack_178 + -0x7d60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7d60)" ( (binary_expression "pcStack_178 + -0x7d60" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pMVar16,1)" ( identifier , number_literal ))))) ;) (if_statement "if (pBVar23 != pBVar14) goto LAB_000cdb70;" if (parenthesized_expression "(pBVar23 != pBVar14)" ( (binary_expression "pBVar23 != pBVar14" identifier != identifier) )) (goto_statement "goto LAB_000cdb70;" goto statement_identifier ;)) (expression_statement "pBStack_1d8 = (BtShared *)0x0;" (assignment_expression "pBStack_1d8 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar25 = (BtShared *)auStack_170;" (assignment_expression "pBVar25 = (BtShared *)auStack_170" identifier = (cast_expression "(BtShared *)auStack_170" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppuVar27 = extraout_v1;" (assignment_expression "ppuVar27 = extraout_v1" identifier = identifier) ;) (expression_statement "iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4));" (assignment_expression "iVar26 = (**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4))" identifier = (call_expression "(**(code **)(**(int **)(iVar26 + 4) + 0xcc))(**(int **)(iVar26 + 4))" (parenthesized_expression "(**(code **)(**(int **)(iVar26 + 4) + 0xcc))" ( (pointer_expression "**(code **)(**(int **)(iVar26 + 4) + 0xcc)" * (pointer_expression "*(code **)(**(int **)(iVar26 + 4) + 0xcc)" * (cast_expression "(code **)(**(int **)(iVar26 + 4) + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar26 + 4) + 0xcc)" ( (binary_expression "**(int **)(iVar26 + 4) + 0xcc" (pointer_expression "**(int **)(iVar26 + 4)" * (pointer_expression "*(int **)(iVar26 + 4)" * (cast_expression "(int **)(iVar26 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar26 + 4)" ( (binary_expression "iVar26 + 4" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(**(int **)(iVar26 + 4))" ( (pointer_expression "**(int **)(iVar26 + 4)" * (pointer_expression "*(int **)(iVar26 + 4)" * (cast_expression "(int **)(iVar26 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar26 + 4)" ( (binary_expression "iVar26 + 4" identifier + number_literal) ))))) )))) ;) (if_statement "if ((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)) {\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }" if (parenthesized_expression "((iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0))" ( (binary_expression "(iVar26 == 0) && (iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)" (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0)" ( (comma_expression "iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_), iVar26 == 0" (assignment_expression "iVar26 = sqlite3PagerWrite((PgHdr *)auStack_170._0_4_)" identifier = (call_expression "sqlite3PagerWrite((PgHdr *)auStack_170._0_4_)" identifier (argument_list "((PgHdr *)auStack_170._0_4_)" ( (cast_expression "(PgHdr *)auStack_170._0_4_" ( (type_descriptor "PgHdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_170._0_4_" identifier . field_identifier)) )))) , (binary_expression "iVar26 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      puVar24 = *(u8 **)(auStack_170._0_4_ + 4);\n      ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);\n      pBVar25 = pBVar23;\n      (**(code **)(pcStack_178 + -0x7af4))(puVar24);\n    }" { (expression_statement "puVar24 = *(u8 **)(auStack_170._0_4_ + 4);" (assignment_expression "puVar24 = *(u8 **)(auStack_170._0_4_ + 4)" identifier = (pointer_expression "*(u8 **)(auStack_170._0_4_ + 4)" * (cast_expression "(u8 **)(auStack_170._0_4_ + 4)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_170._0_4_ + 4)" ( (binary_expression "auStack_170._0_4_ + 4" (field_expression "auStack_170._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1);" (assignment_expression "ppuVar27 = (u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1)" identifier = (cast_expression "(u8 **)(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcStack_178 + -0x7f64))(pBVar20->pPage1)" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7f64))" ( (pointer_expression "**(code **)(pcStack_178 + -0x7f64)" * (pointer_expression "*(code **)(pcStack_178 + -0x7f64)" * (cast_expression "(code **)(pcStack_178 + -0x7f64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7f64)" ( (binary_expression "pcStack_178 + -0x7f64" identifier + number_literal) ))))) )) (argument_list "(pBVar20->pPage1)" ( (field_expression "pBVar20->pPage1" identifier -> field_identifier) ))))) ;) (expression_statement "pBVar25 = pBVar23;" (assignment_expression "pBVar25 = pBVar23" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_178 + -0x7af4))(puVar24);" (call_expression "(**(code **)(pcStack_178 + -0x7af4))(puVar24)" (parenthesized_expression "(**(code **)(pcStack_178 + -0x7af4))" ( (pointer_expression "**(code **)(pcStack_178 + -0x7af4)" * (pointer_expression "*(code **)(pcStack_178 + -0x7af4)" * (cast_expression "(code **)(pcStack_178 + -0x7af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7af4)" ( (binary_expression "pcStack_178 + -0x7af4" identifier + number_literal) ))))) )) (argument_list "(puVar24)" ( identifier ))) ;) })) (if_statement "if ((Pager *)auStack_170._0_4_ != (Pager *)0x0) {\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }" if (parenthesized_expression "((Pager *)auStack_170._0_4_ != (Pager *)0x0)" ( (binary_expression "(Pager *)auStack_170._0_4_ != (Pager *)0x0" (cast_expression "(Pager *)auStack_170._0_4_" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_170._0_4_" identifier . field_identifier)) != (cast_expression "(Pager *)0x0" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();\n    }" { (expression_statement "(*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))();" (call_expression "(*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))()" (parenthesized_expression "(*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(pcStack_178 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_178 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(pcStack_178 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(pcStack_178 + -0x7de0)" * (cast_expression "(int *)(pcStack_178 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_178 + -0x7de0)" ( (binary_expression "pcStack_178 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if ((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30) {\n    return iVar26;\n  }" if (parenthesized_expression "((sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30)" ( (binary_expression "(sqlite3 *)auStack_170._4_4_ == (sqlite3 *)*piVar30" (cast_expression "(sqlite3 *)auStack_170._4_4_" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_170._4_4_" identifier . field_identifier)) == (cast_expression "(sqlite3 *)*piVar30" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar30" * identifier))) )) (compound_statement "{\n    return iVar26;\n  }" { (return_statement "return iVar26;" return identifier ;) })) (expression_statement "pcVar6 = *(code **)(pcStack_178 + -0x7b28);" (assignment_expression "pcVar6 = *(code **)(pcStack_178 + -0x7b28)" identifier = (pointer_expression "*(code **)(pcStack_178 + -0x7b28)" * (cast_expression "(code **)(pcStack_178 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_178 + -0x7b28)" ( (binary_expression "pcStack_178 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = accessPayload;" (assignment_expression "pcVar28 = accessPayload" identifier = identifier) ;) (expression_statement "psVar17 = (sqlite3 *)auStack_170._4_4_;" (assignment_expression "psVar17 = (sqlite3 *)auStack_170._4_4_" identifier = (cast_expression "(sqlite3 *)auStack_170._4_4_" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_170._4_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar29 = *(int **)(pcVar6 + 0xc31d0);" (assignment_expression "piVar29 = *(int **)(pcVar6 + 0xc31d0)" identifier = (pointer_expression "*(int **)(pcVar6 + 0xc31d0)" * (cast_expression "(int **)(pcVar6 + 0xc31d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31d0)" ( (binary_expression "pcVar6 + 0xc31d0" identifier + number_literal) ))))) ;) (expression_statement "pBStack_1b4 = (BtCursor *)*piVar29;" (assignment_expression "pBStack_1b4 = (BtCursor *)*piVar29" identifier = (cast_expression "(BtCursor *)*piVar29" ( (type_descriptor "BtCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) (expression_statement "iVar37 = psVar17->aLimit[2];" (assignment_expression "iVar37 = psVar17->aLimit[2]" identifier = (subscript_expression "psVar17->aLimit[2]" (field_expression "psVar17->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "piVar32 = (int *)psVar17->nDb;" (assignment_expression "piVar32 = (int *)psVar17->nDb" identifier = (cast_expression "(int *)psVar17->nDb" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar17->nDb" identifier -> field_identifier))) ;) (expression_statement "puStack_1b0 = puVar24;" (assignment_expression "puStack_1b0 = puVar24" identifier = identifier) ;) (expression_statement "iStack_1ac = iVar26;" (assignment_expression "iStack_1ac = iVar26" identifier = identifier) ;) (expression_statement "piStack_1a8 = piVar30;" (assignment_expression "piStack_1a8 = piVar30" identifier = identifier) ;) (expression_statement "pBStack_1a4 = pBVar20;" (assignment_expression "pBStack_1a4 = pBVar20" identifier = identifier) ;) (expression_statement "ppuStack_1a0 = ppuVar33;" (assignment_expression "ppuStack_1a0 = ppuVar33" identifier = identifier) ;) (expression_statement "pBStack_19c = pBVar23;" (assignment_expression "pBStack_19c = pBVar23" identifier = identifier) ;) (expression_statement "puStack_198 = puVar36;" (assignment_expression "puStack_198 = puVar36" identifier = identifier) ;) (expression_statement "pMStack_194 = pFrom;" (assignment_expression "pMStack_194 = pFrom" identifier = identifier) ;) (expression_statement "PStack_190 = PVar39;" (assignment_expression "PStack_190 = PVar39" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar28;" (assignment_expression "pcStack_18c = pcVar28" identifier = identifier) ;) (expression_statement "(*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))();" (call_expression "(*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xc2eec) + 0x1604)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2eec) + 0x1604)" ( (binary_expression "*(int *)(pcVar6 + 0xc2eec) + 0x1604" (pointer_expression "*(int *)(pcVar6 + 0xc2eec)" * (cast_expression "(int *)(pcVar6 + 0xc2eec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2eec)" ( (binary_expression "pcVar6 + 0xc2eec" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar26 = *(int *)&psVar17->lastRowid;" (assignment_expression "iVar26 = *(int *)&psVar17->lastRowid" identifier = (pointer_expression "*(int *)&psVar17->lastRowid" * (cast_expression "(int *)&psVar17->lastRowid" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar17->lastRowid" & (field_expression "psVar17->lastRowid" identifier -> field_identifier))))) ;) (expression_statement "ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap;" (assignment_expression "ppuVar33 = (u8 **)(uint)*(ushort *)&psVar17->szMmap" identifier = (binary_expression "(u8 **)(uint)*(ushort *)&psVar17->szMmap" (cast_expression "(u8 **)(uint)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)&psVar17->szMmap" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar17->szMmap" & (field_expression "psVar17->szMmap" identifier -> field_identifier))))) ;) (if_statement "if ((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))) {\n    uVar9 = 0x108be;\n  }\n  else {\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }" if (parenthesized_expression "((uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38)))" ( (binary_expression "(uint)(piVar32[9] - (int)ppuVar33) < (uint)(iVar26 - *(int *)(iVar37 + 0x38))" (call_expression "(uint)(piVar32[9] - (int)ppuVar33)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar32[9] - (int)ppuVar33)" ( (binary_expression "piVar32[9] - (int)ppuVar33" (subscript_expression "piVar32[9]" identifier [ number_literal ]) - (cast_expression "(int)ppuVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(iVar26 - *(int *)(iVar37 + 0x38))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar26 - *(int *)(iVar37 + 0x38))" ( (binary_expression "iVar26 - *(int *)(iVar37 + 0x38)" identifier - (pointer_expression "*(int *)(iVar37 + 0x38)" * (cast_expression "(int *)(iVar37 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x38)" ( (binary_expression "iVar37 + 0x38" identifier + number_literal) ))))) )))) )) (compound_statement "{\n    uVar9 = 0x108be;\n  }" { (expression_statement "uVar9 = 0x108be;" (assignment_expression "uVar9 = 0x108be" identifier = number_literal) ;) }) (else_clause "else {\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }" else (compound_statement "{\n    if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }\n    if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)&psVar17->szMmap;\n    psVar18 = psVar17->mutex;\n    puVar35 = (undefined1 *)(piVar32[9] + -4);\n    iStack_1bc = *(int *)(iVar26 + (uint)uVar2);\n    if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }\n    uVar19 = 0;\n    if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar9 = 0x1094f;\n  }" { (if_statement "if (ppuVar27 < ppuVar33) {\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }\n    else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }" if (parenthesized_expression "(ppuVar27 < ppuVar33)" ( (binary_expression "ppuVar27 < ppuVar33" identifier < identifier) )) (compound_statement "{\n      pBVar14 = pBVar25;\n      if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }\n      pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);\n      if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }\n      pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);\n      (*pcVar28)(pBVar23,pBVar31,pBVar14);\n      pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\n      puVar34 = (undefined1 *)0x0;\n    }" { (expression_statement "pBVar14 = pBVar25;" (assignment_expression "pBVar14 = pBVar25" identifier = identifier) ;) (if_statement "if (ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)) {\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }" if (parenthesized_expression "(ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25))" ( (binary_expression "ppuVar33 < (u8 **)((int)ppuVar27 + (int)pBVar25)" identifier < (cast_expression "(u8 **)((int)ppuVar27 + (int)pBVar25)" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar27 + (int)pBVar25)" ( (binary_expression "(int)ppuVar27 + (int)pBVar25" (cast_expression "(int)ppuVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pBVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);\n      }" { (expression_statement "pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27);" (assignment_expression "pBVar14 = (BtShared *)((int)ppuVar33 - (int)ppuVar27)" identifier = (cast_expression "(BtShared *)((int)ppuVar33 - (int)ppuVar27)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar33 - (int)ppuVar27)" ( (binary_expression "(int)ppuVar33 - (int)ppuVar27" (cast_expression "(int)ppuVar33" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27);" (assignment_expression "pBVar31 = (BtShared *)(iVar26 + (int)ppuVar27)" identifier = (cast_expression "(BtShared *)(iVar26 + (int)ppuVar27)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + (int)ppuVar27)" ( (binary_expression "iVar26 + (int)ppuVar27" identifier + (cast_expression "(int)ppuVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pcStack_178 == (code *)0x0) {\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }\n      else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }" if (parenthesized_expression "(pcStack_178 == (code *)0x0)" ( (binary_expression "pcStack_178 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBStack_1d8;\n      }" { (expression_statement "pcVar28 = *(code **)(pcVar6 + 0xc31d8);" (assignment_expression "pcVar28 = *(code **)(pcVar6 + 0xc31d8)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xc31d8)" * (cast_expression "(code **)(pcVar6 + 0xc31d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31d8)" ( (binary_expression "pcVar6 + 0xc31d8" identifier + number_literal) ))))) ;) (expression_statement "pBVar23 = pBStack_1d8;" (assignment_expression "pBVar23 = pBStack_1d8" identifier = identifier) ;) }) (else_clause "else {\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }" else (compound_statement "{\n        pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));\n        if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n        pcVar28 = *(code **)(pcVar6 + 0xc31d8);\n        pBVar23 = pBVar31;\n        pBVar31 = pBStack_1d8;\n      }" { (expression_statement "pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48));" (assignment_expression "pcVar28 = (code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48))" identifier = (cast_expression "(code *)sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3PagerWrite(*(PgHdr **)(iVar37 + 0x48))" identifier (argument_list "(*(PgHdr **)(iVar37 + 0x48))" ( (pointer_expression "*(PgHdr **)(iVar37 + 0x48)" * (cast_expression "(PgHdr **)(iVar37 + 0x48)" ( (type_descriptor "PgHdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar37 + 0x48)" ( (binary_expression "iVar37 + 0x48" identifier + number_literal) )))) ))))) ;) (if_statement "if (pcVar28 != (code *)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(pcVar28 != (code *)0x0)" ( (binary_expression "pcVar28 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcVar6 + 0xc31d8);" (assignment_expression "pcVar28 = *(code **)(pcVar6 + 0xc31d8)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xc31d8)" * (cast_expression "(code **)(pcVar6 + 0xc31d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31d8)" ( (binary_expression "pcVar6 + 0xc31d8" identifier + number_literal) ))))) ;) (expression_statement "pBVar23 = pBVar31;" (assignment_expression "pBVar23 = pBVar31" identifier = identifier) ;) (expression_statement "pBVar31 = pBStack_1d8;" (assignment_expression "pBVar31 = pBStack_1d8" identifier = identifier) ;) }))) (expression_statement "pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14);" (assignment_expression "pBVar25 = (BtShared *)((int)pBVar25 - (int)pBVar14)" identifier = (cast_expression "(BtShared *)((int)pBVar25 - (int)pBVar14)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar25 - (int)pBVar14)" ( (binary_expression "(int)pBVar25 - (int)pBVar14" (cast_expression "(int)pBVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pBVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*pcVar28)(pBVar23,pBVar31,pBVar14);" (call_expression "(*pcVar28)(pBVar23,pBVar31,pBVar14)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(pBVar23,pBVar31,pBVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);" (assignment_expression "pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14)" identifier = (cast_expression "(BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1d8->pPager + (int)pBVar14)" ( (binary_expression "(int)&pBStack_1d8->pPager + (int)pBVar14" (cast_expression "(int)&pBStack_1d8->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d8->pPager" & (field_expression "pBStack_1d8->pPager" identifier -> field_identifier))) + (cast_expression "(int)pBVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "puVar34 = (undefined1 *)0x0;" (assignment_expression "puVar34 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }" else (compound_statement "{\n      puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);\n    }" { (expression_statement "puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33);" (assignment_expression "puVar34 = (undefined1 *)((int)ppuVar27 - (int)ppuVar33)" identifier = (cast_expression "(undefined1 *)((int)ppuVar27 - (int)ppuVar33)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar27 - (int)ppuVar33)" ( (binary_expression "(int)ppuVar27 - (int)ppuVar33" (cast_expression "(int)ppuVar27" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar33" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (if_statement "if (pBVar25 == (BtShared *)0x0) {\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }" if (parenthesized_expression "(pBVar25 == (BtShared *)0x0)" ( (binary_expression "pBVar25 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar28 = (code *)0x0;\n      goto LAB_000cdd30;\n    }" { (expression_statement "pcVar28 = (code *)0x0;" (assignment_expression "pcVar28 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;) })) (expression_statement "uVar2 = *(ushort *)&psVar17->szMmap;" (assignment_expression "uVar2 = *(ushort *)&psVar17->szMmap" identifier = (pointer_expression "*(ushort *)&psVar17->szMmap" * (cast_expression "(ushort *)&psVar17->szMmap" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar17->szMmap" & (field_expression "psVar17->szMmap" identifier -> field_identifier))))) ;) (expression_statement "psVar18 = psVar17->mutex;" (assignment_expression "psVar18 = psVar17->mutex" identifier = (field_expression "psVar17->mutex" identifier -> field_identifier)) ;) (expression_statement "puVar35 = (undefined1 *)(piVar32[9] + -4);" (assignment_expression "puVar35 = (undefined1 *)(piVar32[9] + -4)" identifier = (cast_expression "(undefined1 *)(piVar32[9] + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar32[9] + -4)" ( (binary_expression "piVar32[9] + -4" (subscript_expression "piVar32[9]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "iStack_1bc = *(int *)(iVar26 + (uint)uVar2);" (assignment_expression "iStack_1bc = *(int *)(iVar26 + (uint)uVar2)" identifier = (pointer_expression "*(int *)(iVar26 + (uint)uVar2)" * (cast_expression "(int *)(iVar26 + (uint)uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + (uint)uVar2)" ( (binary_expression "iVar26 + (uint)uVar2" identifier + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (if_statement "if (((uint)psVar17->pVfs & 0x40000) == 0) {\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }\n    else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }" if (parenthesized_expression "(((uint)psVar17->pVfs & 0x40000) == 0)" ( (binary_expression "((uint)psVar17->pVfs & 0x40000) == 0" (parenthesized_expression "((uint)psVar17->pVfs & 0x40000)" ( (binary_expression "(uint)psVar17->pVfs & 0x40000" (cast_expression "(uint)psVar17->pVfs" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar17->pVfs" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar3 = psVar17->lastRowid;\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      if (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }\n      (**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;\n      *(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;\n    }" { (expression_statement "iVar3 = psVar17->lastRowid;" (assignment_expression "iVar3 = psVar17->lastRowid" identifier = (field_expression "psVar17->lastRowid" identifier -> field_identifier)) ;) (if_statement "if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(puVar35 == (undefined1 *)0x0)" ( (binary_expression "puVar35 == (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 (psVar18 == (sqlite3_mutex *)0x0) {\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }\n      else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }" if (parenthesized_expression "(psVar18 == (sqlite3_mutex *)0x0)" ( (binary_expression "psVar18 == (sqlite3_mutex *)0x0" identifier == (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);\n        if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        psVar17->mutex = psVar18;\n      }" { (labeled_statement "LAB_000cdf84:\n        psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);" statement_identifier : (expression_statement "psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18);" (assignment_expression "psVar18 = (sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18)" identifier = (cast_expression "(sqlite3_mutex *)(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18)" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))(psVar18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xc2f54) + 0x354)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2f54) + 0x354)" ( (binary_expression "*(int *)(pcVar6 + 0xc2f54) + 0x354" (pointer_expression "*(int *)(pcVar6 + 0xc2f54)" * (cast_expression "(int *)(pcVar6 + 0xc2f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2f54)" ( (binary_expression "pcVar6 + 0xc2f54" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar18)" ( identifier ))))) ;)) (if_statement "if (psVar18 == (sqlite3_mutex *)0x0) {\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" if (parenthesized_expression "(psVar18 == (sqlite3_mutex *)0x0)" ( (binary_expression "psVar18 == (sqlite3_mutex *)0x0" identifier == (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar28 = (code *)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" { (expression_statement "pcVar28 = (code *)&DAT_00000007;" (assignment_expression "pcVar28 = (code *)&DAT_00000007" identifier = (cast_expression "(code *)&DAT_00000007" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;) })) (expression_statement "psVar17->mutex = psVar18;" (assignment_expression "psVar17->mutex = psVar18" (field_expression "psVar17->mutex" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }" else (compound_statement "{\n        iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();\n        psVar18 = psVar17->mutex;\n        if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;\n      }" { (expression_statement "iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))();" (assignment_expression "iVar26 = (**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))()" identifier = (call_expression "(**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))()" (parenthesized_expression "(**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40))" ( (pointer_expression "**(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40)" * (pointer_expression "*(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40)" * (cast_expression "(code **)(*(int *)(pcVar6 + 0xc2cf4) + -0xb40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2cf4) + -0xb40)" ( (binary_expression "*(int *)(pcVar6 + 0xc2cf4) + -0xb40" (pointer_expression "*(int *)(pcVar6 + 0xc2cf4)" * (cast_expression "(int *)(pcVar6 + 0xc2cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2cf4)" ( (binary_expression "pcVar6 + 0xc2cf4" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "psVar18 = psVar17->mutex;" (assignment_expression "psVar18 = psVar17->mutex" identifier = (field_expression "psVar17->mutex" identifier -> field_identifier)) ;) (if_statement "if (iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           ) goto LAB_000cdf84;" if (parenthesized_expression "(iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n           )" ( (binary_expression "iVar26 < (int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)" identifier < (cast_expression "(int)((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)" ( (binary_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2" (binary_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35" (call_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar35 + (((int)iVar3 + -1) - (uint)uVar2))" ( (binary_expression "puVar35 + (((int)iVar3 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "(((int)iVar3 + -1) - (uint)uVar2)" ( (binary_expression "((int)iVar3 + -1) - (uint)uVar2" (parenthesized_expression "((int)iVar3 + -1)" ( (binary_expression "(int)iVar3 + -1" (cast_expression "(int)iVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)puVar35" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) )))) )) (goto_statement "goto LAB_000cdf84;" goto statement_identifier ;)) }))) (expression_statement "(**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)\n      ;" (call_expression "(**(code **)(pcVar6 + 0xc3104))\n                (psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc3104))" ( (pointer_expression "**(code **)(pcVar6 + 0xc3104)" * (pointer_expression "*(code **)(pcVar6 + 0xc3104)" * (cast_expression "(code **)(pcVar6 + 0xc3104)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc3104)" ( (binary_expression "pcVar6 + 0xc3104" identifier + number_literal) ))))) )) (argument_list "(psVar18,0,(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2)" ( identifier , number_literal , (binary_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35 << 2" (binary_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2)) / (uint)puVar35" (call_expression "(uint)(puVar35 + (((int)iVar3 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar35 + (((int)iVar3 + -1) - (uint)uVar2))" ( (binary_expression "puVar35 + (((int)iVar3 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "(((int)iVar3 + -1) - (uint)uVar2)" ( (binary_expression "((int)iVar3 + -1) - (uint)uVar2" (parenthesized_expression "((int)iVar3 + -1)" ( (binary_expression "(int)iVar3 + -1" (cast_expression "(int)iVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)puVar35" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) ))) ;) (expression_statement "*(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4;" (assignment_expression "*(byte *)((int)&psVar17->pVfs + 1) = *(byte *)((int)&psVar17->pVfs + 1) | 4" (pointer_expression "*(byte *)((int)&psVar17->pVfs + 1)" * (cast_expression "(byte *)((int)&psVar17->pVfs + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar17->pVfs + 1)" ( (binary_expression "(int)&psVar17->pVfs + 1" (cast_expression "(int)&psVar17->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar17->pVfs" & (field_expression "psVar17->pVfs" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "*(byte *)((int)&psVar17->pVfs + 1) | 4" (pointer_expression "*(byte *)((int)&psVar17->pVfs + 1)" * (cast_expression "(byte *)((int)&psVar17->pVfs + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar17->pVfs + 1)" ( (binary_expression "(int)&psVar17->pVfs + 1" (cast_expression "(int)&psVar17->pVfs" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar17->pVfs" & (field_expression "psVar17->pVfs" identifier -> field_identifier))) + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }" else (compound_statement "{\n      if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }\n      uVar19 = (uint)puVar34 / (uint)puVar35;\n      puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);\n      iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);\n      if (iVar26 != 0) goto LAB_000cddd4;\n    }" { (if_statement "if (puVar35 == (undefined1 *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(puVar35 == (undefined1 *)0x0)" ( (binary_expression "puVar35 == (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 ))) ;) })) (expression_statement "uVar19 = (uint)puVar34 / (uint)puVar35;" (assignment_expression "uVar19 = (uint)puVar34 / (uint)puVar35" identifier = (binary_expression "(uint)puVar34 / (uint)puVar35" (cast_expression "(uint)puVar34" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)puVar35" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35);" (assignment_expression "puVar42 = (undefined1 *)((uint)puVar34 % (uint)puVar35)" identifier = (cast_expression "(undefined1 *)((uint)puVar34 % (uint)puVar35)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar34 % (uint)puVar35)" ( (binary_expression "(uint)puVar34 % (uint)puVar35" (cast_expression "(uint)puVar34" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)puVar35" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4);" (assignment_expression "iVar26 = *(int *)((int)&psVar18->mutex + uVar19 * 4)" identifier = (pointer_expression "*(int *)((int)&psVar18->mutex + uVar19 * 4)" * (cast_expression "(int *)((int)&psVar18->mutex + uVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->mutex + uVar19 * 4)" ( (binary_expression "(int)&psVar18->mutex + uVar19 * 4" (cast_expression "(int)&psVar18->mutex" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->mutex" & (field_expression "psVar18->mutex" identifier -> field_identifier))) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar26 != 0) goto LAB_000cddd4;" if (parenthesized_expression "(iVar26 != 0)" ( (binary_expression "iVar26 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000cddd4;" goto statement_identifier ;)) }))) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (if_statement "if (iStack_1bc != 0) {\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(iStack_1bc != 0)" ( (binary_expression "iStack_1bc != 0" identifier != number_literal) )) (compound_statement "{\n      psVar18 = psVar17->mutex;\n      puVar42 = puVar34;\n      iVar26 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar26;\n      uVar9 = 2;\n      iVar26 = *(int *)(pcVar6 + 0xc2eec);\n      iVar40 = uVar19 + 1;\n      iVar37 = *(int *)(pcVar6 + 0xc2f78);\n      if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }\n      iVar41 = uVar19 * 4;\n      *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n      iVar10 = *(int *)(pcVar6 + 0xc2f88);\n      puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n      pBVar14 = pBVar25;\n      if (puVar42 < puVar35) goto LAB_000cde58;\n      do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );\n    }" { (expression_statement "psVar18 = psVar17->mutex;" (assignment_expression "psVar18 = psVar17->mutex" identifier = (field_expression "psVar17->mutex" identifier -> field_identifier)) ;) (expression_statement "puVar42 = puVar34;" (assignment_expression "puVar42 = puVar34" identifier = identifier) ;) (expression_statement "iVar26 = iStack_1bc;" (assignment_expression "iVar26 = iStack_1bc" identifier = identifier) ;) (labeled_statement "LAB_000cddd4:\n      iStack_1bc = iVar26;" statement_identifier : (expression_statement "iStack_1bc = iVar26;" (assignment_expression "iStack_1bc = iVar26" identifier = identifier) ;)) (expression_statement "uVar9 = 2;" (assignment_expression "uVar9 = 2" identifier = number_literal) ;) (expression_statement "iVar26 = *(int *)(pcVar6 + 0xc2eec);" (assignment_expression "iVar26 = *(int *)(pcVar6 + 0xc2eec)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xc2eec)" * (cast_expression "(int *)(pcVar6 + 0xc2eec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2eec)" ( (binary_expression "pcVar6 + 0xc2eec" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = uVar19 + 1;" (assignment_expression "iVar40 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "iVar37 = *(int *)(pcVar6 + 0xc2f78);" (assignment_expression "iVar37 = *(int *)(pcVar6 + 0xc2f78)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xc2f78)" * (cast_expression "(int *)(pcVar6 + 0xc2f78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2f78)" ( (binary_expression "pcVar6 + 0xc2f78" identifier + number_literal) ))))) ;) (if_statement "if (pcStack_178 != (code *)0x0) {\n        uVar9 = 0;\n      }" if (parenthesized_expression "(pcStack_178 != (code *)0x0)" ( (binary_expression "pcStack_178 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar9 = 0;\n      }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) })) (expression_statement "iVar41 = uVar19 * 4;" (assignment_expression "iVar41 = uVar19 * 4" identifier = (binary_expression "uVar19 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;" (assignment_expression "*(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc" (pointer_expression "*(int *)((int)&psVar18->mutex + iVar41)" * (cast_expression "(int *)((int)&psVar18->mutex + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->mutex + iVar41)" ( (binary_expression "(int)&psVar18->mutex + iVar41" (cast_expression "(int)&psVar18->mutex" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->mutex" & (field_expression "psVar18->mutex" identifier -> field_identifier))) + identifier) )))) = identifier) ;) (expression_statement "iVar10 = *(int *)(pcVar6 + 0xc2f88);" (assignment_expression "iVar10 = *(int *)(pcVar6 + 0xc2f88)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xc2f88)" * (cast_expression "(int *)(pcVar6 + 0xc2f88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2f88)" ( (binary_expression "pcVar6 + 0xc2f88" identifier + number_literal) ))))) ;) (expression_statement "puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);" (assignment_expression "puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42)" identifier = (cast_expression "(undefined1 *)((int)&pBVar25->pPager + (int)puVar42)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar25->pPager + (int)puVar42)" ( (binary_expression "(int)&pBVar25->pPager + (int)puVar42" (cast_expression "(int)&pBVar25->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar25->pPager" & (field_expression "pBVar25->pPager" identifier -> field_identifier))) + (cast_expression "(int)puVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBVar14 = pBVar25;" (assignment_expression "pBVar14 = pBVar25" identifier = identifier) ;) (if_statement "if (puVar42 < puVar35) goto LAB_000cde58;" if (parenthesized_expression "(puVar42 < puVar35)" ( (binary_expression "puVar42 < puVar35" identifier < identifier) )) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;)) (do_statement "do {\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      } while( true );" do (compound_statement "{\n        psVar18 = psVar17->mutex;\n        iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);\n        puVar42 = puVar42 + -(int)puVar35;\n        iVar41 = iVar40;\n        if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }\n      }" { (expression_statement "psVar18 = psVar17->mutex;" (assignment_expression "psVar18 = psVar17->mutex" identifier = (field_expression "psVar17->mutex" identifier -> field_identifier)) ;) (expression_statement "iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4);" (assignment_expression "iVar11 = *(int *)((int)&psVar18->mutex + iVar41 + 4)" identifier = (pointer_expression "*(int *)((int)&psVar18->mutex + iVar41 + 4)" * (cast_expression "(int *)((int)&psVar18->mutex + iVar41 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->mutex + iVar41 + 4)" ( (binary_expression "(int)&psVar18->mutex + iVar41 + 4" (binary_expression "(int)&psVar18->mutex + iVar41" (cast_expression "(int)&psVar18->mutex" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->mutex" & (field_expression "psVar18->mutex" identifier -> field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "puVar42 = puVar42 + -(int)puVar35;" (assignment_expression "puVar42 = puVar42 + -(int)puVar35" identifier = (binary_expression "puVar42 + -(int)puVar35" identifier + (unary_expression "-(int)puVar35" - (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "iVar41 = iVar40;" (assignment_expression "iVar41 = iVar40" identifier = identifier) ;) (if_statement "if (iVar11 == 0) {\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" { (expression_statement "pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc);" (assignment_expression "pcVar28 = (code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc)" identifier = (cast_expression "(code *)(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar10 + -0x2960))(piVar32,iStack_1bc,0,&iStack_1bc)" (parenthesized_expression "(*(code *)(iVar10 + -0x2960))" ( (pointer_expression "*(code *)(iVar10 + -0x2960)" * (cast_expression "(code *)(iVar10 + -0x2960)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2960)" ( (binary_expression "iVar10 + -0x2960" identifier + number_literal) )))) )) (argument_list "(piVar32,iStack_1bc,0,&iStack_1bc)" ( identifier , identifier , number_literal , (pointer_expression "&iStack_1bc" & identifier) ))))) ;) (goto_statement "goto LAB_000cdea8;" goto statement_identifier ;) })) (while_statement "while( true ) {\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iStack_1bc = iVar11;\n          iVar40 = iVar41 + 1;\n          iVar41 = iVar41 * 4;\n          *(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;\n          if (puVar35 <= puVar42) break;\n          puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);\n          pBVar14 = pBVar25;\nLAB_000cde58:\n          pBVar25 = (BtShared *)0x0;\n          if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }\n          pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);\n          iVar41 = iStack_1b8;\n          if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }\n          if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;\n          pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);\nLAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          psVar18 = psVar17->mutex;\n          iVar41 = iVar40;\n          iVar11 = iStack_1bc;\n        }" { (expression_statement "iStack_1bc = iVar11;" (assignment_expression "iStack_1bc = iVar11" identifier = identifier) ;) (expression_statement "iVar40 = iVar41 + 1;" (assignment_expression "iVar40 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "iVar41 = iVar41 * 4;" (assignment_expression "iVar41 = iVar41 * 4" identifier = (binary_expression "iVar41 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc;" (assignment_expression "*(int *)((int)&psVar18->mutex + iVar41) = iStack_1bc" (pointer_expression "*(int *)((int)&psVar18->mutex + iVar41)" * (cast_expression "(int *)((int)&psVar18->mutex + iVar41)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar18->mutex + iVar41)" ( (binary_expression "(int)&psVar18->mutex + iVar41" (cast_expression "(int)&psVar18->mutex" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar18->mutex" & (field_expression "psVar18->mutex" identifier -> field_identifier))) + identifier) )))) = identifier) ;) (if_statement "if (puVar35 <= puVar42) break;" if (parenthesized_expression "(puVar35 <= puVar42)" ( (binary_expression "puVar35 <= puVar42" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42);" (assignment_expression "puVar34 = (undefined1 *)((int)&pBVar25->pPager + (int)puVar42)" identifier = (cast_expression "(undefined1 *)((int)&pBVar25->pPager + (int)puVar42)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar25->pPager + (int)puVar42)" ( (binary_expression "(int)&pBVar25->pPager + (int)puVar42" (cast_expression "(int)&pBVar25->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar25->pPager" & (field_expression "pBVar25->pPager" identifier -> field_identifier))) + (cast_expression "(int)puVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBVar14 = pBVar25;" (assignment_expression "pBVar14 = pBVar25" identifier = identifier) ;) (labeled_statement "LAB_000cde58:\n          pBVar25 = (BtShared *)0x0;" statement_identifier : (expression_statement "pBVar25 = (BtShared *)0x0;" (assignment_expression "pBVar25 = (BtShared *)0x0" identifier = (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (puVar35 < puVar34) {\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }" if (parenthesized_expression "(puVar35 < puVar34)" ( (binary_expression "puVar35 < puVar34" identifier < identifier) )) (compound_statement "{\n            pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);\n            pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);\n          }" { (expression_statement "pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14);" (assignment_expression "pBVar25 = (BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14)" identifier = (cast_expression "(BtShared *)(((int)puVar42 - (int)puVar35) + (int)pBVar14)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)puVar42 - (int)puVar35) + (int)pBVar14)" ( (binary_expression "((int)puVar42 - (int)puVar35) + (int)pBVar14" (parenthesized_expression "((int)puVar42 - (int)puVar35)" ( (binary_expression "(int)puVar42 - (int)puVar35" (cast_expression "(int)puVar42" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier)) )) + (cast_expression "(int)pBVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBVar14 = (BtShared *)(puVar35 + -(int)puVar42);" (assignment_expression "pBVar14 = (BtShared *)(puVar35 + -(int)puVar42)" identifier = (cast_expression "(BtShared *)(puVar35 + -(int)puVar42)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar35 + -(int)puVar42)" ( (binary_expression "puVar35 + -(int)puVar42" identifier + (unary_expression "-(int)puVar42" - (cast_expression "(int)puVar42" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9);" (assignment_expression "pcVar28 = (code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9)" identifier = (cast_expression "(code *)(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*piVar32 + 0xcc))(*piVar32,iStack_1bc,&iStack_1b8,uVar9)" (parenthesized_expression "(**(code **)(*piVar32 + 0xcc))" ( (pointer_expression "**(code **)(*piVar32 + 0xcc)" * (pointer_expression "*(code **)(*piVar32 + 0xcc)" * (cast_expression "(code **)(*piVar32 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar32 + 0xcc)" ( (binary_expression "*piVar32 + 0xcc" (pointer_expression "*piVar32" * identifier) + number_literal) ))))) )) (argument_list "(*piVar32,iStack_1bc,&iStack_1b8,uVar9)" ( (pointer_expression "*piVar32" * identifier) , identifier , (pointer_expression "&iStack_1b8" & identifier) , identifier ))))) ;) (expression_statement "iVar41 = iStack_1b8;" (assignment_expression "iVar41 = iStack_1b8" identifier = identifier) ;) (if_statement "if (pcVar28 == (code *)0x0) {\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }" if (parenthesized_expression "(pcVar28 == (code *)0x0)" ( (binary_expression "pcVar28 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }\n          }" { (expression_statement "puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4));" (assignment_expression "puVar34 = (undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4))" identifier = (cast_expression "(undefined1 *)((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4))" ( (binary_expression "(int)*(int **)(iStack_1b8 + 4) + (int)(puVar42 + 4)" (cast_expression "(int)*(int **)(iStack_1b8 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) ))))) + (cast_expression "(int)(puVar42 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar42 + 4)" ( (binary_expression "puVar42 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iStack_1bc = **(int **)(iStack_1b8 + 4);" (assignment_expression "iStack_1bc = **(int **)(iStack_1b8 + 4)" identifier = (pointer_expression "**(int **)(iStack_1b8 + 4)" * (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) )))))) ;) (if_statement "if (pcStack_178 == (code *)0x0) {\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }\n            else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }" if (parenthesized_expression "(pcStack_178 == (code *)0x0)" ( (binary_expression "pcStack_178 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar42 = (undefined1 *)0x0;\n              (**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);\n              pcVar28 = pcStack_178;\n              (*(code *)(iVar26 + 0xee8))(iVar41);\n            }" { (expression_statement "puVar42 = (undefined1 *)0x0;" (assignment_expression "puVar42 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14);" (call_expression "(**(code **)(pcVar6 + 0xc31d8))(pBStack_1d8,puVar34,pBVar14)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc31d8))" ( (pointer_expression "**(code **)(pcVar6 + 0xc31d8)" * (pointer_expression "*(code **)(pcVar6 + 0xc31d8)" * (cast_expression "(code **)(pcVar6 + 0xc31d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31d8)" ( (binary_expression "pcVar6 + 0xc31d8" identifier + number_literal) ))))) )) (argument_list "(pBStack_1d8,puVar34,pBVar14)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar28 = pcStack_178;" (assignment_expression "pcVar28 = pcStack_178" identifier = identifier) ;) (expression_statement "(*(code *)(iVar26 + 0xee8))(iVar41);" (call_expression "(*(code *)(iVar26 + 0xee8))(iVar41)" (parenthesized_expression "(*(code *)(iVar26 + 0xee8))" ( (pointer_expression "*(code *)(iVar26 + 0xee8)" * (cast_expression "(code *)(iVar26 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0xee8)" ( (binary_expression "iVar26 + 0xee8" identifier + number_literal) )))) )) (argument_list "(iVar41)" ( identifier ))) ;) }) (else_clause "else {\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }" else (compound_statement "{\n              pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);\n              if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }\n              puVar42 = (undefined1 *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }\n            }" { (expression_statement "pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8);" (assignment_expression "pcVar28 = (code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8)" identifier = (cast_expression "(code *)(*(code *)(iVar37 + 0x3260))(iStack_1b8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar37 + 0x3260))(iStack_1b8)" (parenthesized_expression "(*(code *)(iVar37 + 0x3260))" ( (pointer_expression "*(code *)(iVar37 + 0x3260)" * (cast_expression "(code *)(iVar37 + 0x3260)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x3260)" ( (binary_expression "iVar37 + 0x3260" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))))) ;) (if_statement "if (pcVar28 == (code *)0x0) {\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }" if (parenthesized_expression "(pcVar28 == (code *)0x0)" ( (binary_expression "pcVar28 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                (**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);\n              }" { (expression_statement "(**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14);" (call_expression "(**(code **)(pcVar6 + 0xc31d8))(puVar34,pBStack_1d8,pBVar14)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc31d8))" ( (pointer_expression "**(code **)(pcVar6 + 0xc31d8)" * (pointer_expression "*(code **)(pcVar6 + 0xc31d8)" * (cast_expression "(code **)(pcVar6 + 0xc31d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31d8)" ( (binary_expression "pcVar6 + 0xc31d8" identifier + number_literal) ))))) )) (argument_list "(puVar34,pBStack_1d8,pBVar14)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "puVar42 = (undefined1 *)0x0;" (assignment_expression "puVar42 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iStack_1b8 != 0) {\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }" if (parenthesized_expression "(iStack_1b8 != 0)" ( (binary_expression "iStack_1b8 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(iVar26 + 0xee8))(iStack_1b8);\n              }" { (expression_statement "(*(code *)(iVar26 + 0xee8))(iStack_1b8);" (call_expression "(*(code *)(iVar26 + 0xee8))(iStack_1b8)" (parenthesized_expression "(*(code *)(iVar26 + 0xee8))" ( (pointer_expression "*(code *)(iVar26 + 0xee8)" * (cast_expression "(code *)(iVar26 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0xee8)" ( (binary_expression "iVar26 + 0xee8" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))) ;) })) }))) })) (if_statement "if (pBVar25 == (BtShared *)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(pBVar25 == (BtShared *)0x0)" ( (binary_expression "pBVar25 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;)) (expression_statement "pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14);" (assignment_expression "pBStack_1d8 = (BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14)" identifier = (cast_expression "(BtShared *)((int)&pBStack_1d8->pPager + (int)pBVar14)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1d8->pPager + (int)pBVar14)" ( (binary_expression "(int)&pBStack_1d8->pPager + (int)pBVar14" (cast_expression "(int)&pBStack_1d8->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d8->pPager" & (field_expression "pBStack_1d8->pPager" identifier -> field_identifier))) + (cast_expression "(int)pBVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_000cdea8:\n          if (pcVar28 != (code *)0x0) goto LAB_000cdd30;" statement_identifier : (if_statement "if (pcVar28 != (code *)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(pcVar28 != (code *)0x0)" ( (binary_expression "pcVar28 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;))) (if_statement "if (iStack_1bc == 0) goto LAB_000ce0b4;" if (parenthesized_expression "(iStack_1bc == 0)" ( (binary_expression "iStack_1bc == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b4;" goto statement_identifier ;)) (expression_statement "psVar18 = psVar17->mutex;" (assignment_expression "psVar18 = psVar17->mutex" identifier = (field_expression "psVar17->mutex" identifier -> field_identifier)) ;) (expression_statement "iVar41 = iVar40;" (assignment_expression "iVar41 = iVar40" identifier = identifier) ;) (expression_statement "iVar11 = iStack_1bc;" (assignment_expression "iVar11 = iStack_1bc" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_000ce0b4:\n    uVar9 = 0x1094f;" statement_identifier : (expression_statement "uVar9 = 0x1094f;" (assignment_expression "uVar9 = 0x1094f" identifier = number_literal) ;)) }))) (expression_statement "pcVar28 = (code *)&DAT_0000000b;" (assignment_expression "pcVar28 = (code *)&DAT_0000000b" identifier = (cast_expression "(code *)&DAT_0000000b" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(**(code **)(pcVar6 + 0xc2f8c))\n            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c);" (call_expression "(**(code **)(pcVar6 + 0xc2f8c))\n            (0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc2f8c))" ( (pointer_expression "**(code **)(pcVar6 + 0xc2f8c)" * (pointer_expression "*(code **)(pcVar6 + 0xc2f8c)" * (cast_expression "(code **)(pcVar6 + 0xc2f8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc2f8c)" ( (binary_expression "pcVar6 + 0xc2f8c" identifier + number_literal) ))))) )) (argument_list "(0xb,*(int *)(pcVar6 + 0xc2d08) + -0x6378,*(int *)(pcVar6 + 0xc2d08) + -0x5e64,uVar9,\n             *(int *)(pcVar6 + 0xc2d04) + 0x625c)" ( number_literal , (binary_expression "*(int *)(pcVar6 + 0xc2d08) + -0x6378" (pointer_expression "*(int *)(pcVar6 + 0xc2d08)" * (cast_expression "(int *)(pcVar6 + 0xc2d08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2d08)" ( (binary_expression "pcVar6 + 0xc2d08" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar6 + 0xc2d08) + -0x5e64" (pointer_expression "*(int *)(pcVar6 + 0xc2d08)" * (cast_expression "(int *)(pcVar6 + 0xc2d08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2d08)" ( (binary_expression "pcVar6 + 0xc2d08" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar6 + 0xc2d04) + 0x625c" (pointer_expression "*(int *)(pcVar6 + 0xc2d04)" * (cast_expression "(int *)(pcVar6 + 0xc2d04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2d04)" ( (binary_expression "pcVar6 + 0xc2d04" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000cdd30:\n  if (pBStack_1b4 == (BtCursor *)*piVar29) {\n    return (int)pcVar28;\n  }" statement_identifier : (if_statement "if (pBStack_1b4 == (BtCursor *)*piVar29) {\n    return (int)pcVar28;\n  }" if (parenthesized_expression "(pBStack_1b4 == (BtCursor *)*piVar29)" ( (binary_expression "pBStack_1b4 == (BtCursor *)*piVar29" identifier == (cast_expression "(BtCursor *)*piVar29" ( (type_descriptor "BtCursor *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) )) (compound_statement "{\n    return (int)pcVar28;\n  }" { (return_statement "return (int)pcVar28;" return (cast_expression "(int)pcVar28" ( (type_descriptor "int" primitive_type) ) identifier) ;) }))) (expression_statement "pcVar6 = *(code **)(pcVar6 + 0xc31a4);" (assignment_expression "pcVar6 = *(code **)(pcVar6 + 0xc31a4)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xc31a4)" * (cast_expression "(code **)(pcVar6 + 0xc31a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc31a4)" ( (binary_expression "pcVar6 + 0xc31a4" identifier + number_literal) ))))) ;) (expression_statement "pCur_00 = pBStack_1b4;" (assignment_expression "pCur_00 = pBStack_1b4" identifier = identifier) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))();" (call_expression "(*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xc2a68) + 0x1604)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2a68) + 0x1604)" ( (binary_expression "*(int *)(pcVar6 + 0xc2a68) + 0x1604" (pointer_expression "*(int *)(pcVar6 + 0xc2a68)" * (cast_expression "(int *)(pcVar6 + 0xc2a68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2a68)" ( (binary_expression "pcVar6 + 0xc2a68" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar19 = (pCur_00->info).nPayload;" (assignment_expression "uVar19 = (pCur_00->info).nPayload" identifier = (field_expression "(pCur_00->info).nPayload" (parenthesized_expression "(pCur_00->info)" ( (field_expression "pCur_00->info" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)&pCur_00->nKey = 0;" (assignment_expression "*(undefined4 *)&pCur_00->nKey = 0" (pointer_expression "*(undefined4 *)&pCur_00->nKey" * (cast_expression "(undefined4 *)&pCur_00->nKey" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCur_00->nKey" & (field_expression "pCur_00->nKey" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(uint *)((int)&pCur_00->nKey + 4) = uVar19;" (assignment_expression "*(uint *)((int)&pCur_00->nKey + 4) = uVar19" (pointer_expression "*(uint *)((int)&pCur_00->nKey + 4)" * (cast_expression "(uint *)((int)&pCur_00->nKey + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pCur_00->nKey + 4)" ( (binary_expression "(int)&pCur_00->nKey + 4" (cast_expression "(int)&pCur_00->nKey" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pCur_00->nKey" & (field_expression "pCur_00->nKey" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19);" (assignment_expression "pBuf = (uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19)" identifier = (cast_expression "(uchar *)(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))(uVar19 + 0x11 < uVar19)" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xc2ad0) + -0x2b48)" ( (binary_expression "*(int *)(pcVar6 + 0xc2ad0) + -0x2b48" (pointer_expression "*(int *)(pcVar6 + 0xc2ad0)" * (cast_expression "(int *)(pcVar6 + 0xc2ad0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc2ad0)" ( (binary_expression "pcVar6 + 0xc2ad0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar19 + 0x11 < uVar19)" ( (binary_expression "uVar19 + 0x11 < uVar19" (binary_expression "uVar19 + 0x11" identifier + number_literal) < identifier) ))))) ;) (if_statement "if (pBuf == (uchar *)0x0) {\n    return 7;\n  }" if (parenthesized_expression "(pBuf == (uchar *)0x0)" ( (binary_expression "pBuf == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 7;\n  }" { (return_statement "return 7;" return number_literal ;) })) (expression_statement "iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0);" (assignment_expression "iVar26 = accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0)" identifier = (call_expression "accessPayload(pCur_00,0,(u32)pCur_00->nKey,pBuf,0)" identifier (argument_list "(pCur_00,0,(u32)pCur_00->nKey,pBuf,0)" ( identifier , number_literal , (cast_expression "(u32)pCur_00->nKey" ( (type_descriptor "u32" type_identifier) ) (field_expression "pCur_00->nKey" identifier -> field_identifier)) , identifier , number_literal )))) ;) (if_statement "if (iVar26 == 0) {\n    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);\n    pCur_00->pKey = pBuf;\n    return 0;\n  }" if (parenthesized_expression "(iVar26 == 0)" ( (binary_expression "iVar26 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);\n    pCur_00->pKey = pBuf;\n    return 0;\n  }" { (expression_statement "(**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11);" (call_expression "(**(code **)(pcVar6 + 0xc2c80))(pBuf + (int)pCur_00->nKey,0,0x11)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc2c80))" ( (pointer_expression "**(code **)(pcVar6 + 0xc2c80)" * (pointer_expression "*(code **)(pcVar6 + 0xc2c80)" * (cast_expression "(code **)(pcVar6 + 0xc2c80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc2c80)" ( (binary_expression "pcVar6 + 0xc2c80" identifier + number_literal) ))))) )) (argument_list "(pBuf + (int)pCur_00->nKey,0,0x11)" ( (binary_expression "pBuf + (int)pCur_00->nKey" identifier + (cast_expression "(int)pCur_00->nKey" ( (type_descriptor "int" primitive_type) ) (field_expression "pCur_00->nKey" identifier -> field_identifier))) , number_literal , number_literal ))) ;) (expression_statement "pCur_00->pKey = pBuf;" (assignment_expression "pCur_00->pKey = pBuf" (field_expression "pCur_00->pKey" identifier -> field_identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "(**(code **)(pcVar6 + 0xc2894))(pBuf);" (call_expression "(**(code **)(pcVar6 + 0xc2894))(pBuf)" (parenthesized_expression "(**(code **)(pcVar6 + 0xc2894))" ( (pointer_expression "**(code **)(pcVar6 + 0xc2894)" * (pointer_expression "*(code **)(pcVar6 + 0xc2894)" * (cast_expression "(code **)(pcVar6 + 0xc2894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xc2894)" ( (binary_expression "pcVar6 + 0xc2894" identifier + number_literal) ))))) )) (argument_list "(pBuf)" ( identifier ))) ;) (return_statement "return iVar26;" return identifier ;) })))
(translation_unit "code ****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}\n\n" (function_definition "code ****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" type_identifier (pointer_declarator "****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "***** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "**** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "*** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (pointer_declarator "* FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" * (function_declarator "FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" identifier (parameter_list "(int param_1,code *******param_2,code *******param_3,code ******param_4)" ( (parameter_declaration "int param_1" primitive_type 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" * identifier))))))) ))))))))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "code ***pppcVar6;" type_identifier (pointer_declarator "***pppcVar6" * (pointer_declarator "**pppcVar6" * (pointer_declarator "*pppcVar6" * identifier))) ;) (declaration "code *******pppppppcVar7;" type_identifier (pointer_declarator "*******pppppppcVar7" * (pointer_declarator "******pppppppcVar7" * (pointer_declarator "*****pppppppcVar7" * (pointer_declarator "****pppppppcVar7" * (pointer_declarator "***pppppppcVar7" * (pointer_declarator "**pppppppcVar7" * (pointer_declarator "*pppppppcVar7" * identifier))))))) ;) (declaration "code ****ppppcVar8;" type_identifier (pointer_declarator "****ppppcVar8" * (pointer_declarator "***ppppcVar8" * (pointer_declarator "**ppppcVar8" * (pointer_declarator "*ppppcVar8" * identifier)))) ;) (declaration "code ****ppppcVar9;" type_identifier (pointer_declarator "****ppppcVar9" * (pointer_declarator "***ppppcVar9" * (pointer_declarator "**ppppcVar9" * (pointer_declarator "*ppppcVar9" * identifier)))) ;) (declaration "code *******extraout_v1;" type_identifier (pointer_declarator "*******extraout_v1" * (pointer_declarator "******extraout_v1" * (pointer_declarator "*****extraout_v1" * (pointer_declarator "****extraout_v1" * (pointer_declarator "***extraout_v1" * (pointer_declarator "**extraout_v1" * (pointer_declarator "*extraout_v1" * identifier))))))) ;) (declaration "code *******extraout_v1_00;" type_identifier (pointer_declarator "*******extraout_v1_00" * (pointer_declarator "******extraout_v1_00" * (pointer_declarator "*****extraout_v1_00" * (pointer_declarator "****extraout_v1_00" * (pointer_declarator "***extraout_v1_00" * (pointer_declarator "**extraout_v1_00" * (pointer_declarator "*extraout_v1_00" * identifier))))))) ;) (declaration "code *******pppppppcVar11;" type_identifier (pointer_declarator "*******pppppppcVar11" * (pointer_declarator "******pppppppcVar11" * (pointer_declarator "*****pppppppcVar11" * (pointer_declarator "****pppppppcVar11" * (pointer_declarator "***pppppppcVar11" * (pointer_declarator "**pppppppcVar11" * (pointer_declarator "*pppppppcVar11" * identifier))))))) ;) (declaration "code *******pppppppcVar12;" type_identifier (pointer_declarator "*******pppppppcVar12" * (pointer_declarator "******pppppppcVar12" * (pointer_declarator "*****pppppppcVar12" * (pointer_declarator "****pppppppcVar12" * (pointer_declarator "***pppppppcVar12" * (pointer_declarator "**pppppppcVar12" * (pointer_declarator "*pppppppcVar12" * identifier))))))) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "code **ppcVar15;" type_identifier (pointer_declarator "**ppcVar15" * (pointer_declarator "*ppcVar15" * identifier)) ;) (declaration "code ******ppppppcVar16;" type_identifier (pointer_declarator "******ppppppcVar16" * (pointer_declarator "*****ppppppcVar16" * (pointer_declarator "****ppppppcVar16" * (pointer_declarator "***ppppppcVar16" * (pointer_declarator "**ppppppcVar16" * (pointer_declarator "*ppppppcVar16" * identifier)))))) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * 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 "code ******ppppppcVar20;" type_identifier (pointer_declarator "******ppppppcVar20" * (pointer_declarator "*****ppppppcVar20" * (pointer_declarator "****ppppppcVar20" * (pointer_declarator "***ppppppcVar20" * (pointer_declarator "**ppppppcVar20" * (pointer_declarator "*ppppppcVar20" * identifier)))))) ;) (declaration "code ******ppppppcVar21;" type_identifier (pointer_declarator "******ppppppcVar21" * (pointer_declarator "*****ppppppcVar21" * (pointer_declarator "****ppppppcVar21" * (pointer_declarator "***ppppppcVar21" * (pointer_declarator "**ppppppcVar21" * (pointer_declarator "*ppppppcVar21" * identifier)))))) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code ******ppppppcVar24;" type_identifier (pointer_declarator "******ppppppcVar24" * (pointer_declarator "*****ppppppcVar24" * (pointer_declarator "****ppppppcVar24" * (pointer_declarator "***ppppppcVar24" * (pointer_declarator "**ppppppcVar24" * (pointer_declarator "*ppppppcVar24" * identifier)))))) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "code ******ppppppcVar28;" type_identifier (pointer_declarator "******ppppppcVar28" * (pointer_declarator "*****ppppppcVar28" * (pointer_declarator "****ppppppcVar28" * (pointer_declarator "***ppppppcVar28" * (pointer_declarator "**ppppppcVar28" * (pointer_declarator "*ppppppcVar28" * identifier)))))) ;) (declaration "code *******pppppppcVar29;" type_identifier (pointer_declarator "*******pppppppcVar29" * (pointer_declarator "******pppppppcVar29" * (pointer_declarator "*****pppppppcVar29" * (pointer_declarator "****pppppppcVar29" * (pointer_declarator "***pppppppcVar29" * (pointer_declarator "**pppppppcVar29" * (pointer_declarator "*pppppppcVar29" * identifier))))))) ;) (declaration "byte *pbVar30;" type_identifier (pointer_declarator "*pbVar30" * identifier) ;) (declaration "byte *pbVar31;" type_identifier (pointer_declarator "*pbVar31" * identifier) ;) (declaration "int iVar32;" primitive_type identifier ;) (declaration "code *******pppppppcVar33;" type_identifier (pointer_declarator "*******pppppppcVar33" * (pointer_declarator "******pppppppcVar33" * (pointer_declarator "*****pppppppcVar33" * (pointer_declarator "****pppppppcVar33" * (pointer_declarator "***pppppppcVar33" * (pointer_declarator "**pppppppcVar33" * (pointer_declarator "*pppppppcVar33" * identifier))))))) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "code ****ppppcVar35;" type_identifier (pointer_declarator "****ppppcVar35" * (pointer_declarator "***ppppcVar35" * (pointer_declarator "**ppppcVar35" * (pointer_declarator "*ppppcVar35" * identifier)))) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "code *****pppppcVar37;" type_identifier (pointer_declarator "*****pppppcVar37" * (pointer_declarator "****pppppcVar37" * (pointer_declarator "***pppppcVar37" * (pointer_declarator "**pppppcVar37" * (pointer_declarator "*pppppcVar37" * identifier))))) ;) (declaration "code ****ppppcVar38;" type_identifier (pointer_declarator "****ppppcVar38" * (pointer_declarator "***ppppcVar38" * (pointer_declarator "**ppppcVar38" * (pointer_declarator "*ppppcVar38" * identifier)))) ;) (declaration "undefined4 uVar39;" type_identifier identifier ;) (declaration "byte *pbVar40;" type_identifier (pointer_declarator "*pbVar40" * identifier) ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "code ******ppppppcStack_1d8;" type_identifier (pointer_declarator "******ppppppcStack_1d8" * (pointer_declarator "*****ppppppcStack_1d8" * (pointer_declarator "****ppppppcStack_1d8" * (pointer_declarator "***ppppppcStack_1d8" * (pointer_declarator "**ppppppcStack_1d8" * (pointer_declarator "*ppppppcStack_1d8" * identifier)))))) ;) (declaration "int iStack_1bc;" primitive_type identifier ;) (declaration "int iStack_1b8;" primitive_type identifier ;) (declaration "code ***pppcStack_1b4;" type_identifier (pointer_declarator "***pppcStack_1b4" * (pointer_declarator "**pppcStack_1b4" * (pointer_declarator "*pppcStack_1b4" * identifier))) ;) (declaration "code ****ppppcStack_1b0;" type_identifier (pointer_declarator "****ppppcStack_1b0" * (pointer_declarator "***ppppcStack_1b0" * (pointer_declarator "**ppppcStack_1b0" * (pointer_declarator "*ppppcStack_1b0" * identifier)))) ;) (declaration "code ******ppppppcStack_1ac;" type_identifier (pointer_declarator "******ppppppcStack_1ac" * (pointer_declarator "*****ppppppcStack_1ac" * (pointer_declarator "****ppppppcStack_1ac" * (pointer_declarator "***ppppppcStack_1ac" * (pointer_declarator "**ppppppcStack_1ac" * (pointer_declarator "*ppppppcStack_1ac" * identifier)))))) ;) (declaration "int *piStack_1a8;" primitive_type (pointer_declarator "*piStack_1a8" * identifier) ;) (declaration "code ******ppppppcStack_1a4;" type_identifier (pointer_declarator "******ppppppcStack_1a4" * (pointer_declarator "*****ppppppcStack_1a4" * (pointer_declarator "****ppppppcStack_1a4" * (pointer_declarator "***ppppppcStack_1a4" * (pointer_declarator "**ppppppcStack_1a4" * (pointer_declarator "*ppppppcStack_1a4" * identifier)))))) ;) (declaration "code *******pppppppcStack_1a0;" type_identifier (pointer_declarator "*******pppppppcStack_1a0" * (pointer_declarator "******pppppppcStack_1a0" * (pointer_declarator "*****pppppppcStack_1a0" * (pointer_declarator "****pppppppcStack_1a0" * (pointer_declarator "***pppppppcStack_1a0" * (pointer_declarator "**pppppppcStack_1a0" * (pointer_declarator "*pppppppcStack_1a0" * identifier))))))) ;) (declaration "code ******ppppppcStack_19c;" type_identifier (pointer_declarator "******ppppppcStack_19c" * (pointer_declarator "*****ppppppcStack_19c" * (pointer_declarator "****ppppppcStack_19c" * (pointer_declarator "***ppppppcStack_19c" * (pointer_declarator "**ppppppcStack_19c" * (pointer_declarator "*ppppppcStack_19c" * identifier)))))) ;) (declaration "int iStack_198;" primitive_type identifier ;) (declaration "code *******pppppppcStack_194;" type_identifier (pointer_declarator "*******pppppppcStack_194" * (pointer_declarator "******pppppppcStack_194" * (pointer_declarator "*****pppppppcStack_194" * (pointer_declarator "****pppppppcStack_194" * (pointer_declarator "***pppppppcStack_194" * (pointer_declarator "**pppppppcStack_194" * (pointer_declarator "*pppppppcStack_194" * identifier))))))) ;) (declaration "code ******ppppppcStack_190;" type_identifier (pointer_declarator "******ppppppcStack_190" * (pointer_declarator "*****ppppppcStack_190" * (pointer_declarator "****ppppppcStack_190" * (pointer_declarator "***ppppppcStack_190" * (pointer_declarator "**ppppppcStack_190" * (pointer_declarator "*ppppppcStack_190" * identifier)))))) ;) (declaration "code *pcStack_18c;" type_identifier (pointer_declarator "*pcStack_18c" * identifier) ;) (declaration "code ******ppppppcStack_178;" type_identifier (pointer_declarator "******ppppppcStack_178" * (pointer_declarator "*****ppppppcStack_178" * (pointer_declarator "****ppppppcStack_178" * (pointer_declarator "***ppppppcStack_178" * (pointer_declarator "**ppppppcStack_178" * (pointer_declarator "*ppppppcStack_178" * identifier)))))) ;) (declaration "code *****pppppcStack_170;" type_identifier (pointer_declarator "*****pppppcStack_170" * (pointer_declarator "****pppppcStack_170" * (pointer_declarator "***pppppcStack_170" * (pointer_declarator "**pppppcStack_170" * (pointer_declarator "*pppppcStack_170" * identifier))))) ;) (declaration "int iStack_16c;" primitive_type identifier ;) (declaration "code *******pppppppcStack_164;" type_identifier (pointer_declarator "*******pppppppcStack_164" * (pointer_declarator "******pppppppcStack_164" * (pointer_declarator "*****pppppppcStack_164" * (pointer_declarator "****pppppppcStack_164" * (pointer_declarator "***pppppppcStack_164" * (pointer_declarator "**pppppppcStack_164" * (pointer_declarator "*pppppppcStack_164" * identifier))))))) ;) (declaration "undefined *puStack_160;" type_identifier (pointer_declarator "*puStack_160" * identifier) ;) (declaration "int *piStack_15c;" primitive_type (pointer_declarator "*piStack_15c" * identifier) ;) (declaration "code ******ppppppcStack_158;" type_identifier (pointer_declarator "******ppppppcStack_158" * (pointer_declarator "*****ppppppcStack_158" * (pointer_declarator "****ppppppcStack_158" * (pointer_declarator "***ppppppcStack_158" * (pointer_declarator "**ppppppcStack_158" * (pointer_declarator "*ppppppcStack_158" * identifier)))))) ;) (declaration "code *******pppppppcStack_154;" type_identifier (pointer_declarator "*******pppppppcStack_154" * (pointer_declarator "******pppppppcStack_154" * (pointer_declarator "*****pppppppcStack_154" * (pointer_declarator "****pppppppcStack_154" * (pointer_declarator "***pppppppcStack_154" * (pointer_declarator "**pppppppcStack_154" * (pointer_declarator "*pppppppcStack_154" * identifier))))))) ;) (declaration "code ******ppppppcStack_150;" type_identifier (pointer_declarator "******ppppppcStack_150" * (pointer_declarator "*****ppppppcStack_150" * (pointer_declarator "****ppppppcStack_150" * (pointer_declarator "***ppppppcStack_150" * (pointer_declarator "**ppppppcStack_150" * (pointer_declarator "*ppppppcStack_150" * identifier)))))) ;) (declaration "undefined4 uStack_14c;" type_identifier identifier ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "undefined *puStack_130;" type_identifier (pointer_declarator "*puStack_130" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "code *****pppppcStack_120;" type_identifier (pointer_declarator "*****pppppcStack_120" * (pointer_declarator "****pppppcStack_120" * (pointer_declarator "***pppppcStack_120" * (pointer_declarator "**pppppcStack_120" * (pointer_declarator "*pppppcStack_120" * identifier))))) ;) (declaration "code ******ppppppcStack_11c;" type_identifier (pointer_declarator "******ppppppcStack_11c" * (pointer_declarator "*****ppppppcStack_11c" * (pointer_declarator "****ppppppcStack_11c" * (pointer_declarator "***ppppppcStack_11c" * (pointer_declarator "**ppppppcStack_11c" * (pointer_declarator "*ppppppcStack_11c" * identifier)))))) ;) (declaration "code *****apppppcStack_118 [7];" type_identifier (pointer_declarator "*****apppppcStack_118 [7]" * (pointer_declarator "****apppppcStack_118 [7]" * (pointer_declarator "***apppppcStack_118 [7]" * (pointer_declarator "**apppppcStack_118 [7]" * (pointer_declarator "*apppppcStack_118 [7]" * (array_declarator "apppppcStack_118 [7]" identifier [ number_literal ])))))) ;) (declaration "code ****ppppcStack_fc;" type_identifier (pointer_declarator "****ppppcStack_fc" * (pointer_declarator "***ppppcStack_fc" * (pointer_declarator "**ppppcStack_fc" * (pointer_declarator "*ppppcStack_fc" * 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 "undefined *puStack_f4;" type_identifier (pointer_declarator "*puStack_f4" * identifier) ;) (declaration "code *pcStack_f0;" type_identifier (pointer_declarator "*pcStack_f0" * identifier) ;) (declaration "code ******ppppppcStack_ec;" type_identifier (pointer_declarator "******ppppppcStack_ec" * (pointer_declarator "*****ppppppcStack_ec" * (pointer_declarator "****ppppppcStack_ec" * (pointer_declarator "***ppppppcStack_ec" * (pointer_declarator "**ppppppcStack_ec" * (pointer_declarator "*ppppppcStack_ec" * identifier)))))) ;) (declaration "code *******pppppppcStack_e8;" type_identifier (pointer_declarator "*******pppppppcStack_e8" * (pointer_declarator "******pppppppcStack_e8" * (pointer_declarator "*****pppppppcStack_e8" * (pointer_declarator "****pppppppcStack_e8" * (pointer_declarator "***pppppppcStack_e8" * (pointer_declarator "**pppppppcStack_e8" * (pointer_declarator "*pppppppcStack_e8" * identifier))))))) ;) (declaration "code ******ppppppcStack_e4;" type_identifier (pointer_declarator "******ppppppcStack_e4" * (pointer_declarator "*****ppppppcStack_e4" * (pointer_declarator "****ppppppcStack_e4" * (pointer_declarator "***ppppppcStack_e4" * (pointer_declarator "**ppppppcStack_e4" * (pointer_declarator "*ppppppcStack_e4" * identifier)))))) ;) (declaration "int iStack_e0;" primitive_type 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 "int iStack_d8;" primitive_type identifier ;) (declaration "code *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code ******local_c0;" type_identifier (pointer_declarator "******local_c0" * (pointer_declarator "*****local_c0" * (pointer_declarator "****local_c0" * (pointer_declarator "***local_c0" * (pointer_declarator "**local_c0" * (pointer_declarator "*local_c0" * identifier)))))) ;) (declaration "code ******local_bc;" type_identifier (pointer_declarator "******local_bc" * (pointer_declarator "*****local_bc" * (pointer_declarator "****local_bc" * (pointer_declarator "***local_bc" * (pointer_declarator "**local_bc" * (pointer_declarator "*local_bc" * identifier)))))) ;) (declaration "code ******local_b8;" type_identifier (pointer_declarator "******local_b8" * (pointer_declarator "*****local_b8" * (pointer_declarator "****local_b8" * (pointer_declarator "***local_b8" * (pointer_declarator "**local_b8" * (pointer_declarator "*local_b8" * identifier)))))) ;) (declaration "ushort local_8e;" type_identifier identifier ;) (declaration "code ******local_8c;" type_identifier (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))))) ;) (declaration "code ******local_88;" type_identifier (pointer_declarator "******local_88" * (pointer_declarator "*****local_88" * (pointer_declarator "****local_88" * (pointer_declarator "***local_88" * (pointer_declarator "**local_88" * (pointer_declarator "*local_88" * identifier)))))) ;) (declaration "code *******local_84;" type_identifier (pointer_declarator "*******local_84" * (pointer_declarator "******local_84" * (pointer_declarator "*****local_84" * (pointer_declarator "****local_84" * (pointer_declarator "***local_84" * (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier))))))) ;) (declaration "code *******local_80;" type_identifier (pointer_declarator "*******local_80" * (pointer_declarator "******local_80" * (pointer_declarator "*****local_80" * (pointer_declarator "****local_80" * (pointer_declarator "***local_80" * (pointer_declarator "**local_80" * (pointer_declarator "*local_80" * identifier))))))) ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "code *******local_78;" type_identifier (pointer_declarator "*******local_78" * (pointer_declarator "******local_78" * (pointer_declarator "*****local_78" * (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier))))))) ;) (declaration "code *******local_74;" type_identifier (pointer_declarator "*******local_74" * (pointer_declarator "******local_74" * (pointer_declarator "*****local_74" * (pointer_declarator "****local_74" * (pointer_declarator "***local_74" * (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier))))))) ;) (declaration "ushort *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "code ******local_6c;" type_identifier (pointer_declarator "******local_6c" * (pointer_declarator "*****local_6c" * (pointer_declarator "****local_6c" * (pointer_declarator "***local_6c" * (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)))))) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined1 auStack_3c [4];" type_identifier (array_declarator "auStack_3c [4]" identifier [ number_literal ]) ;) (declaration "char local_38 [12];" primitive_type (array_declarator "local_38 [12]" identifier [ number_literal ]) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar36 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar13 = PTR_LAB_00190ba8;" (assignment_expression "puVar13 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(undefined **)PTR___stack_chk_guard_00190e24" * (cast_expression "(undefined **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar22 = PTR_LAB_00190bcc + 0x3260;" (assignment_expression "puVar22 = PTR_LAB_00190bcc + 0x3260" identifier = (binary_expression "PTR_LAB_00190bcc + 0x3260" identifier + number_literal)) ;) (expression_statement "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "iVar32 = (int)*(char *)(param_1 + 0x44);" (assignment_expression "iVar32 = (int)*(char *)(param_1 + 0x44)" identifier = (cast_expression "(int)*(char *)(param_1 + 0x44)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))))) ;) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + 0x74);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + 0x74)" identifier = (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec)" identifier = (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x27ec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + -0x27ec)" ( (binary_expression "PTR_LAB_00190ba8 + -0x27ec" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);" (assignment_expression "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" identifier = (cast_expression "(code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" ( (binary_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3" (call_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24)" * (cast_expression "(int *)(*(int *)(param_1 + 0x14) + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x24)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x24" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) << number_literal) ))) / number_literal) )))) ;) (do_statement "do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);" do (compound_statement "{\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  }" { (expression_statement "cVar10 = *(char *)(pppppppcVar33 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar33 + 3)" identifier = (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" identifier = identifier) ;) (if_statement "if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" if (parenthesized_expression "(iVar32 == 0)" ( (binary_expression "iVar32 == 0" identifier == number_literal) )) (compound_statement "{\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" { (expression_statement "ppppppcVar20 = (code ******)0x0;" (assignment_expression "ppppppcVar20 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (cVar10 == '\0') break;" if (parenthesized_expression "(cVar10 == '\0')" ( (binary_expression "cVar10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_84 = (code *******)0x0;" (assignment_expression "local_84 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "ppppppcVar20 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar20 = pppppppcVar33[0xd]" identifier = (subscript_expression "pppppppcVar33[0xd]" identifier [ number_literal ])) ;) (expression_statement "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);" (assignment_expression "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(pppppppcVar33[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppppcVar33[0x12])" identifier (argument_list "(pppppppcVar33[0x12])" ( (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }" { (expression_statement "param_3 = (code *******)&local_80;" (assignment_expression "param_3 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "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_80" & identifier))) ;) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "param_2 = (code *******)&local_84;" (assignment_expression "param_2 = (code *******)&local_84" identifier = (cast_expression "(code *******)&local_84" ( (type_descriptor "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_84" & identifier))) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar20);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar20)" identifier = (cast_expression "(code ******)FUN_000c8684(ppppppcVar20)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c8684(ppppppcVar20)" identifier (argument_list "(ppppppcVar20)" ( identifier ))))) ;) (if_statement "if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" if (parenthesized_expression "(local_88 != (code ******)0x0)" ( (binary_expression "local_88 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" { (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;" if (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar20 + 0x11)" ( (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000cd368;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd060;" goto statement_identifier ;) })) (expression_statement "param_3 = &local_88;" (assignment_expression "param_3 = &local_88" identifier = (pointer_expression "&local_88" & identifier)) ;) (expression_statement "param_2 = local_84;" (assignment_expression "param_2 = local_84" identifier = identifier) ;) (expression_statement "FUN_000c969c(pppppppcVar33);" (call_expression "FUN_000c969c(pppppppcVar33)" identifier (argument_list "(pppppppcVar33)" ( identifier ))) ;) (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" if (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar20 + 0x11)" ( (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" { (labeled_statement "LAB_000cd368:\n          local_c0 = (code ******)&local_88;" statement_identifier : (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;)) (expression_statement "param_3 = (code *******)&DAT_00000005;" (assignment_expression "param_3 = (code *******)&DAT_00000005" identifier = (cast_expression "(code *******)&DAT_00000005" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "param_2 = local_80;" (assignment_expression "param_2 = local_80" identifier = identifier) ;) (expression_statement "FUN_000c9144(ppppppcVar20);" (call_expression "FUN_000c9144(ppppppcVar20)" identifier (argument_list "(ppppppcVar20)" ( identifier ))) ;) })) (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" identifier = identifier) ;) (if_statement "if (local_88 != (code ******)0x0) goto LAB_000cd060;" if (parenthesized_expression "(local_88 != (code ******)0x0)" ( (binary_expression "local_88 != (code ******)0x0" identifier != (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_000cd060;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" ( (cast_expression "(char *)((int)local_84 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_84 + 0x1a)" ( (binary_expression "(int)local_84 + 0x1a" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (cast_expression "(char *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 1" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" ( (pointer_expression "*(code *)PTR_memcpy_00190e2c" * (cast_expression "(code *)PTR_memcpy_00190e2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" ( (binary_expression "unaff_s0 + 9" identifier + number_literal) , (binary_expression "pppppppcVar33 + 9" identifier + number_literal) , (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 2" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "puVar3 = PTR_LAB_00190bdc;" (assignment_expression "puVar3 = PTR_LAB_00190bdc" identifier = identifier) ;) (expression_statement "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);" (assignment_expression "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3)" (pointer_expression "*(char *)(unaff_s0 + 3)" * (cast_expression "(char *)(unaff_s0 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 3)" ( (binary_expression "unaff_s0 + 3" identifier + number_literal) )))) = (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);" (call_expression "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" (parenthesized_expression "(*(code *)(puVar3 + -0x3030))" ( (pointer_expression "*(code *)(puVar3 + -0x3030)" * (cast_expression "(code *)(puVar3 + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + -0x3030)" ( (binary_expression "puVar3 + -0x3030" identifier + number_literal) )))) )) (argument_list "(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" ( identifier , (binary_expression "*(byte *)unaff_s0[0xe] & 0xf7" (pointer_expression "*(byte *)unaff_s0[0xe]" * (cast_expression "(byte *)unaff_s0[0xe]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "unaff_s0[0xe]" identifier [ number_literal ]))) & number_literal) ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" identifier = (cast_expression "(undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" ( (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8" (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9)" (cast_expression "(int)pppppppcVar33[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0xe]" identifier [ number_literal ])) + (pointer_expression "*(byte *)((int)pppppppcVar33 + 9)" * (cast_expression "(byte *)((int)pppppppcVar33 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 9)" ( (binary_expression "(int)pppppppcVar33 + 9" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) )))) ;) (expression_statement "param_4 = (code ******)((uint)local_80 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_80 >> 0x18)" identifier = (cast_expression "(code ******)((uint)local_80 >> 0x18)" ( (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)local_80 >> 0x18)" ( (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_3 = (code *******)((uint)local_80 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_80 >> 0x10)" identifier = (cast_expression "(code *******)((uint)local_80 >> 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)local_80 >> 0x10)" ( (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2 = (code *******)((uint)local_80 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_80 >> 8)" identifier = (cast_expression "(code *******)((uint)local_80 >> 8)" ( (type_descriptor "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)local_80 >> 8)" ( (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar5 = (char)((uint)local_80 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_80 >> 0x18)" (pointer_expression "*puVar5" * identifier) = (cast_expression "(char)((uint)local_80 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 0x18)" ( (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[1] = (char)((uint)local_80 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_80 >> 0x10)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_80 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 0x10)" ( (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[2] = (char)((uint)local_80 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_80 >> 8)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_80 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_80 >> 8)" ( (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[3] = (char)local_80;" (assignment_expression "puVar5[3] = (char)local_80" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(code ********)(param_1 + 0x7c) = local_84;" (assignment_expression "*(code ********)(param_1 + 0x7c) = local_84" (pointer_expression "*(code ********)(param_1 + 0x7c)" * (cast_expression "(code ********)(param_1 + 0x7c)" ( (type_descriptor "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 "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppppcVar11 = local_84;" (assignment_expression "pppppppcVar11 = local_84" identifier = identifier) ;) }) (else_clause "else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" else (compound_statement "{\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" { (labeled_statement "LAB_000cd060:\n        unaff_s0 = local_84;" statement_identifier : (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined4 *)(param_1 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x7c)" * (cast_expression "(undefined4 *)(param_1 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;" if (parenthesized_expression "((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))" ( (binary_expression "(local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" (parenthesized_expression "(local_84 == (code *******)0x0)" ( (binary_expression "local_84 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" ( (comma_expression "(*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0" (call_expression "(*pcVar25)(local_84[0x12])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(local_84[0x12])" ( (subscript_expression "local_84[0x12]" identifier [ number_literal ]) ))) , (comma_expression "ppppppcVar20 = local_88, local_88 != (code ******)0x0" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) , (binary_expression "local_88 != (code ******)0x0" identifier != (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)))) ))) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar11 = *(code ********)(param_1 + 0x7c);" (assignment_expression "pppppppcVar11 = *(code ********)(param_1 + 0x7c)" identifier = (pointer_expression "*(code ********)(param_1 + 0x7c)" * (cast_expression "(code ********)(param_1 + 0x7c)" ( (type_descriptor "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 "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) ;) }))) (expression_statement "*(code ********)(param_1 + 0x78) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x78) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x78)" * (cast_expression "(code ********)(param_1 + 0x78)" ( (type_descriptor "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 "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x46) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x46) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x46)" * (cast_expression "(undefined2 *)(param_1 + 0x46)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x46)" ( (binary_expression "param_1 + 0x46" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x44)" * (cast_expression "(undefined1 *)(param_1 + 0x44)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x48) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x48) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x48)" * (cast_expression "(undefined2 *)(param_1 + 0x48)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar11;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar11" (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) (expression_statement "cVar10 = *(char *)(pppppppcVar11 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar11 + 3)" identifier = (pointer_expression "*(char *)(pppppppcVar11 + 3)" * (cast_expression "(char *)(pppppppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar11 + 3)" ( (binary_expression "pppppppcVar11 + 3" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" identifier = identifier) ;) (expression_statement "pppppppcVar33 = pppppppcVar11;" (assignment_expression "pppppppcVar33 = pppppppcVar11" identifier = identifier) ;) })) (if_statement "if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;" if (parenthesized_expression "((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28))" ( (binary_expression "(cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" (parenthesized_expression "(cVar10 == '\0')" ( (binary_expression "cVar10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" ( (comma_expression "param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "param_2 = pppppppcVar7" identifier = identifier) , (comma_expression "ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "ppppppcVar20 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) , (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5)" (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 "(ushort *)(pppppppcVar33 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 5)" ( (binary_expression "pppppppcVar33 + 5" identifier + number_literal) )))) <= identifier))) ))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);" (assignment_expression "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4)" identifier = (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1d) * 4)" * (cast_expression "(code ********)(param_1 + (iVar32 + 0x1d) * 4)" ( (type_descriptor "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 "(param_1 + (iVar32 + 0x1d) * 4)" ( (binary_expression "param_1 + (iVar32 + 0x1d) * 4" identifier + (binary_expression "(iVar32 + 0x1d) * 4" (parenthesized_expression "(iVar32 + 0x1d)" ( (binary_expression "iVar32 + 0x1d" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);" (assignment_expression "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" identifier = (binary_expression "(code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" (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 *)(param_1 + (iVar32 + 0x23) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (iVar32 + 0x23) * 2)" ( (binary_expression "param_1 + (iVar32 + 0x23) * 2" identifier + (binary_expression "(iVar32 + 0x23) * 2" (parenthesized_expression "(iVar32 + 0x23)" ( (binary_expression "iVar32 + 0x23" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(unaff_s0[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(unaff_s0[0x12])" identifier (argument_list "(unaff_s0[0x12])" ( (subscript_expression "unaff_s0[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" if (parenthesized_expression "(ppppppcVar20 != (code ******)0x0)" ( (binary_expression "ppppppcVar20 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" { (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "(*pcVar4)(pppppppcVar33[0x12]);" (call_expression "(*pcVar4)(pppppppcVar33[0x12])" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(pppppppcVar33[0x12])" ( (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" identifier = (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);" (assignment_expression "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" (pointer_expression "*(undefined4 *)(param_1 + 0x74)" * (cast_expression "(undefined4 *)(param_1 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" * (cast_expression "(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + (cVar10 + 0x1e) * 4)" ( (binary_expression "param_1 + (cVar10 + 0x1e) * 4" identifier + (binary_expression "(cVar10 + 0x1e) * 4" (parenthesized_expression "(cVar10 + 0x1e)" ( (binary_expression "cVar10 + 0x1e" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "param_2 = pppppppcVar7;" (assignment_expression "param_2 = pppppppcVar7" identifier = identifier) ;) (break_statement "break;" break ;) })) (if_statement "if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" if (parenthesized_expression "((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))))" ( (binary_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" (parenthesized_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)))" ( (binary_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" (parenthesized_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1))" ( (binary_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" (parenthesized_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0')" ( (binary_expression "*(char *)((int)pppppppcVar33 + 3) == '\0'" (pointer_expression "*(char *)((int)pppppppcVar33 + 3)" * (cast_expression "(char *)((int)pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 3)" ( (binary_expression "(int)pppppppcVar33 + 3" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" ( (comma_expression "bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1" (assignment_expression "bVar1 = *(byte *)(pppppppcVar33 + 3)" identifier = (pointer_expression "*(byte *)(pppppppcVar33 + 3)" * (cast_expression "(byte *)(pppppppcVar33 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) ))))) , (binary_expression "bVar1 != 1" identifier != number_literal)) ))) )) || (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" ( (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(short *)((int)pppppppcVar33 + 0x16)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x16)" ( (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) || (parenthesized_expression "((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" ( (parenthesized_expression "(unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))" ( (binary_expression "unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" (binary_expression "unaff_s0[1] == (code ******)0x1" (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) == (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) || (parenthesized_expression "((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" ( (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2" (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16)" (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 *)((int)unaff_s0 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 0x16)" ( (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != identifier) ))) )) ))) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));" (assignment_expression "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" identifier = (cast_expression "(code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" ( (type_descriptor "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 "(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" ( (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x14) + 0x20" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + number_literal) )))) ))))) ;) (expression_statement "param_4 = (code ******)(uint)(iVar32 == 1);" (assignment_expression "param_4 = (code ******)(uint)(iVar32 == 1)" identifier = (cast_expression "(code ******)(uint)(iVar32 == 1)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(uint)(iVar32 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 == 1)" ( (binary_expression "iVar32 == 1" identifier == number_literal) ))))) ;) (expression_statement "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);" (assignment_expression "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1)" identifier = (cast_expression "(code ******)(*(byte *)(param_1 + 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 "*" *))))))) ) (parenthesized_expression "(*(byte *)(param_1 + 3) & 1)" ( (binary_expression "*(byte *)(param_1 + 3) & 1" (pointer_expression "*(byte *)(param_1 + 3)" * (cast_expression "(byte *)(param_1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "param_3 = pppppppcVar7;" (assignment_expression "param_3 = pppppppcVar7" identifier = identifier) ;) (expression_statement "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0)" identifier = (cast_expression "(code ******)FUN_000cb308(unaff_s0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cb308(unaff_s0)" identifier (argument_list "(unaff_s0)" ( identifier ))))) ;) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" if (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar29 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" { (expression_statement "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(puVar13 + 0x4e2c))" ( (pointer_expression "*(code *)(puVar13 + 0x4e2c)" * (cast_expression "(code *)(puVar13 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x4e2c)" ( (binary_expression "puVar13 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(pppppppcVar29)" ( identifier ))) ;) })) (labeled_statement "LAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];" statement_identifier : (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;)) (expression_statement "pppppppcVar29 = pppppppcVar7;" (assignment_expression "pppppppcVar29 = pppppppcVar7" identifier = identifier) ;) }) (else_clause "else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" else (compound_statement "{\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" { (if_statement "if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" if (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != 0)" ( (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != 0" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" * (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" ( (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" { (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar16 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0xd]" identifier = (subscript_expression "pppppppcVar33[0xd]" identifier [ number_literal ])) ;) (expression_statement "param_3 = (code *******)&local_84;" (assignment_expression "param_3 = (code *******)&local_84" identifier = (cast_expression "(code *******)&local_84" ( (type_descriptor "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_84" & identifier))) ;) (expression_statement "param_2 = &local_8c;" (assignment_expression "param_2 = &local_8c" identifier = (pointer_expression "&local_8c" & identifier)) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar16);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar16)" identifier = (cast_expression "(code ******)FUN_000c8684(ppppppcVar16)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c8684(ppppppcVar16)" identifier (argument_list "(ppppppcVar16)" ( identifier ))))) ;) (expression_statement "pppppppcVar7 = pppppppcVar29;" (assignment_expression "pppppppcVar7 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" { (expression_statement "local_80 = (code *******)pppppppcVar33[9];" (assignment_expression "local_80 = (code *******)pppppppcVar33[9]" identifier = (cast_expression "(code *******)pppppppcVar33[9]" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppcVar33[9]" identifier [ number_literal ]))) ;) (expression_statement "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);" (assignment_expression "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33)" identifier = (call_expression "(*(code *)pppppppcVar33[0x13])(pppppppcVar33)" (parenthesized_expression "(*(code *)pppppppcVar33[0x13])" ( (pointer_expression "*(code *)pppppppcVar33[0x13]" * (cast_expression "(code *)pppppppcVar33[0x13]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppcVar33[0x13]" identifier [ number_literal ]))) )) (argument_list "(pppppppcVar33)" ( identifier )))) ;) (expression_statement "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);" (call_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0x3030)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0x3030)" ( (binary_expression "PTR_LAB_00190bdc + -0x3030" identifier + number_literal) )))) )) (argument_list "(local_8c,0xd)" ( identifier , number_literal ))) ;) (expression_statement "param_3 = (code *******)0x1;" (assignment_expression "param_3 = (code *******)0x1" identifier = (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "param_2 = (code *******)0x0;" (assignment_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)) ;) (expression_statement "local_6c = pppppppcVar33[0xf];" (assignment_expression "local_6c = pppppppcVar33[0xf]" identifier = (subscript_expression "pppppppcVar33[0xf]" identifier [ number_literal ])) ;) (expression_statement "local_74 = (code *******)&local_80;" (assignment_expression "local_74 = (code *******)&local_80" identifier = (cast_expression "(code *******)&local_80" ( (type_descriptor "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_80" & identifier))) ;) (expression_statement "local_70 = &local_8e;" (assignment_expression "local_70 = &local_8e" identifier = (pointer_expression "&local_8e" & identifier)) ;) (expression_statement "local_54 = 2;" (assignment_expression "local_54 = 2" identifier = number_literal) ;) (expression_statement "param_4 = local_8c;" (assignment_expression "param_4 = local_8c" identifier = identifier) ;) (expression_statement "local_7c = (uint)bVar1;" (assignment_expression "local_7c = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_78 = pppppppcVar33;" (assignment_expression "local_78 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);" (assignment_expression "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" identifier = (cast_expression "(code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))" ( (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0xf50)" * (cast_expression "(code *)(PTR_LAB_00190bdc + -0xf50)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bdc + -0xf50)" ( (binary_expression "PTR_LAB_00190bdc + -0xf50" identifier + number_literal) )))) )) (argument_list "(&local_7c)" ( (pointer_expression "&local_7c" & identifier) ))))) ;) (expression_statement "local_88 = ppppppcVar20;" (assignment_expression "local_88 = ppppppcVar20" identifier = identifier) ;) (if_statement "if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" ( (binary_expression "ppppppcVar20 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }" { (expression_statement "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];" (assignment_expression "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (pointer_expression "*(ushort *)(local_8c + 5)" * (cast_expression "(ushort *)(local_8c + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c + 5)" ( (binary_expression "local_8c + 5" identifier + number_literal) )))) = (binary_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (parenthesized_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12))" ( (binary_expression "(-2 - local_8e) - *(short *)((int)local_8c + 0x12)" (parenthesized_expression "(-2 - local_8e)" ( (binary_expression "-2 - local_8e" number_literal - identifier) )) - (pointer_expression "*(short *)((int)local_8c + 0x12)" * (cast_expression "(short *)((int)local_8c + 0x12)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_8c + 0x12)" ( (binary_expression "(int)local_8c + 0x12" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) + (cast_expression "(short)ppppppcVar16[9]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "ppppppcVar16[9]" identifier [ number_literal ])))) ;) (if_statement "if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" if (parenthesized_expression "(*(char *)((int)ppppppcVar16 + 0x11) != '\0')" ( (binary_expression "*(char *)((int)ppppppcVar16 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar16 + 0x11)" * (cast_expression "(char *)((int)ppppppcVar16 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar16 + 0x11)" ( (binary_expression "(int)ppppppcVar16 + 0x11" (cast_expression "(int)ppppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" { (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;) (expression_statement "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);" (call_expression "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1])" identifier (argument_list "(ppppppcVar16,local_84,5,unaff_s0[1])" ( identifier , identifier , number_literal , (subscript_expression "unaff_s0[1]" identifier [ number_literal ]) ))) ;) (if_statement "if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" if (parenthesized_expression "(*(ushort *)(local_8c + 4) < local_8e)" ( (binary_expression "*(ushort *)(local_8c + 4) < local_8e" (pointer_expression "*(ushort *)(local_8c + 4)" * (cast_expression "(ushort *)(local_8c + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_8c + 4)" ( (binary_expression "local_8c + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" { (expression_statement "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);" (call_expression "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88)" identifier (argument_list "(local_8c,local_8c + 0xf,local_80,&local_88)" ( identifier , (binary_expression "local_8c + 0xf" identifier + number_literal) , identifier , (pointer_expression "&local_88" & identifier) ))) ;) })) })) (expression_statement "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));" (assignment_expression "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" identifier = (cast_expression "(code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" ( (type_descriptor "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)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" ( (binary_expression "(int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (cast_expression "(int)pppppppcVar33[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0xe]" identifier [ number_literal ])) + (call_expression "(uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" ( (binary_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)" (pointer_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" * (cast_expression "(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" ( (binary_expression "(int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (cast_expression "(int)pppppppcVar33[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcVar33[0x10]" identifier [ number_literal ])) + (binary_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (parenthesized_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1)" ( (binary_expression "*(ushort *)((int)pppppppcVar33 + 0x16) - 1" (pointer_expression "*(ushort *)((int)pppppppcVar33 + 0x16)" * (cast_expression "(ushort *)((int)pppppppcVar33 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 0x16)" ( (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal) )) * number_literal)) )))) & (pointer_expression "*(ushort *)(pppppppcVar33 + 6)" * (cast_expression "(ushort *)(pppppppcVar33 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 6)" ( (binary_expression "pppppppcVar33 + 6" identifier + number_literal) ))))) )))) )))) ;) (expression_statement "pppppppcVar29 = pppppppcVar11;" (assignment_expression "pppppppcVar29 = pppppppcVar11" identifier = identifier) ;) (do_statement "do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);" do (compound_statement "{\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            }" { (expression_statement "pppppppcVar12 = pppppppcVar29;" (assignment_expression "pppppppcVar12 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar12 + 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)pppppppcVar12 + 1)" ( (binary_expression "(int)pppppppcVar12 + 1" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (-1 < *(char *)pppppppcVar12) break;" if (parenthesized_expression "(-1 < *(char *)pppppppcVar12)" ( (binary_expression "-1 < *(char *)pppppppcVar12" number_literal < (pointer_expression "*(char *)pppppppcVar12" * (cast_expression "(char *)pppppppcVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29)" ( (binary_expression "(code *******)((int)pppppppcVar11 + 9) != pppppppcVar29" (cast_expression "(code *******)((int)pppppppcVar11 + 9)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar11 + 9)" ( (binary_expression "(int)pppppppcVar11 + 9" (cast_expression "(int)pppppppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) != identifier) )) ;) (expression_statement "pcVar18 = local_38;" (assignment_expression "pcVar18 = local_38" identifier = identifier) ;) (do_statement "do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));" do (compound_statement "{\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            }" { (expression_statement "local_80 = (code *******)((int)pppppppcVar29 + 1);" (assignment_expression "local_80 = (code *******)((int)pppppppcVar29 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 1)" ( (binary_expression "(int)pppppppcVar29 + 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar19 = pcVar18 + 1;" (assignment_expression "pcVar19 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "cVar10 = *(char *)pppppppcVar29;" (assignment_expression "cVar10 = *(char *)pppppppcVar29" identifier = (pointer_expression "*(char *)pppppppcVar29" * (cast_expression "(char *)pppppppcVar29" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*pcVar18 = cVar10;" (assignment_expression "*pcVar18 = cVar10" (pointer_expression "*pcVar18" * identifier) = identifier) ;) (if_statement "if (-1 < cVar10) break;" if (parenthesized_expression "(-1 < cVar10)" ( (binary_expression "-1 < cVar10" number_literal < identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppppcVar29 = local_80;" (assignment_expression "pppppppcVar29 = local_80" identifier = identifier) ;) (expression_statement "pcVar18 = pcVar19;" (assignment_expression "pcVar18 = pcVar19" identifier = identifier) ;) }) while (parenthesized_expression "(local_80 < (code *******)((int)pppppppcVar12 + 10))" ( (binary_expression "local_80 < (code *******)((int)pppppppcVar12 + 10)" identifier < (cast_expression "(code *******)((int)pppppppcVar12 + 10)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppcVar12 + 10)" ( (binary_expression "(int)pppppppcVar12 + 10" (cast_expression "(int)pppppppcVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) ;) (if_statement "if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" if (parenthesized_expression "(local_88 == (code ******)0x0)" ( (binary_expression "local_88 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" { (expression_statement "local_bc = pppppppcVar33[1];" (assignment_expression "local_bc = pppppppcVar33[1]" identifier = (subscript_expression "pppppppcVar33[1]" identifier [ number_literal ])) ;) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "local_b8 = (code ******)&local_88;" (assignment_expression "local_b8 = (code ******)&local_88" identifier = (cast_expression "(code ******)&local_88" ( (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 "&local_88" & identifier))) ;) (expression_statement "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);" (call_expression "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" identifier (argument_list "(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" ( identifier , (pointer_expression "*(undefined2 *)((int)unaff_s0 + 0x16)" * (cast_expression "(undefined2 *)((int)unaff_s0 + 0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 0x16)" ( (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , (binary_expression "(int)pcVar19 - (int)auStack_3c" (cast_expression "(int)pcVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)auStack_3c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" identifier = (pointer_expression "*(byte *)((int)unaff_s0 + 9)" * (cast_expression "(byte *)((int)unaff_s0 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 9)" ( (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" else (compound_statement "{\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" { (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" identifier = (pointer_expression "*(byte *)((int)unaff_s0 + 9)" * (cast_expression "(byte *)((int)unaff_s0 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0 + 9)" ( (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" identifier = (cast_expression "(undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s0[0xe] + bVar1 + 8)" ( (binary_expression "(int)unaff_s0[0xe] + bVar1 + 8" (binary_expression "(int)unaff_s0[0xe] + bVar1" (cast_expression "(int)unaff_s0[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "unaff_s0[0xe]" identifier [ number_literal ])) + identifier) + number_literal) )))) ;) (expression_statement "param_4 = (code ******)((uint)local_84 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_84 >> 0x18)" identifier = (cast_expression "(code ******)((uint)local_84 >> 0x18)" ( (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)local_84 >> 0x18)" ( (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_3 = (code *******)((uint)local_84 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_84 >> 0x10)" identifier = (cast_expression "(code *******)((uint)local_84 >> 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)local_84 >> 0x10)" ( (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2 = (code *******)((uint)local_84 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_84 >> 8)" identifier = (cast_expression "(code *******)((uint)local_84 >> 8)" ( (type_descriptor "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)local_84 >> 8)" ( (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar5 = (char)((uint)local_84 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_84 >> 0x18)" (pointer_expression "*puVar5" * identifier) = (cast_expression "(char)((uint)local_84 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 0x18)" ( (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[1] = (char)((uint)local_84 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_84 >> 0x10)" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_84 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 0x10)" ( (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[2] = (char)((uint)local_84 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_84 >> 8)" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)local_84 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)local_84 >> 8)" ( (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar5[3] = (char)local_84;" (assignment_expression "puVar5[3] = (char)local_84" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = (cast_expression "(char)local_84" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) (if_statement "if (local_8c == (code ******)0x0) goto LAB_000cd308;" if (parenthesized_expression "(local_8c == (code ******)0x0)" ( (binary_expression "local_8c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;)) }) (else_clause "else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" else (if_statement "if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" if (parenthesized_expression "(local_8c == (code ******)0x0)" ( (binary_expression "local_8c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" { (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000cd310;" goto statement_identifier ;) })))) (expression_statement "(*pcVar25)(local_8c[0x12]);" (call_expression "(*pcVar25)(local_8c[0x12])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(local_8c[0x12])" ( (subscript_expression "local_8c[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" identifier = identifier) ;) })) (goto_statement "goto LAB_000cd308;" goto statement_identifier ;) })) (expression_statement "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);" (assignment_expression "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" ( (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)&__DT_SYMTAB[0x5e].st_name + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0x5e].st_name + 3" (cast_expression "(int)&__DT_SYMTAB[0x5e].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x5e].st_name" & (field_expression "__DT_SYMTAB[0x5e].st_name" (subscript_expression "__DT_SYMTAB[0x5e]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);" (assignment_expression "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c)" identifier = (cast_expression "(code ******)(PTR_LAB_00190958 + 0x625c)" ( (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 "(PTR_LAB_00190958 + 0x625c)" ( (binary_expression "PTR_LAB_00190958 + 0x625c" identifier + number_literal) )))) ;) (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" identifier + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar20 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" ( (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" * (cast_expression "(code *)PTR_sqlite3_log_00190be0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" identifier = (subscript_expression "pppppppcVar33[0x12]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';" statement_identifier : (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" * (cast_expression "(char *)(pppppppcVar33 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppppcVar33 + 3)" ( (binary_expression "pppppppcVar33 + 3" identifier + number_literal) )))) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "(*pcVar25)(ppppppcVar16);" (call_expression "(*pcVar25)(ppppppcVar16)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar16)" ( identifier ))) ;) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" identifier = (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar32 = (int)cVar10;" (assignment_expression "iVar32 = (int)cVar10" identifier = (cast_expression "(int)cVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" * (cast_expression "(char *)(param_1 + 0x44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4)" identifier = (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1e) * 4)" * (cast_expression "(code ********)(param_1 + (iVar32 + 0x1e) * 4)" ( (type_descriptor "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 "(param_1 + (iVar32 + 0x1e) * 4)" ( (binary_expression "param_1 + (iVar32 + 0x1e) * 4" identifier + (binary_expression "(iVar32 + 0x1e) * 4" (parenthesized_expression "(iVar32 + 0x1e)" ( (binary_expression "iVar32 + 0x1e" identifier + number_literal) )) * number_literal)) ))))) ;) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x74)" * (cast_expression "(code ********)(param_1 + 0x74)" ( (type_descriptor "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 "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) = identifier) ;) }) while (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" ( (binary_expression "ppppppcVar20 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" if (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar29 != (code *******)0x0" identifier != (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" { (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x4e2c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x4e2c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x4e2c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x4e2c" identifier + number_literal) )))) )) (argument_list "(pppppppcVar29)" ( identifier ))) ;) })) (if_statement "if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }" if (parenthesized_expression "(local_2c == *(undefined **)puVar36)" ( (binary_expression "local_2c == *(undefined **)puVar36" identifier == (pointer_expression "*(undefined **)puVar36" * (cast_expression "(undefined **)puVar36" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return ppppppcVar20;\n  }" { (return_statement "return ppppppcVar20;" return identifier ;) })) (expression_statement "pcVar4 = FUN_000cd690;" (assignment_expression "pcVar4 = FUN_000cd690" identifier = identifier) ;) (expression_statement "puVar13 = local_2c;" (assignment_expression "puVar13 = local_2c" identifier = identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar36 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_130 = puVar36 + 0xcb290;" (assignment_expression "puStack_130 = puVar36 + 0xcb290" identifier = (binary_expression "puVar36 + 0xcb290" identifier + number_literal)) ;) (expression_statement "piVar26 = *(int **)(puVar36 + 0xc3794);" (assignment_expression "piVar26 = *(int **)(puVar36 + 0xc3794)" identifier = (pointer_expression "*(int **)(puVar36 + 0xc3794)" * (cast_expression "(int **)(puVar36 + 0xc3794)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xc3794)" ( (binary_expression "puVar36 + 0xc3794" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_fc = (code ****)*piVar26;" (assignment_expression "ppppcStack_fc = (code ****)*piVar26" identifier = (cast_expression "(code ****)*piVar26" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar26" * identifier))) ;) (expression_statement "pppppppcStack_f8 = unaff_s0;" (assignment_expression "pppppppcStack_f8 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_f4 = puVar22;" (assignment_expression "puStack_f4 = puVar22" identifier = identifier) ;) (expression_statement "pcStack_f0 = pcVar25;" (assignment_expression "pcStack_f0 = pcVar25" identifier = identifier) ;) (expression_statement "ppppppcStack_ec = ppppppcVar28;" (assignment_expression "ppppppcStack_ec = ppppppcVar28" identifier = identifier) ;) (expression_statement "pppppppcStack_e8 = pppppppcVar29;" (assignment_expression "pppppppcStack_e8 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_e4 = ppppppcVar20;" (assignment_expression "ppppppcStack_e4 = ppppppcVar20" identifier = identifier) ;) (expression_statement "iStack_e0 = iVar32;" (assignment_expression "iStack_e0 = iVar32" identifier = identifier) ;) (expression_statement "pppppppcStack_dc = pppppppcVar33;" (assignment_expression "pppppppcStack_dc = pppppppcVar33" identifier = identifier) ;) (expression_statement "iStack_d8 = param_1;" (assignment_expression "iStack_d8 = param_1" identifier = identifier) ;) (expression_statement "pcStack_d4 = pcVar4;" (assignment_expression "pcStack_d4 = pcVar4" identifier = identifier) ;) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" identifier = identifier) ;) (if_statement "if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" if (parenthesized_expression "(*(code ********)(puVar13 + 0x2c) < param_2)" ( (binary_expression "*(code ********)(puVar13 + 0x2c) < param_2" (pointer_expression "*(code ********)(puVar13 + 0x2c)" * (cast_expression "(code ********)(puVar13 + 0x2c)" ( (type_descriptor "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 "(puVar13 + 0x2c)" ( (binary_expression "puVar13 + 0x2c" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }" { (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_name + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_name + 2" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_name" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_name" & (field_expression "__DT_SYMTAB[0xd5].st_name" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c" identifier = (binary_expression "*(int *)(puVar36 + 0xc32c8) + 0x625c" (pointer_expression "*(int *)(puVar36 + 0xc32c8)" * (cast_expression "(int *)(puVar36 + 0xc32c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32c8)" ( (binary_expression "puVar36 + 0xc32c8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" identifier = (cast_expression "(code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" ( (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 *)(puVar36 + 0xc32cc) + -0x5e64)" ( (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x5e64" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" * (cast_expression "(int *)(puVar36 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32cc)" ( (binary_expression "puVar36 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" identifier = (cast_expression "(code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" ( (type_descriptor "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 *)(puVar36 + 0xc32cc) + -0x6378)" ( (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x6378" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" * (cast_expression "(int *)(puVar36 + 0xc32cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc32cc)" ( (binary_expression "puVar36 + 0xc32cc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar36 + 0xc3550))(0xb);" (call_expression "(**(code **)(puVar36 + 0xc3550))(0xb)" (parenthesized_expression "(**(code **)(puVar36 + 0xc3550))" ( (pointer_expression "**(code **)(puVar36 + 0xc3550)" * (pointer_expression "*(code **)(puVar36 + 0xc3550)" * (cast_expression "(code **)(puVar36 + 0xc3550)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xc3550)" ( (binary_expression "puVar36 + 0xc3550" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "puVar13 = puVar22;" (assignment_expression "puVar13 = puVar22" identifier = identifier) ;) (expression_statement "param_4 = ppppppcVar28;" (assignment_expression "param_4 = ppppppcVar28" identifier = identifier) ;) (expression_statement "ppppppcVar28 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) }) (else_clause "else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" else (compound_statement "{\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" { (expression_statement "ppppppcVar16 = &pppppcStack_120;" (assignment_expression "ppppppcVar16 = &pppppcStack_120" identifier = (pointer_expression "&pppppcStack_120" & identifier)) ;) (expression_statement "iStack_138 = 0;" (assignment_expression "iStack_138 = 0" identifier = number_literal) ;) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();" (assignment_expression "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" identifier = (cast_expression "(code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))" ( (pointer_expression "*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" * (cast_expression "(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar36 + 0xc354c) + -0x267c)" ( (binary_expression "*(int *)(puVar36 + 0xc354c) + -0x267c" (pointer_expression "*(int *)(puVar36 + 0xc354c)" * (cast_expression "(int *)(puVar36 + 0xc354c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar36 + 0xc354c)" ( (binary_expression "puVar36 + 0xc354c" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" { (if_statement "if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" if (parenthesized_expression "(*(char *)((int)pppppcStack_120 + 1) == '\0')" ( (binary_expression "*(char *)((int)pppppcStack_120 + 1) == '\0'" (pointer_expression "*(char *)((int)pppppcStack_120 + 1)" * (cast_expression "(char *)((int)pppppcStack_120 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }" { (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 1;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 1" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" * (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);" (assignment_expression "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9)" identifier = (binary_expression "(uint)*(byte *)((int)pppppcStack_120 + 9)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)pppppcStack_120 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 9)" ( (binary_expression "(int)pppppcStack_120 + 9" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" if (parenthesized_expression "(*(short *)((int)pppppcStack_120 + 0x16) == 0)" ( (binary_expression "*(short *)((int)pppppcStack_120 + 0x16) == 0" (pointer_expression "*(short *)((int)pppppcStack_120 + 0x16)" * (cast_expression "(short *)((int)pppppcStack_120 + 0x16)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 0x16)" ( (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar41 = 0;\n        }" { (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" else (compound_statement "{\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" { (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" identifier = (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "ppppppcVar20 = apppppcStack_118;" (assignment_expression "ppppppcVar20 = apppppcStack_118" identifier = identifier) ;) (expression_statement "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;" (assignment_expression "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970" identifier = (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x2970" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);" (assignment_expression "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" identifier = (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" ( (type_descriptor "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_130 + -0x7d64) + -0x5428)" ( (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x5428" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" * (cast_expression "(int *)(puStack_130 + -0x7d64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d64)" ( (binary_expression "puStack_130 + -0x7d64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);" do (compound_statement "{\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          }" { (expression_statement "ppppppcStack_11c = (code ******)0x0;" (assignment_expression "ppppppcStack_11c = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));" (assignment_expression "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" identifier = (cast_expression "(code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" ( (type_descriptor "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)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" ( (binary_expression "(int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + (call_expression "(uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" ( (binary_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)" (pointer_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" * (cast_expression "(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" ( (binary_expression "(int)pppppppcVar29 + (int)pppppcStack_120[0x10]" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppcStack_120[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0x10]" identifier [ number_literal ]))) )))) & (pointer_expression "*(ushort *)(pppppcStack_120 + 6)" * (cast_expression "(ushort *)(pppppcStack_120 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 6)" ( (binary_expression "pppppcStack_120 + 6" identifier + number_literal) ))))) )))) )))) ;) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" if (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" ( (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" * (cast_expression "(char *)(pppppcStack_120 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 2)" ( (binary_expression "pppppcStack_120 + 2" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" { (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "uVar41 = (int)pppppppcVar33 + 3U & 3;" (assignment_expression "uVar41 = (int)pppppppcVar33 + 3U & 3" identifier = (binary_expression "(int)pppppppcVar33 + 3U & 3" (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal)) ;) (expression_statement "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);" (assignment_expression "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" identifier = (cast_expression "(code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" ( (type_descriptor "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 *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" ( (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8" (pointer_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" * (cast_expression "(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" ( (binary_expression "(int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "((uint)pppppppcVar33 & 3)" ( (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )))) << (binary_expression "((uint)pppppppcVar33 & 3) * 8" (parenthesized_expression "((uint)pppppppcVar33 & 3)" ( (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) * number_literal)) & (binary_expression "-1 << (uVar41 + 1) * 8" number_literal << (binary_expression "(uVar41 + 1) * 8" (parenthesized_expression "(uVar41 + 1)" ( (binary_expression "uVar41 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (pointer_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" * (cast_expression "(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((char *)((int)pppppppcVar33 + 3U) + -uVar41)" ( (binary_expression "(char *)((int)pppppppcVar33 + 3U) + -uVar41" (cast_expression "(char *)((int)pppppppcVar33 + 3U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar33 + 3U)" ( (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (unary_expression "-uVar41" - identifier)) )))) >> (binary_expression "(3 - uVar41) * 8" (parenthesized_expression "(3 - uVar41)" ( (binary_expression "3 - uVar41" number_literal - identifier) )) * number_literal))) )))) ;) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" identifier = (cast_expression "(code ******)FUN_000cd690(puVar13)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cd690(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))))) ;) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" if (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" ( (binary_expression "ppppppcStack_11c != (code ******)0x0" identifier != (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_000cd7ec;" goto statement_identifier ;)) })) (expression_statement "param_2 = pppppppcVar33;" (assignment_expression "param_2 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cabd8();" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cabd8()" identifier = (cast_expression "(code ******)FUN_000cabd8()" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cabd8()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" if (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" ( (binary_expression "ppppppcStack_11c != (code ******)0x0" identifier != (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_000cd7ec;" goto statement_identifier ;)) (expression_statement "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);" (assignment_expression "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16)" identifier = (binary_expression "(uint)*(ushort *)((int)pppppcStack_120 + 0x16)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)pppppcStack_120 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 0x16)" ( (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2)" identifier = (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 2)" ( (binary_expression "(int)pppppppcVar29 + 2" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar23 < (int)uVar41)" ( (binary_expression "iVar23 < (int)uVar41" identifier < (cast_expression "(int)uVar41" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }))) (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" if (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" ( (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" * (cast_expression "(char *)(pppppcStack_120 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcStack_120 + 2)" ( (binary_expression "pppppcStack_120 + 2" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }" { (expression_statement "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);" (assignment_expression "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" identifier = (pointer_expression "*(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" * (cast_expression "(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" ( (type_descriptor "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 "((int)pppppcStack_120[0xe] + uStack_124 + 8)" ( (binary_expression "(int)pppppcStack_120[0xe] + uStack_124 + 8" (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + identifier) + number_literal) ))))) ;) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" identifier = identifier) ;) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" identifier = (cast_expression "(code ******)FUN_000cd690(puVar13)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cd690(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))))) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" { (expression_statement "ppppppcVar28 = (code ******)0x0;" (assignment_expression "ppppppcVar28 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;" if (parenthesized_expression "(pppppppcStack_c8 != (code *******)0x0)" ( (binary_expression "pppppppcStack_c8 != (code *******)0x0" identifier != (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_000cd958;" goto statement_identifier ;)) (goto_statement "goto LAB_000cd96c;" goto statement_identifier ;) })) }) (else_clause "else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" else (compound_statement "{\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" { (if_statement "if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\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 "*" *))))))) ) number_literal)) )) (compound_statement "{\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }" { (expression_statement "*param_4 = (code *****)((int)*param_4 + uVar41);" (assignment_expression "*param_4 = (code *****)((int)*param_4 + uVar41)" (pointer_expression "*param_4" * identifier) = (cast_expression "(code *****)((int)*param_4 + uVar41)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)*param_4 + uVar41)" ( (binary_expression "(int)*param_4 + uVar41" (cast_expression "(int)*param_4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*param_4" * identifier)) + identifier) )))) ;) })) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" if (parenthesized_expression "(pppppppcStack_c8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_c8 == (code *******)0x0" identifier == (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_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }" { (labeled_statement "LAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;" statement_identifier : (expression_statement "ppppppcStack_11c = ppppppcVar28;" (assignment_expression "ppppppcStack_11c = ppppppcVar28" identifier = identifier) ;)) (expression_statement "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12])" identifier = (cast_expression "(code ******)FUN_000c3260(pppppcStack_120[0x12])" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppcStack_120[0x12])" identifier (argument_list "(pppppcStack_120[0x12])" ( (subscript_expression "pppppcStack_120[0x12]" identifier [ number_literal ]) ))))) ;) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" { (expression_statement "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124)" identifier = (cast_expression "(code ******)((int)pppppcStack_120[0xe] + uStack_124)" ( (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)pppppcStack_120[0xe] + uStack_124)" ( (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcStack_120[0xe]" identifier [ number_literal ])) + identifier) )))) ;) (expression_statement "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);" (assignment_expression "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8)" identifier = (cast_expression "(code *******)(*(byte *)ppppppcVar20 | 8)" ( (type_descriptor "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 "(*(byte *)ppppppcVar20 | 8)" ( (binary_expression "*(byte *)ppppppcVar20 | 8" (pointer_expression "*(byte *)ppppppcVar20" * (cast_expression "(byte *)ppppppcVar20" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal) )))) ;) (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120)" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7d44) + -0x3030)" ( (binary_expression "*(int *)(puStack_130 + -0x7d44) + -0x3030" (pointer_expression "*(int *)(puStack_130 + -0x7d44)" * (cast_expression "(int *)(puStack_130 + -0x7d44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7d44)" ( (binary_expression "puStack_130 + -0x7d44" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppcStack_120)" ( identifier ))) ;) })) }) (else_clause "else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" else (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" if (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" ( (binary_expression "ppppppcStack_11c == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" { (labeled_statement "LAB_000cd958:\n            param_2 = &ppppppcStack_11c;" statement_identifier : (expression_statement "param_2 = &ppppppcStack_11c;" (assignment_expression "param_2 = &ppppppcStack_11c" identifier = (pointer_expression "&ppppppcStack_11c" & identifier)) ;)) (expression_statement "FUN_000cae98();" (call_expression "FUN_000cae98()" identifier (argument_list "()" ( ))) ;) })))) }))) }) (else_clause "else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" else (compound_statement "{\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" { (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" identifier = (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" ( (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)&__DT_SYMTAB[0xd5].st_value + 3)" ( (binary_expression "(int)&__DT_SYMTAB[0xd5].st_value + 3" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0xd5].st_value" & (field_expression "__DT_SYMTAB[0xd5].st_value" (subscript_expression "__DT_SYMTAB[0xd5]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c" identifier = (binary_expression "*(int *)(puStack_130 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(puStack_130 + -0x7fc8)" * (cast_expression "(int *)(puStack_130 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc8)" ( (binary_expression "puStack_130 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" identifier = (cast_expression "(code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (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 *)(puStack_130 + -0x7fc4) + -0x5e64)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" identifier = (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" ( (type_descriptor "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_130 + -0x7fc4) + -0x6378)" ( (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" * (cast_expression "(int *)(puStack_130 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7fc4)" ( (binary_expression "puStack_130 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_130 + -0x7d40))(0xb);" (call_expression "(**(code **)(puStack_130 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(puStack_130 + -0x7d40))" ( (pointer_expression "**(code **)(puStack_130 + -0x7d40)" * (pointer_expression "*(code **)(puStack_130 + -0x7d40)" * (cast_expression "(code **)(puStack_130 + -0x7d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7d40)" ( (binary_expression "puStack_130 + -0x7d40" identifier + number_literal) ))))) )) (argument_list "(0xb)" ( number_literal ))) ;) (expression_statement "ppppppcStack_11c = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcStack_11c = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) }))) (labeled_statement "LAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;" statement_identifier : (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 0" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" * (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcStack_120 + 1)" ( (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) (if_statement "if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" if (parenthesized_expression "(pppppcStack_120 != (code *****)0x0)" ( (binary_expression "pppppcStack_120 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" { (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12])" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_130 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(puStack_130 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_130 + -0x7de0)" * (cast_expression "(int *)(puStack_130 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_130 + -0x7de0)" ( (binary_expression "puStack_130 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppcStack_120[0x12])" ( (subscript_expression "pppppcStack_120[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" identifier = identifier) ;) })) })) }))) (if_statement "if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }" if (parenthesized_expression "(ppppcStack_fc == (code ****)*piVar26)" ( (binary_expression "ppppcStack_fc == (code ****)*piVar26" identifier == (cast_expression "(code ****)*piVar26" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar26" * identifier))) )) (compound_statement "{\n    return ppppppcVar28;\n  }" { (return_statement "return ppppppcVar28;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_130 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_130 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_130 + -0x7b28)" * (cast_expression "(code **)(puStack_130 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_130 + -0x7b28)" ( (binary_expression "puStack_130 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar39 = 0xcd9d0;" (assignment_expression "uVar39 = 0xcd9d0" identifier = number_literal) ;) (expression_statement "ppppcVar38 = ppppcStack_fc;" (assignment_expression "ppppcVar38 = ppppcStack_fc" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);" (assignment_expression "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50)" identifier = (cast_expression "(code ******)(pcVar4 + 0xcaf50)" ( (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 "(pcVar4 + 0xcaf50)" ( (binary_expression "pcVar4 + 0xcaf50" identifier + number_literal) )))) ;) (expression_statement "piVar27 = *(int **)(pcVar4 + 0xc3454);" (assignment_expression "piVar27 = *(int **)(pcVar4 + 0xc3454)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xc3454)" * (cast_expression "(int **)(pcVar4 + 0xc3454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xc3454)" ( (binary_expression "pcVar4 + 0xc3454" identifier + number_literal) ))))) ;) (expression_statement "pppppcStack_170 = (code *****)0x0;" (assignment_expression "pppppcStack_170 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "iStack_16c = *piVar27;" (assignment_expression "iStack_16c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "ppppppcVar21 = ppppppcVar16;" (assignment_expression "ppppppcVar21 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_164 = unaff_s0;" (assignment_expression "pppppppcStack_164 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_160 = puVar13;" (assignment_expression "puStack_160 = puVar13" identifier = identifier) ;) (expression_statement "piStack_15c = piVar26;" (assignment_expression "piStack_15c = piVar26" identifier = identifier) ;) (expression_statement "ppppppcStack_158 = param_4;" (assignment_expression "ppppppcStack_158 = param_4" identifier = identifier) ;) (expression_statement "pppppppcStack_154 = pppppppcVar29;" (assignment_expression "pppppppcStack_154 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_150 = ppppppcVar20;" (assignment_expression "ppppppcStack_150 = ppppppcVar20" identifier = identifier) ;) (expression_statement "uStack_14c = uVar39;" (assignment_expression "uStack_14c = uVar39" identifier = identifier) ;) (if_statement "if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" if (parenthesized_expression "((int)ppppcVar38[3][9] << 3 < 0)" ( (binary_expression "(int)ppppcVar38[3][9] << 3 < 0" (binary_expression "(int)ppppcVar38[3][9] << 3" (cast_expression "(int)ppppcVar38[3][9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppcVar38[3][9]" (subscript_expression "ppppcVar38[3]" identifier [ number_literal ]) [ number_literal ])) << number_literal) < number_literal) )) (compound_statement "{\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }" { (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" identifier = (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" ( (type_descriptor "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 *)(pcVar4 + 0xc2f8c) + -0x42a8)" ( (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x42a8" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" * (cast_expression "(int *)(pcVar4 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc2f8c)" ( (binary_expression "pcVar4 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" statement_identifier : (expression_statement "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" (call_expression "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fed])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1fed]" * (cast_expression "(code *)ppppppcStack_178[-0x1fed]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1fed]" identifier [ number_literal ]))) )) (argument_list "(ppppcVar38[2])" ( (subscript_expression "ppppcVar38[2]" identifier [ number_literal ]) ))) ;)) (expression_statement "ppppppcVar24 = (code ******)0x1;" (assignment_expression "ppppppcVar24 = (code ******)0x1" identifier = (cast_expression "(code ******)0x1" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);" (assignment_expression "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" identifier = (cast_expression "(code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" identifier (argument_list "(ppppppcStack_178[-0x1ff1] + -0x177f)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x177f" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ppppcVar38[2] = pppcVar6;" (assignment_expression "ppppcVar38[2] = pppcVar6" (subscript_expression "ppppcVar38[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar16 = param_4;" (assignment_expression "ppppppcVar16 = param_4" identifier = identifier) ;) }) (else_clause "else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" else (compound_statement "{\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" { (if_statement "if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(param_2 == (code *******)0x1)" ( (binary_expression "param_2 == (code *******)0x1" identifier == (cast_expression "(code *******)0x1" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" identifier = (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" ( (type_descriptor "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 *)(pcVar4 + 0xc2f8c) + -0x429c)" ( (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x429c" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" * (cast_expression "(int *)(pcVar4 + 0xc2f8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc2f8c)" ( (binary_expression "pcVar4 + 0xc2f8c" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar23 = *(int *)(pcVar4 + 0xc31d8);" (assignment_expression "iVar23 = *(int *)(pcVar4 + 0xc31d8)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xc31d8)" * (cast_expression "(int *)(pcVar4 + 0xc31d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xc31d8)" ( (binary_expression "pcVar4 + 0xc31d8" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);" (call_expression "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16)" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" ( (pointer_expression "*(code *)(iVar23 + 0x7f68)" * (cast_expression "(code *)(iVar23 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x7f68)" ( (binary_expression "iVar23 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(*ppppppcVar16)" ( (pointer_expression "*ppppppcVar16" * identifier) ))) ;) (expression_statement "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);" (call_expression "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1])" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" ( (pointer_expression "*(code *)(iVar23 + 0x7f68)" * (cast_expression "(code *)(iVar23 + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x7f68)" ( (binary_expression "iVar23 + 0x7f68" identifier + number_literal) )))) )) (argument_list "(ppppppcVar16[1])" ( (subscript_expression "ppppppcVar16[1]" identifier [ number_literal ]) ))) ;) (expression_statement "param_4 = ppppppcVar16;" (assignment_expression "param_4 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcVar29 = extraout_v1;" (assignment_expression "pppppppcVar29 = extraout_v1" identifier = identifier) ;) (if_statement "if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(extraout_v1 != extraout_v1_00)" ( (binary_expression "extraout_v1 != extraout_v1_00" identifier != identifier) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" ( (type_descriptor "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_178[-0x1ff1] + -0x109f)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x109f" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" identifier = (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1bd8)" ( (binary_expression "ppppppcStack_178[-0x1f58] + 0x1bd8" (subscript_expression "ppppppcStack_178[-0x1f58]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(ppppppcVar16[4],1)" ( (subscript_expression "ppppppcVar16[4]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" statement_identifier : (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" ( (type_descriptor "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_178[-0x1ff1] + -0x10b2)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10b2" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "pppcVar6 = ppppcVar38[3];" (assignment_expression "pppcVar6 = ppppcVar38[3]" identifier = (subscript_expression "ppppcVar38[3]" identifier [ number_literal ])) ;) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" identifier = (call_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f5e] + 0x8dc)" ( (binary_expression "ppppppcStack_178[-0x1f5e] + 0x8dc" (subscript_expression "ppppppcStack_178[-0x1f5e]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(pppcVar6,iVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar23 < 0) goto LAB_000cdb7c;" if (parenthesized_expression "(iVar23 < 0)" ( (binary_expression "iVar23 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000cdb7c;" goto statement_identifier ;)) (if_statement "if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1))" ( (binary_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" (parenthesized_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0))" ( (binary_expression "(extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" (parenthesized_expression "(extraout_v1 == (code *******)0x0)" ( (binary_expression "extraout_v1 == (code *******)0x0" identifier == (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 "(iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" ( (comma_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0" (assignment_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1]" identifier = (cast_expression "(int)pppcVar6[4][iVar23 * 4U + 1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppcVar6[4][iVar23 * 4U + 1]" (subscript_expression "pppcVar6[4]" identifier [ number_literal ]) [ (binary_expression "iVar23 * 4U + 1" (binary_expression "iVar23 * 4U" identifier * number_literal) + number_literal) ]))) , (binary_expression "iVar23 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" ( (comma_expression "ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1" (assignment_expression "ppppppcVar21 = *(code *******)(iVar23 + 4)" identifier = (pointer_expression "*(code *******)(iVar23 + 4)" * (cast_expression "(code *******)(iVar23 + 4)" ( (type_descriptor "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 "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) , (binary_expression "ppppppcVar21[0xb] < extraout_v1" (subscript_expression "ppppppcVar21[0xb]" identifier [ number_literal ]) < identifier)) ))) )) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" { (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" ( (type_descriptor "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_178[-0x1ff1] + -0x10ae)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10ae" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" if (parenthesized_expression "(*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04')" ( (binary_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04'" (pointer_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" * (cast_expression "(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" ( (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c" (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" (cast_expression "(int)ppppppcStack_178[-0x1ff1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ])) + (parenthesized_expression "(*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" ( (binary_expression "*(ushort *)(ppppppcVar16[3] + 2) & 0x1f" (pointer_expression "*(ushort *)(ppppppcVar16[3] + 2)" * (cast_expression "(ushort *)(ppppppcVar16[3] + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcVar16[3] + 2)" ( (binary_expression "ppppppcVar16[3] + 2" (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) + number_literal) )))) & number_literal) ))) + number_literal) )))) != (char_literal "'\x04'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" { (labeled_statement "LAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" statement_identifier : (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" identifier = (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" ( (type_descriptor "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_178[-0x1ff1] + -0x10a3)" ( (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10a3" (subscript_expression "ppppppcStack_178[-0x1ff1]" identifier [ number_literal ]) + number_literal) )))) ;)) (goto_statement "goto LAB_000cda68;" goto statement_identifier ;) })) (expression_statement "ppppppcVar20 = (code ******)ppppppcVar21[8];" (assignment_expression "ppppppcVar20 = (code ******)ppppppcVar21[8]" identifier = (cast_expression "(code ******)ppppppcVar21[8]" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppcVar21[8]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);" (assignment_expression "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" identifier = (cast_expression "(code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[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 "*" *))))))) ) (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1b22)" ( (binary_expression "ppppppcStack_178[-0x1f58] + 0x1b22" (subscript_expression "ppppppcStack_178[-0x1f58]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(ppppppcVar16[3],1)" ( (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) , number_literal ))))) ;) (if_statement "if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;" if (parenthesized_expression "(ppppppcVar20 != ppppppcVar24)" ( (binary_expression "ppppppcVar20 != ppppppcVar24" identifier != identifier) )) (goto_statement "goto LAB_000cdb70;" goto statement_identifier ;)) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppcVar21 = &pppppcStack_170;" (assignment_expression "ppppppcVar21 = &pppppcStack_170" identifier = (pointer_expression "&pppppcStack_170" & identifier)) ;) (expression_statement "pppppppcVar7 = extraout_v1;" (assignment_expression "pppppppcVar7 = extraout_v1" identifier = identifier) ;) (expression_statement "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;" (assignment_expression "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" identifier = (cast_expression "(code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" (parenthesized_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))" ( (pointer_expression "**(code **)(**(int **)(iVar23 + 4) + 0xcc)" * (pointer_expression "*(code **)(**(int **)(iVar23 + 4) + 0xcc)" * (cast_expression "(code **)(**(int **)(iVar23 + 4) + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar23 + 4) + 0xcc)" ( (binary_expression "**(int **)(iVar23 + 4) + 0xcc" (pointer_expression "**(int **)(iVar23 + 4)" * (pointer_expression "*(int **)(iVar23 + 4)" * (cast_expression "(int **)(iVar23 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(**(int **)(iVar23 + 4))" ( (pointer_expression "**(int **)(iVar23 + 4)" * (pointer_expression "*(int **)(iVar23 + 4)" * (cast_expression "(int **)(iVar23 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) ))))) ;) (if_statement "if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" if (parenthesized_expression "((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       )" ( (binary_expression "(ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" (parenthesized_expression "(ppppppcVar24 == (code ******)0x0)" ( (binary_expression "ppppppcVar24 == (code ******)0x0" identifier == (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)) )) && (parenthesized_expression "(ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" ( (comma_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0" (assignment_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170)" identifier = (cast_expression "(code ******)FUN_000c3260(pppppcStack_170)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(pppppcStack_170)" identifier (argument_list "(pppppcStack_170)" ( identifier ))))) , (binary_expression "ppppppcVar24 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" { (expression_statement "ppppcVar38 = pppppcStack_170[1];" (assignment_expression "ppppcVar38 = pppppcStack_170[1]" identifier = (subscript_expression "pppppcStack_170[1]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);" (assignment_expression "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" identifier = (cast_expression "(code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" ( (type_descriptor "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 *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fd9])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1fd9]" * (cast_expression "(code *)ppppppcStack_178[-0x1fd9]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1fd9]" identifier [ number_literal ]))) )) (argument_list "(ppppppcVar16[3])" ( (subscript_expression "ppppppcVar16[3]" identifier [ number_literal ]) ))))) ;) (expression_statement "ppppppcVar21 = ppppppcVar20;" (assignment_expression "ppppppcVar21 = ppppppcVar20" identifier = identifier) ;) (expression_statement "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);" (call_expression "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38)" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1ebd])" ( (pointer_expression "*(code *)ppppppcStack_178[-0x1ebd]" * (cast_expression "(code *)ppppppcStack_178[-0x1ebd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppppcStack_178[-0x1ebd]" identifier [ number_literal ]))) )) (argument_list "(ppppcVar38)" ( identifier ))) ;) })) (if_statement "if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" if (parenthesized_expression "(pppppcStack_170 != (code *****)0x0)" ( (binary_expression "pppppcStack_170 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" { (expression_statement "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();" (call_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))()" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))" ( (pointer_expression "*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" * (cast_expression "(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppcStack_178[-0x1f78] + 0x3ba)" ( (binary_expression "ppppppcStack_178[-0x1f78] + 0x3ba" (subscript_expression "ppppppcStack_178[-0x1f78]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }" if (parenthesized_expression "(iStack_16c == *piVar27)" ( (binary_expression "iStack_16c == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return ppppppcVar24;\n  }" { (return_statement "return ppppppcVar24;" return identifier ;) })) (expression_statement "pppppcVar37 = ppppppcStack_178[-0x1eca];" (assignment_expression "pppppcVar37 = ppppppcStack_178[-0x1eca]" identifier = (subscript_expression "ppppppcStack_178[-0x1eca]" identifier [ number_literal ])) ;) (expression_statement "pcVar4 = FUN_000cdc54;" (assignment_expression "pcVar4 = FUN_000cdc54" identifier = identifier) ;) (expression_statement "iVar23 = iStack_16c;" (assignment_expression "iVar23 = iStack_16c" identifier = identifier) ;) (expression_statement "(*(code *)pppppcVar37)();" (call_expression "(*(code *)pppppcVar37)()" (parenthesized_expression "(*(code *)pppppcVar37)" ( (pointer_expression "*(code *)pppppcVar37" * (cast_expression "(code *)pppppcVar37" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ppppcVar8 = pppppcVar37[0x30c74];" (assignment_expression "ppppcVar8 = pppppcVar37[0x30c74]" identifier = (subscript_expression "pppppcVar37[0x30c74]" identifier [ number_literal ])) ;) (expression_statement "pppcStack_1b4 = *ppppcVar8;" (assignment_expression "pppcStack_1b4 = *ppppcVar8" identifier = (pointer_expression "*ppppcVar8" * identifier)) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0x74);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0x74)" identifier = (pointer_expression "*(int *)(iVar23 + 0x74)" * (cast_expression "(int *)(iVar23 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x74)" ( (binary_expression "iVar23 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = *(int **)(iVar23 + 0x14);" (assignment_expression "piVar26 = *(int **)(iVar23 + 0x14)" identifier = (pointer_expression "*(int **)(iVar23 + 0x14)" * (cast_expression "(int **)(iVar23 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 0x14)" ( (binary_expression "iVar23 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "ppppcStack_1b0 = ppppcVar38;" (assignment_expression "ppppcStack_1b0 = ppppcVar38" identifier = identifier) ;) (expression_statement "ppppppcStack_1ac = ppppppcVar24;" (assignment_expression "ppppppcStack_1ac = ppppppcVar24" identifier = identifier) ;) (expression_statement "piStack_1a8 = piVar27;" (assignment_expression "piStack_1a8 = piVar27" identifier = identifier) ;) (expression_statement "ppppppcStack_1a4 = ppppppcVar16;" (assignment_expression "ppppppcStack_1a4 = ppppppcVar16" identifier = identifier) ;) (expression_statement "pppppppcStack_1a0 = pppppppcVar29;" (assignment_expression "pppppppcStack_1a0 = pppppppcVar29" identifier = identifier) ;) (expression_statement "ppppppcStack_19c = ppppppcVar20;" (assignment_expression "ppppppcStack_19c = ppppppcVar20" identifier = identifier) ;) (expression_statement "iStack_198 = iVar32;" (assignment_expression "iStack_198 = iVar32" identifier = identifier) ;) (expression_statement "pppppppcStack_194 = pppppppcVar33;" (assignment_expression "pppppppcStack_194 = pppppppcVar33" identifier = identifier) ;) (expression_statement "ppppppcStack_190 = ppppppcVar28;" (assignment_expression "ppppppcStack_190 = ppppppcVar28" identifier = identifier) ;) (expression_statement "pcStack_18c = pcVar4;" (assignment_expression "pcStack_18c = pcVar4" identifier = identifier) ;) (expression_statement "(*(code *)(pppppcVar37[0x30bbb] + 0x581))();" (call_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))()" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))" ( (pointer_expression "*(code *)(pppppcVar37[0x30bbb] + 0x581)" * (cast_expression "(code *)(pppppcVar37[0x30bbb] + 0x581)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar37[0x30bbb] + 0x581)" ( (binary_expression "pppppcVar37[0x30bbb] + 0x581" (subscript_expression "pppppcVar37[0x30bbb]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar32 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x28)" identifier = (pointer_expression "*(int *)(iVar23 + 0x28)" * (cast_expression "(int *)(iVar23 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x28)" ( (binary_expression "iVar23 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);" (assignment_expression "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30)" identifier = (binary_expression "(code *******)(uint)*(ushort *)(iVar23 + 0x30)" (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 *)(iVar23 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x30)" ( (binary_expression "iVar23 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" if (parenthesized_expression "((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38)))" ( (binary_expression "(uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))" (call_expression "(uint)(piVar26[9] - (int)pppppppcVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar26[9] - (int)pppppppcVar29)" ( (binary_expression "piVar26[9] - (int)pppppppcVar29" (subscript_expression "piVar26[9]" identifier [ number_literal ]) - (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (call_expression "(uint)(iVar32 - *(int *)(iVar34 + 0x38))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar32 - *(int *)(iVar34 + 0x38))" ( (binary_expression "iVar32 - *(int *)(iVar34 + 0x38)" identifier - (pointer_expression "*(int *)(iVar34 + 0x38)" * (cast_expression "(int *)(iVar34 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x38)" ( (binary_expression "iVar34 + 0x38" identifier + number_literal) ))))) )))) )) (compound_statement "{\n    uVar39 = 0x108be;\n  }" { (expression_statement "uVar39 = 0x108be;" (assignment_expression "uVar39 = 0x108be" identifier = number_literal) ;) }) (else_clause "else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" else (compound_statement "{\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" { (if_statement "if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" if (parenthesized_expression "(pppppppcVar7 < pppppppcVar29)" ( (binary_expression "pppppppcVar7 < pppppppcVar29" identifier < identifier) )) (compound_statement "{\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }" { (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (if_statement "if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" if (parenthesized_expression "(pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21))" ( (binary_expression "pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" identifier < (cast_expression "(code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" ( (type_descriptor "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)pppppppcVar7 + (int)ppppppcVar21)" ( (binary_expression "(int)pppppppcVar7 + (int)ppppppcVar21" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" { (expression_statement "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" identifier = (cast_expression "(code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" ( (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)pppppppcVar29 - (int)pppppppcVar7)" ( (binary_expression "(int)pppppppcVar29 - (int)pppppppcVar7" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32)" identifier = (cast_expression "(code ******)((int)pppppppcVar7 + iVar32)" ( (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)pppppppcVar7 + iVar32)" ( (binary_expression "(int)pppppppcVar7 + iVar32" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" if (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" ( (binary_expression "ppppppcStack_178 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }" { (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" identifier = (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar16 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar16 = ppppppcStack_1d8" identifier = identifier) ;) }) (else_clause "else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" else (compound_statement "{\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" { (expression_statement "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));" (assignment_expression "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" identifier = (cast_expression "(code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" identifier (argument_list "(*(undefined4 *)(iVar34 + 0x48))" ( (pointer_expression "*(undefined4 *)(iVar34 + 0x48)" * (cast_expression "(undefined4 *)(iVar34 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + 0x48)" ( (binary_expression "iVar34 + 0x48" identifier + number_literal) )))) ))))) ;) (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" ( (binary_expression "ppppppcVar16 != (code ******)0x0" identifier != (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_000cdd30;" goto statement_identifier ;)) (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" identifier = (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" identifier = identifier) ;) (expression_statement "ppppppcVar20 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar20 = ppppppcStack_1d8" identifier = identifier) ;) }))) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar28" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);" (call_expression "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28)" (parenthesized_expression "(*(code *)ppppcVar38)" ( (pointer_expression "*(code *)ppppcVar38" * (cast_expression "(code *)ppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ppppppcVar16,ppppppcVar20,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar30 = (byte *)0x0;" (assignment_expression "pbVar30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" else (compound_statement "{\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" { (expression_statement "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);" (assignment_expression "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" identifier = (cast_expression "(byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar7 - (int)pppppppcVar29)" ( (binary_expression "(int)pppppppcVar7 - (int)pppppppcVar29" (cast_expression "(int)pppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (if_statement "if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" if (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" ( (binary_expression "ppppppcVar21 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" { (expression_statement "ppppppcVar16 = (code ******)0x0;" (assignment_expression "ppppppcVar16 = (code ******)0x0" identifier = (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_000cdd30;" goto statement_identifier ;) })) (expression_statement "uVar2 = *(ushort *)(iVar23 + 0x30);" (assignment_expression "uVar2 = *(ushort *)(iVar23 + 0x30)" identifier = (pointer_expression "*(ushort *)(iVar23 + 0x30)" * (cast_expression "(ushort *)(iVar23 + 0x30)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x30)" ( (binary_expression "iVar23 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar31 = (byte *)(piVar26[9] + -4);" (assignment_expression "pbVar31 = (byte *)(piVar26[9] + -4)" identifier = (cast_expression "(byte *)(piVar26[9] + -4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar26[9] + -4)" ( (binary_expression "piVar26[9] + -4" (subscript_expression "piVar26[9]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "iStack_1bc = *(int *)(iVar32 + (uint)uVar2);" (assignment_expression "iStack_1bc = *(int *)(iVar32 + (uint)uVar2)" identifier = (pointer_expression "*(int *)(iVar32 + (uint)uVar2)" * (cast_expression "(int *)(iVar32 + (uint)uVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar32 + (uint)uVar2)" ( (binary_expression "iVar32 + (uint)uVar2" identifier + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) ;) (if_statement "if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" if (parenthesized_expression "((*(byte *)(iVar23 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar23 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar23 + 1) & 4)" ( (binary_expression "*(byte *)(iVar23 + 1) & 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }" { (expression_statement "iVar32 = *(int *)(iVar23 + 0x2c);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x2c)" identifier = (pointer_expression "*(int *)(iVar23 + 0x2c)" * (cast_expression "(int *)(iVar23 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x2c)" ( (binary_expression "iVar23 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(pbVar31 == (byte *)0x0)" ( (binary_expression "pbVar31 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" 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 (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" if (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }" { (labeled_statement "LAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" statement_identifier : (expression_statement "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" (assignment_expression "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" identifier = (call_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))" ( (pointer_expression "*(code *)(pppppcVar37[0x30bd5] + 0xd5)" * (cast_expression "(code *)(pppppcVar37[0x30bd5] + 0xd5)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar37[0x30bd5] + 0xd5)" ( (binary_expression "pppppcVar37[0x30bd5] + 0xd5" (subscript_expression "pppppcVar37[0x30bd5]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "(iVar34)" ( identifier )))) ;)) (if_statement "if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" if (parenthesized_expression "(iVar34 == 0)" ( (binary_expression "iVar34 == 0" identifier == number_literal) )) (compound_statement "{\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" { (expression_statement "ppppppcVar16 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_00000007" identifier = (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;) })) (expression_statement "*(int *)(iVar23 + 0xc) = iVar34;" (assignment_expression "*(int *)(iVar23 + 0xc) = iVar34" (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" else (compound_statement "{\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" { (expression_statement "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();" (assignment_expression "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])()" identifier = (call_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])()" (parenthesized_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])" ( (pointer_expression "*(code *)pppppcVar37[0x30b3d][-0x2d0]" * (cast_expression "(code *)pppppcVar37[0x30b3d][-0x2d0]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30b3d][-0x2d0]" (subscript_expression "pppppcVar37[0x30b3d]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;" if (parenthesized_expression "(iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))" ( (binary_expression "iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" identifier < (cast_expression "(int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" ( (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" ( (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" ( (binary_expression "iVar32 + -1" identifier + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) )))) )) (goto_statement "goto LAB_000cdf84;" goto statement_identifier ;)) }))) (expression_statement "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);" (call_expression "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c41])" ( (pointer_expression "*(code *)pppppcVar37[0x30c41]" * (cast_expression "(code *)pppppcVar37[0x30c41]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c41]" identifier [ number_literal ]))) )) (argument_list "(iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" ( identifier , number_literal , (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" ( (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" identifier + (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" ( (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" ( (binary_expression "iVar32 + -1" identifier + number_literal) )) - (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) << number_literal) ))) ;) (expression_statement "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;" (assignment_expression "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) = (binary_expression "*(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" * (cast_expression "(byte *)(iVar23 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1)" ( (binary_expression "iVar23 + 1" identifier + number_literal) )))) | number_literal)) ;) }) (else_clause "else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" else (compound_statement "{\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" { (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(pbVar31 == (byte *)0x0)" ( (binary_expression "pbVar31 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" 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 ))) ;) })) (expression_statement "uVar41 = (uint)pbVar30 / (uint)pbVar31;" (assignment_expression "uVar41 = (uint)pbVar30 / (uint)pbVar31" identifier = (binary_expression "(uint)pbVar30 / (uint)pbVar31" (cast_expression "(uint)pbVar30" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);" (assignment_expression "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31)" identifier = (cast_expression "(byte *)((uint)pbVar30 % (uint)pbVar31)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pbVar30 % (uint)pbVar31)" ( (binary_expression "(uint)pbVar30 % (uint)pbVar31" (cast_expression "(uint)pbVar30" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)pbVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar32 = *(int *)(iVar34 + uVar41 * 4);" (assignment_expression "iVar32 = *(int *)(iVar34 + uVar41 * 4)" identifier = (pointer_expression "*(int *)(iVar34 + uVar41 * 4)" * (cast_expression "(int *)(iVar34 + uVar41 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + uVar41 * 4)" ( (binary_expression "iVar34 + uVar41 * 4" identifier + (binary_expression "uVar41 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar32 != 0) goto LAB_000cddd4;" if (parenthesized_expression "(iVar32 != 0)" ( (binary_expression "iVar32 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000cddd4;" goto statement_identifier ;)) }))) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" identifier = number_literal) ;) (if_statement "if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(iStack_1bc != 0)" ( (binary_expression "iStack_1bc != 0" identifier != number_literal) )) (compound_statement "{\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" { (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar40 = pbVar30;" (assignment_expression "pbVar40 = pbVar30" identifier = identifier) ;) (expression_statement "iVar32 = iStack_1bc;" (assignment_expression "iVar32 = iStack_1bc" identifier = identifier) ;) (labeled_statement "LAB_000cddd4:\n      iStack_1bc = iVar32;" statement_identifier : (expression_statement "iStack_1bc = iVar32;" (assignment_expression "iStack_1bc = iVar32" identifier = identifier) ;)) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" identifier = number_literal) ;) (expression_statement "ppppcVar38 = pppppcVar37[0x30bbb];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30bbb]" identifier = (subscript_expression "pppppcVar37[0x30bbb]" identifier [ number_literal ])) ;) (expression_statement "iVar32 = uVar41 + 1;" (assignment_expression "iVar32 = uVar41 + 1" identifier = (binary_expression "uVar41 + 1" identifier + number_literal)) ;) (expression_statement "ppppcVar35 = pppppcVar37[0x30bde];" (assignment_expression "ppppcVar35 = pppppcVar37[0x30bde]" identifier = (subscript_expression "pppppcVar37[0x30bde]" identifier [ number_literal ])) ;) (if_statement "if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }" if (parenthesized_expression "(ppppppcStack_178 != (code ******)0x0)" ( (binary_expression "ppppppcStack_178 != (code ******)0x0" identifier != (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n        uVar39 = 0;\n      }" { (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" identifier = number_literal) ;) })) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" identifier = (binary_expression "iVar32 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar34 + iVar17 + -4)" * (cast_expression "(int *)(iVar34 + iVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar17 + -4)" ( (binary_expression "iVar34 + iVar17 + -4" (binary_expression "iVar34 + iVar17" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppppcVar9 = pppppcVar37[0x30be2];" (assignment_expression "ppppcVar9 = pppppcVar37[0x30be2]" identifier = (subscript_expression "pppppcVar37[0x30be2]" identifier [ number_literal ])) ;) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" identifier = (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" ( (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (if_statement "if (pbVar40 < pbVar31) goto LAB_000cde58;" if (parenthesized_expression "(pbVar40 < pbVar31)" ( (binary_expression "pbVar40 < pbVar31" identifier < identifier) )) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;)) (do_statement "do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );" do (compound_statement "{\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      }" { (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pbVar40 = pbVar40 + -(int)pbVar31;" (assignment_expression "pbVar40 = pbVar40 + -(int)pbVar31" identifier = (binary_expression "pbVar40 + -(int)pbVar31" identifier + (unary_expression "-(int)pbVar31" - (cast_expression "(int)pbVar31" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "iVar34 = *(int *)(iVar14 + iVar17);" (assignment_expression "iVar34 = *(int *)(iVar14 + iVar17)" identifier = (pointer_expression "*(int *)(iVar14 + iVar17)" * (cast_expression "(int *)(iVar14 + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17)" ( (binary_expression "iVar14 + iVar17" identifier + identifier) ))))) ;) (if_statement "if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" if (parenthesized_expression "(*(int *)(iVar14 + iVar17) == 0)" ( (binary_expression "*(int *)(iVar14 + iVar17) == 0" (pointer_expression "*(int *)(iVar14 + iVar17)" * (cast_expression "(int *)(iVar14 + iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17)" ( (binary_expression "iVar14 + iVar17" identifier + identifier) )))) == number_literal) )) (compound_statement "{\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" { (expression_statement "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" identifier = (cast_expression "(code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" (parenthesized_expression "(*(code *)(ppppcVar9 + -0xa58))" ( (pointer_expression "*(code *)(ppppcVar9 + -0xa58)" * (cast_expression "(code *)(ppppcVar9 + -0xa58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar9 + -0xa58)" ( (binary_expression "ppppcVar9 + -0xa58" identifier + number_literal) )))) )) (argument_list "(piVar26,iStack_1bc,0,&iStack_1bc)" ( identifier , identifier , number_literal , (pointer_expression "&iStack_1bc" & identifier) ))))) ;) (goto_statement "goto LAB_000cdea8;" goto statement_identifier ;) })) (while_statement "while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" { (expression_statement "iStack_1bc = iVar34;" (assignment_expression "iStack_1bc = iVar34" identifier = identifier) ;) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" identifier = (binary_expression "iVar32 + 1" identifier + number_literal)) ;) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" identifier = (binary_expression "iVar32 * 4" identifier * number_literal)) ;) (expression_statement "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar14 + iVar17 + -4)" * (cast_expression "(int *)(iVar14 + iVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar17 + -4)" ( (binary_expression "iVar14 + iVar17 + -4" (binary_expression "iVar14 + iVar17" identifier + identifier) + number_literal) )))) = identifier) ;) (if_statement "if (pbVar31 <= pbVar40) break;" if (parenthesized_expression "(pbVar31 <= pbVar40)" ( (binary_expression "pbVar31 <= pbVar40" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" identifier = (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" ( (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" identifier = identifier) ;) (labeled_statement "LAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;" statement_identifier : (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" identifier = (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (if_statement "if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" if (parenthesized_expression "(pbVar31 < pbVar30)" ( (binary_expression "pbVar31 < pbVar30" identifier < identifier) )) (compound_statement "{\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" { (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" identifier = (cast_expression "(code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" ( (binary_expression "(int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31)" (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pbVar40 - (int)pbVar31)" ( (binary_expression "(int)pbVar40 - (int)pbVar31" (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar31" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);" (assignment_expression "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40)" identifier = (cast_expression "(code ******)(pbVar31 + -(int)pbVar40)" ( (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 "(pbVar31 + -(int)pbVar40)" ( (binary_expression "pbVar31 + -(int)pbVar40" identifier + (unary_expression "-(int)pbVar40" - (cast_expression "(int)pbVar40" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" identifier = (cast_expression "(code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (parenthesized_expression "(**(code **)(*piVar26 + 0xcc))" ( (pointer_expression "**(code **)(*piVar26 + 0xcc)" * (pointer_expression "*(code **)(*piVar26 + 0xcc)" * (cast_expression "(code **)(*piVar26 + 0xcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar26 + 0xcc)" ( (binary_expression "*piVar26 + 0xcc" (pointer_expression "*piVar26" * identifier) + number_literal) ))))) )) (argument_list "(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" ( (pointer_expression "*piVar26" * identifier) , identifier , (pointer_expression "&iStack_1b8" & identifier) , identifier ))))) ;) (expression_statement "iVar34 = iStack_1b8;" (assignment_expression "iVar34 = iStack_1b8" identifier = identifier) ;) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" if (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" ( (binary_expression "ppppppcVar16 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" { (expression_statement "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));" (assignment_expression "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" identifier = (cast_expression "(byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" ( (binary_expression "(int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4)" (cast_expression "(int)*(int **)(iStack_1b8 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) ))))) + (cast_expression "(int)(pbVar40 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar40 + 4)" ( (binary_expression "pbVar40 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iStack_1bc = **(int **)(iStack_1b8 + 4);" (assignment_expression "iStack_1bc = **(int **)(iStack_1b8 + 4)" identifier = (pointer_expression "**(int **)(iStack_1b8 + 4)" * (pointer_expression "*(int **)(iStack_1b8 + 4)" * (cast_expression "(int **)(iStack_1b8 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_1b8 + 4)" ( (binary_expression "iStack_1b8 + 4" identifier + number_literal) )))))) ;) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" ( (binary_expression "ppppppcStack_178 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }" { (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" ( (pointer_expression "*(code *)pppppcVar37[0x30c76]" * (cast_expression "(code *)pppppcVar37[0x30c76]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ]))) )) (argument_list "(ppppppcStack_1d8,pbVar30,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) (expression_statement "ppppppcVar16 = ppppppcStack_178;" (assignment_expression "ppppppcVar16 = ppppppcStack_178" identifier = identifier) ;) (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iVar34);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iVar34)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" ( (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" * (cast_expression "(code *)(ppppcVar38 + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38 + 0x3ba)" ( (binary_expression "ppppcVar38 + 0x3ba" identifier + number_literal) )))) )) (argument_list "(iVar34)" ( identifier ))) ;) }) (else_clause "else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" else (compound_statement "{\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" { (expression_statement "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);" (assignment_expression "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" identifier = (cast_expression "(code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar35 + 0xc98))" ( (pointer_expression "*(code *)(ppppcVar35 + 0xc98)" * (cast_expression "(code *)(ppppcVar35 + 0xc98)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar35 + 0xc98)" ( (binary_expression "ppppcVar35 + 0xc98" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))))) ;) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" if (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" ( (binary_expression "ppppppcVar16 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" { (expression_statement "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" ( (pointer_expression "*(code *)pppppcVar37[0x30c76]" * (cast_expression "(code *)pppppcVar37[0x30c76]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30c76]" identifier [ number_literal ]))) )) (argument_list "(pbVar30,ppppppcStack_1d8,ppppppcVar28)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" if (parenthesized_expression "(iStack_1b8 != 0)" ( (binary_expression "iStack_1b8 != 0" identifier != number_literal) )) (compound_statement "{\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" { (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" ( (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" * (cast_expression "(code *)(ppppcVar38 + 0x3ba)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38 + 0x3ba)" ( (binary_expression "ppppcVar38 + 0x3ba" identifier + number_literal) )))) )) (argument_list "(iStack_1b8)" ( identifier ))) ;) })) }))) })) (if_statement "if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" ( (binary_expression "ppppppcVar21 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_000cdd30;" goto statement_identifier ;)) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" identifier = (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" ( (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" statement_identifier : (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" if (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" ( (binary_expression "ppppppcVar16 != (code ******)0x0" identifier != (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_000cdd30;" goto statement_identifier ;))) (if_statement "if (iStack_1bc == 0) goto LAB_000ce0b4;" if (parenthesized_expression "(iStack_1bc == 0)" ( (binary_expression "iStack_1bc == 0" identifier == number_literal) )) (goto_statement "goto LAB_000ce0b4;" goto statement_identifier ;)) (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" identifier = (pointer_expression "*(int *)(iVar23 + 0xc)" * (cast_expression "(int *)(iVar23 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0xc)" ( (binary_expression "iVar23 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = iStack_1bc;" (assignment_expression "iVar34 = iStack_1bc" identifier = identifier) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (labeled_statement "LAB_000ce0b4:\n    uVar39 = 0x1094f;" statement_identifier : (expression_statement "uVar39 = 0x1094f;" (assignment_expression "uVar39 = 0x1094f" identifier = number_literal) ;)) }))) (expression_statement "ppppppcVar16 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_0000000b" identifier = (cast_expression "(code ******)&DAT_0000000b" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);" (call_expression "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" (parenthesized_expression "(*(code *)pppppcVar37[0x30be3])" ( (pointer_expression "*(code *)pppppcVar37[0x30be3]" * (cast_expression "(code *)pppppcVar37[0x30be3]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppcVar37[0x30be3]" identifier [ number_literal ]))) )) (argument_list "(0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" ( number_literal , (binary_expression "pppppcVar37[0x30b42] + -0x18de" (subscript_expression "pppppcVar37[0x30b42]" identifier [ number_literal ]) + number_literal) , (binary_expression "pppppcVar37[0x30b42] + -0x1799" (subscript_expression "pppppcVar37[0x30b42]" identifier [ number_literal ]) + number_literal) , identifier , (binary_expression "pppppcVar37[0x30b41] + 0x1897" (subscript_expression "pppppcVar37[0x30b41]" identifier [ number_literal ]) + number_literal) ))) ;) (labeled_statement "LAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" statement_identifier : (if_statement "if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" if (parenthesized_expression "(pppcStack_1b4 == *ppppcVar8)" ( (binary_expression "pppcStack_1b4 == *ppppcVar8" identifier == (pointer_expression "*ppppcVar8" * identifier)) )) (compound_statement "{\n    return ppppppcVar16;\n  }" { (return_statement "return ppppppcVar16;" return identifier ;) }))) (expression_statement "ppppcVar38 = pppppcVar37[0x30c69];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c69]" identifier = (subscript_expression "pppppcVar37[0x30c69]" identifier [ number_literal ])) ;) (expression_statement "pppcVar6 = pppcStack_1b4;" (assignment_expression "pppcVar6 = pppcStack_1b4" identifier = identifier) ;) (expression_statement "(*(code *)ppppcVar38)();" (call_expression "(*(code *)ppppcVar38)()" (parenthesized_expression "(*(code *)ppppcVar38)" ( (pointer_expression "*(code *)ppppcVar38" * (cast_expression "(code *)ppppcVar38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(ppppcVar38[0x30a9a] + 0x581))();" (call_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))()" (parenthesized_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))" ( (pointer_expression "*(code *)(ppppcVar38[0x30a9a] + 0x581)" * (cast_expression "(code *)(ppppcVar38[0x30a9a] + 0x581)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38[0x30a9a] + 0x581)" ( (binary_expression "ppppcVar38[0x30a9a] + 0x581" (subscript_expression "ppppcVar38[0x30a9a]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "ppcVar15 = pppcVar6[0xb];" (assignment_expression "ppcVar15 = pppcVar6[0xb]" identifier = (subscript_expression "pppcVar6[0xb]" identifier [ number_literal ])) ;) (expression_statement "pppcVar6[0xe] = (code **)0x0;" (assignment_expression "pppcVar6[0xe] = (code **)0x0" (subscript_expression "pppcVar6[0xe]" identifier [ number_literal ]) = (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pppcVar6[0xf] = ppcVar15;" (assignment_expression "pppcVar6[0xf] = ppcVar15" (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);" (assignment_expression "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" identifier = (cast_expression "(code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (parenthesized_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))" ( (pointer_expression "*(code *)(ppppcVar38[0x30ab4] + -0xad2)" * (cast_expression "(code *)(ppppcVar38[0x30ab4] + -0xad2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcVar38[0x30ab4] + -0xad2)" ( (binary_expression "ppppcVar38[0x30ab4] + -0xad2" (subscript_expression "ppppcVar38[0x30ab4]" identifier [ number_literal ]) + number_literal) )))) )) (argument_list "((code **)((int)ppcVar15 + 0x11) < ppcVar15)" ( (binary_expression "(code **)((int)ppcVar15 + 0x11) < ppcVar15" (cast_expression "(code **)((int)ppcVar15 + 0x11)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar15 + 0x11)" ( (binary_expression "(int)ppcVar15 + 0x11" (cast_expression "(int)ppcVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < identifier) ))))) ;) (if_statement "if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }" if (parenthesized_expression "(ppcVar15 == (code **)0x0)" ( (binary_expression "ppcVar15 == (code **)0x0" identifier == (cast_expression "(code **)0x0" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    return (code ******)&DAT_00000007;\n  }" { (return_statement "return (code ******)&DAT_00000007;" return (cast_expression "(code ******)&DAT_00000007" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "&DAT_00000007" & identifier)) ;) })) (expression_statement "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);" (assignment_expression "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" identifier = (cast_expression "(code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" identifier (argument_list "(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" ( identifier , number_literal , (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]) , identifier , number_literal ))))) ;) (if_statement "if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" if (parenthesized_expression "(ppppppcVar28 == (code ******)0x0)" ( (binary_expression "ppppppcVar28 == (code ******)0x0" identifier == (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" { (expression_statement "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);" (call_expression "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" (parenthesized_expression "(*(code *)ppppcVar38[0x30b20])" ( (pointer_expression "*(code *)ppppcVar38[0x30b20]" * (cast_expression "(code *)ppppcVar38[0x30b20]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppcVar38[0x30b20]" identifier [ number_literal ]))) )) (argument_list "((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" ( (binary_expression "(int)ppcVar15 + (int)pppcVar6[0xf]" (cast_expression "(int)ppcVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppcVar6[0xf]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppcVar6[0xf]" identifier [ number_literal ]))) , number_literal , number_literal ))) ;) (expression_statement "pppcVar6[4] = ppcVar15;" (assignment_expression "pppcVar6[4] = ppcVar15" (subscript_expression "pppcVar6[4]" identifier [ number_literal ]) = identifier) ;) (return_statement "return (code ******)0x0;" return (cast_expression "(code ******)0x0" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal) ;) })) (expression_statement "(*(code *)ppppcVar38[0x30a25])(ppcVar15);" (call_expression "(*(code *)ppppcVar38[0x30a25])(ppcVar15)" (parenthesized_expression "(*(code *)ppppcVar38[0x30a25])" ( (pointer_expression "*(code *)ppppcVar38[0x30a25]" * (cast_expression "(code *)ppppcVar38[0x30a25]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppppcVar38[0x30a25]" identifier [ number_literal ]))) )) (argument_list "(ppcVar15)" ( identifier ))) ;) (return_statement "return ppppppcVar28;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE 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 * IDENT))))))) ))))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * 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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (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 IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * 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 (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 * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ])))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 * 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 (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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) )))) << LIT) ))) / LIT) )))) ;) (do_statement do (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (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) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ))))) ;) (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) & 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) ) (subscript_expression IDENT [ LIT ])) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression 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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (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) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) , (comma_expression (assignment_expression IDENT = 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 *))))))) ) LIT)))) ))) )) (break_statement break ;)) (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 (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) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (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 *))))))) ) LIT)) , (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) )))) <= IDENT))) ))) )) (break_statement break ;)) (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 + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (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 *))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) + (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (subscript_expression IDENT [ LIT ]) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , 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) ) (subscript_expression IDENT [ LIT ])) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) - LIT) )) * LIT)) )))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = 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 LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (break_statement break ;)) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = 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 * (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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 (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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) ) (subscript_expression IDENT [ LIT ])) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression 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 ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (char_literal ' escape_sequence ')) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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 + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ))))) ;) (expression_statement (assignment_expression (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) )))) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return 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 * (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 * (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 (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) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (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 *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) 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) ) (subscript_expression IDENT [ LIT ])) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) & (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 IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )))) << (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) * LIT)) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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) + LIT) ))) + (unary_expression - IDENT)) )))) >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (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 *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_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 = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) | LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (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 *)))))) ) 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 ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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) )))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (subscript_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 = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ 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 (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) ))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_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 *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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)) )) && (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 *))))))) ) (call_expression IDENT (argument_list ( 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 *))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (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 *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) )) (argument_list ( )))) ;) (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 IDENT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) << LIT) )))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT , (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ))) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) << LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = 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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (do_statement do (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 = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , (pointer_expression & IDENT) ))))) ;) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 *))))))) ) (parenthesized_expression ( (binary_expression IDENT + (unary_expression - (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 *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , (pointer_expression & IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression 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)) )))) ;) (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 *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;))) (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 = IDENT) ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( LIT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( ))) ;) (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 *))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression & IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( IDENT , LIT , (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "code ****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" (type_identifier "code") (pointer_declarator "****** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (pointer_declarator "***** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (pointer_declarator "**** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (pointer_declarator "*** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (pointer_declarator "** FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (pointer_declarator "* FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (* "*") (function_declarator "FUN_000ccf80(int param_1,code *******param_2,code *******param_3,code ******param_4)" (identifier "FUN_000ccf80") (parameter_list "(int param_1,code *******param_2,code *******param_3,code ******param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (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" (* "*") (identifier "param_4")))))))) () ")"))))))))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  char cVar10;\n  undefined1 *puVar5;\n  code ***pppcVar6;\n  code *******pppppppcVar7;\n  code ****ppppcVar8;\n  code ****ppppcVar9;\n  code *******extraout_v1;\n  code *******extraout_v1_00;\n  code *******pppppppcVar11;\n  code *******pppppppcVar12;\n  undefined *puVar13;\n  int iVar14;\n  code **ppcVar15;\n  code ******ppppppcVar16;\n  int iVar17;\n  char *pcVar18;\n  char *pcVar19;\n  code *******unaff_s0;\n  code ******ppppppcVar20;\n  code ******ppppppcVar21;\n  undefined *puVar22;\n  int iVar23;\n  code ******ppppppcVar24;\n  code *pcVar25;\n  int *piVar26;\n  int *piVar27;\n  code ******ppppppcVar28;\n  code *******pppppppcVar29;\n  byte *pbVar30;\n  byte *pbVar31;\n  int iVar32;\n  code *******pppppppcVar33;\n  int iVar34;\n  code ****ppppcVar35;\n  undefined *puVar36;\n  code *****pppppcVar37;\n  code ****ppppcVar38;\n  undefined4 uVar39;\n  byte *pbVar40;\n  uint uVar41;\n  code ******ppppppcStack_1d8;\n  int iStack_1bc;\n  int iStack_1b8;\n  code ***pppcStack_1b4;\n  code ****ppppcStack_1b0;\n  code ******ppppppcStack_1ac;\n  int *piStack_1a8;\n  code ******ppppppcStack_1a4;\n  code *******pppppppcStack_1a0;\n  code ******ppppppcStack_19c;\n  int iStack_198;\n  code *******pppppppcStack_194;\n  code ******ppppppcStack_190;\n  code *pcStack_18c;\n  code ******ppppppcStack_178;\n  code *****pppppcStack_170;\n  int iStack_16c;\n  code *******pppppppcStack_164;\n  undefined *puStack_160;\n  int *piStack_15c;\n  code ******ppppppcStack_158;\n  code *******pppppppcStack_154;\n  code ******ppppppcStack_150;\n  undefined4 uStack_14c;\n  int iStack_138;\n  undefined *puStack_130;\n  uint uStack_124;\n  code *****pppppcStack_120;\n  code ******ppppppcStack_11c;\n  code *****apppppcStack_118 [7];\n  code ****ppppcStack_fc;\n  code *******pppppppcStack_f8;\n  undefined *puStack_f4;\n  code *pcStack_f0;\n  code ******ppppppcStack_ec;\n  code *******pppppppcStack_e8;\n  code ******ppppppcStack_e4;\n  int iStack_e0;\n  code *******pppppppcStack_dc;\n  int iStack_d8;\n  code *pcStack_d4;\n  code *******pppppppcStack_c8;\n  code ******local_c0;\n  code ******local_bc;\n  code ******local_b8;\n  ushort local_8e;\n  code ******local_8c;\n  code ******local_88;\n  code *******local_84;\n  code *******local_80;\n  uint local_7c;\n  code *******local_78;\n  code *******local_74;\n  ushort *local_70;\n  code ******local_6c;\n  undefined4 local_54;\n  undefined1 auStack_3c [4];\n  char local_38 [12];\n  undefined *local_2c;\n  \n  puVar36 = PTR___stack_chk_guard_00190e24;\n  puVar13 = PTR_LAB_00190ba8;\n  pppppppcVar29 = (code *******)0x0;\n  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;\n  puVar22 = PTR_LAB_00190bcc + 0x3260;\n  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);\n  iVar32 = (int)*(char *)(param_1 + 0x44);\n  pppppppcVar33 = *(code ********)(param_1 + 0x74);\n  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);\n  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);\n  do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);\n  if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }\n  if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }\n  pcVar4 = FUN_000cd690;\n  puVar13 = local_2c;\n  puVar36 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_130 = puVar36 + 0xcb290;\n  piVar26 = *(int **)(puVar36 + 0xc3794);\n  ppppcStack_fc = (code ****)*piVar26;\n  pppppppcStack_f8 = unaff_s0;\n  puStack_f4 = puVar22;\n  pcStack_f0 = pcVar25;\n  ppppppcStack_ec = ppppppcVar28;\n  pppppppcStack_e8 = pppppppcVar29;\n  ppppppcStack_e4 = ppppppcVar20;\n  iStack_e0 = iVar32;\n  pppppppcStack_dc = pppppppcVar33;\n  iStack_d8 = param_1;\n  pcStack_d4 = pcVar4;\n  pppppppcStack_c8 = param_3;\n  if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }\n  if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }\n  pcVar4 = *(code **)(puStack_130 + -0x7b28);\n  uVar39 = 0xcd9d0;\n  ppppcVar38 = ppppcStack_fc;\n  (*pcVar4)();\n  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);\n  piVar27 = *(int **)(pcVar4 + 0xc3454);\n  pppppcStack_170 = (code *****)0x0;\n  iStack_16c = *piVar27;\n  ppppppcVar21 = ppppppcVar16;\n  pppppppcStack_164 = unaff_s0;\n  puStack_160 = puVar13;\n  piStack_15c = piVar26;\n  ppppppcStack_158 = param_4;\n  pppppppcStack_154 = pppppppcVar29;\n  ppppppcStack_150 = ppppppcVar20;\n  uStack_14c = uVar39;\n  if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }\n  if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }\n  pppppcVar37 = ppppppcStack_178[-0x1eca];\n  pcVar4 = FUN_000cdc54;\n  iVar23 = iStack_16c;\n  (*(code *)pppppcVar37)();\n  ppppcVar8 = pppppcVar37[0x30c74];\n  pppcStack_1b4 = *ppppcVar8;\n  iVar34 = *(int *)(iVar23 + 0x74);\n  piVar26 = *(int **)(iVar23 + 0x14);\n  ppppcStack_1b0 = ppppcVar38;\n  ppppppcStack_1ac = ppppppcVar24;\n  piStack_1a8 = piVar27;\n  ppppppcStack_1a4 = ppppppcVar16;\n  pppppppcStack_1a0 = pppppppcVar29;\n  ppppppcStack_19c = ppppppcVar20;\n  iStack_198 = iVar32;\n  pppppppcStack_194 = pppppppcVar33;\n  ppppppcStack_190 = ppppppcVar28;\n  pcStack_18c = pcVar4;\n  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();\n  iVar32 = *(int *)(iVar23 + 0x28);\n  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);\n  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }\n  ppppppcVar16 = (code ******)&DAT_0000000b;\n  (*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);\nLAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }\n  ppppcVar38 = pppppcVar37[0x30c69];\n  pppcVar6 = pppcStack_1b4;\n  (*(code *)ppppcVar38)();\n  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();\n  ppcVar15 = pppcVar6[0xb];\n  pppcVar6[0xe] = (code **)0x0;\n  pppcVar6[0xf] = ppcVar15;\n  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);\n  if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }\n  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);\n  if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }\n  (*(code *)ppppcVar38[0x30a25])(ppcVar15);\n  return ppppppcVar28;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "code ***pppcVar6;" (type_identifier "code") (pointer_declarator "***pppcVar6" (* "*") (pointer_declarator "**pppcVar6" (* "*") (pointer_declarator "*pppcVar6" (* "*") (identifier "pppcVar6")))) (; ";")) (declaration "code *******pppppppcVar7;" (type_identifier "code") (pointer_declarator "*******pppppppcVar7" (* "*") (pointer_declarator "******pppppppcVar7" (* "*") (pointer_declarator "*****pppppppcVar7" (* "*") (pointer_declarator "****pppppppcVar7" (* "*") (pointer_declarator "***pppppppcVar7" (* "*") (pointer_declarator "**pppppppcVar7" (* "*") (pointer_declarator "*pppppppcVar7" (* "*") (identifier "pppppppcVar7")))))))) (; ";")) (declaration "code ****ppppcVar8;" (type_identifier "code") (pointer_declarator "****ppppcVar8" (* "*") (pointer_declarator "***ppppcVar8" (* "*") (pointer_declarator "**ppppcVar8" (* "*") (pointer_declarator "*ppppcVar8" (* "*") (identifier "ppppcVar8"))))) (; ";")) (declaration "code ****ppppcVar9;" (type_identifier "code") (pointer_declarator "****ppppcVar9" (* "*") (pointer_declarator "***ppppcVar9" (* "*") (pointer_declarator "**ppppcVar9" (* "*") (pointer_declarator "*ppppcVar9" (* "*") (identifier "ppppcVar9"))))) (; ";")) (declaration "code *******extraout_v1;" (type_identifier "code") (pointer_declarator "*******extraout_v1" (* "*") (pointer_declarator "******extraout_v1" (* "*") (pointer_declarator "*****extraout_v1" (* "*") (pointer_declarator "****extraout_v1" (* "*") (pointer_declarator "***extraout_v1" (* "*") (pointer_declarator "**extraout_v1" (* "*") (pointer_declarator "*extraout_v1" (* "*") (identifier "extraout_v1")))))))) (; ";")) (declaration "code *******extraout_v1_00;" (type_identifier "code") (pointer_declarator "*******extraout_v1_00" (* "*") (pointer_declarator "******extraout_v1_00" (* "*") (pointer_declarator "*****extraout_v1_00" (* "*") (pointer_declarator "****extraout_v1_00" (* "*") (pointer_declarator "***extraout_v1_00" (* "*") (pointer_declarator "**extraout_v1_00" (* "*") (pointer_declarator "*extraout_v1_00" (* "*") (identifier "extraout_v1_00")))))))) (; ";")) (declaration "code *******pppppppcVar11;" (type_identifier "code") (pointer_declarator "*******pppppppcVar11" (* "*") (pointer_declarator "******pppppppcVar11" (* "*") (pointer_declarator "*****pppppppcVar11" (* "*") (pointer_declarator "****pppppppcVar11" (* "*") (pointer_declarator "***pppppppcVar11" (* "*") (pointer_declarator "**pppppppcVar11" (* "*") (pointer_declarator "*pppppppcVar11" (* "*") (identifier "pppppppcVar11")))))))) (; ";")) (declaration "code *******pppppppcVar12;" (type_identifier "code") (pointer_declarator "*******pppppppcVar12" (* "*") (pointer_declarator "******pppppppcVar12" (* "*") (pointer_declarator "*****pppppppcVar12" (* "*") (pointer_declarator "****pppppppcVar12" (* "*") (pointer_declarator "***pppppppcVar12" (* "*") (pointer_declarator "**pppppppcVar12" (* "*") (pointer_declarator "*pppppppcVar12" (* "*") (identifier "pppppppcVar12")))))))) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "code **ppcVar15;" (type_identifier "code") (pointer_declarator "**ppcVar15" (* "*") (pointer_declarator "*ppcVar15" (* "*") (identifier "ppcVar15"))) (; ";")) (declaration "code ******ppppppcVar16;" (type_identifier "code") (pointer_declarator "******ppppppcVar16" (* "*") (pointer_declarator "*****ppppppcVar16" (* "*") (pointer_declarator "****ppppppcVar16" (* "*") (pointer_declarator "***ppppppcVar16" (* "*") (pointer_declarator "**ppppppcVar16" (* "*") (pointer_declarator "*ppppppcVar16" (* "*") (identifier "ppppppcVar16"))))))) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (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 "code ******ppppppcVar20;" (type_identifier "code") (pointer_declarator "******ppppppcVar20" (* "*") (pointer_declarator "*****ppppppcVar20" (* "*") (pointer_declarator "****ppppppcVar20" (* "*") (pointer_declarator "***ppppppcVar20" (* "*") (pointer_declarator "**ppppppcVar20" (* "*") (pointer_declarator "*ppppppcVar20" (* "*") (identifier "ppppppcVar20"))))))) (; ";")) (declaration "code ******ppppppcVar21;" (type_identifier "code") (pointer_declarator "******ppppppcVar21" (* "*") (pointer_declarator "*****ppppppcVar21" (* "*") (pointer_declarator "****ppppppcVar21" (* "*") (pointer_declarator "***ppppppcVar21" (* "*") (pointer_declarator "**ppppppcVar21" (* "*") (pointer_declarator "*ppppppcVar21" (* "*") (identifier "ppppppcVar21"))))))) (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "code ******ppppppcVar24;" (type_identifier "code") (pointer_declarator "******ppppppcVar24" (* "*") (pointer_declarator "*****ppppppcVar24" (* "*") (pointer_declarator "****ppppppcVar24" (* "*") (pointer_declarator "***ppppppcVar24" (* "*") (pointer_declarator "**ppppppcVar24" (* "*") (pointer_declarator "*ppppppcVar24" (* "*") (identifier "ppppppcVar24"))))))) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "code ******ppppppcVar28;" (type_identifier "code") (pointer_declarator "******ppppppcVar28" (* "*") (pointer_declarator "*****ppppppcVar28" (* "*") (pointer_declarator "****ppppppcVar28" (* "*") (pointer_declarator "***ppppppcVar28" (* "*") (pointer_declarator "**ppppppcVar28" (* "*") (pointer_declarator "*ppppppcVar28" (* "*") (identifier "ppppppcVar28"))))))) (; ";")) (declaration "code *******pppppppcVar29;" (type_identifier "code") (pointer_declarator "*******pppppppcVar29" (* "*") (pointer_declarator "******pppppppcVar29" (* "*") (pointer_declarator "*****pppppppcVar29" (* "*") (pointer_declarator "****pppppppcVar29" (* "*") (pointer_declarator "***pppppppcVar29" (* "*") (pointer_declarator "**pppppppcVar29" (* "*") (pointer_declarator "*pppppppcVar29" (* "*") (identifier "pppppppcVar29")))))))) (; ";")) (declaration "byte *pbVar30;" (type_identifier "byte") (pointer_declarator "*pbVar30" (* "*") (identifier "pbVar30")) (; ";")) (declaration "byte *pbVar31;" (type_identifier "byte") (pointer_declarator "*pbVar31" (* "*") (identifier "pbVar31")) (; ";")) (declaration "int iVar32;" (primitive_type "int") (identifier "iVar32") (; ";")) (declaration "code *******pppppppcVar33;" (type_identifier "code") (pointer_declarator "*******pppppppcVar33" (* "*") (pointer_declarator "******pppppppcVar33" (* "*") (pointer_declarator "*****pppppppcVar33" (* "*") (pointer_declarator "****pppppppcVar33" (* "*") (pointer_declarator "***pppppppcVar33" (* "*") (pointer_declarator "**pppppppcVar33" (* "*") (pointer_declarator "*pppppppcVar33" (* "*") (identifier "pppppppcVar33")))))))) (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (declaration "code ****ppppcVar35;" (type_identifier "code") (pointer_declarator "****ppppcVar35" (* "*") (pointer_declarator "***ppppcVar35" (* "*") (pointer_declarator "**ppppcVar35" (* "*") (pointer_declarator "*ppppcVar35" (* "*") (identifier "ppppcVar35"))))) (; ";")) (declaration "undefined *puVar36;" (type_identifier "undefined") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "code *****pppppcVar37;" (type_identifier "code") (pointer_declarator "*****pppppcVar37" (* "*") (pointer_declarator "****pppppcVar37" (* "*") (pointer_declarator "***pppppcVar37" (* "*") (pointer_declarator "**pppppcVar37" (* "*") (pointer_declarator "*pppppcVar37" (* "*") (identifier "pppppcVar37")))))) (; ";")) (declaration "code ****ppppcVar38;" (type_identifier "code") (pointer_declarator "****ppppcVar38" (* "*") (pointer_declarator "***ppppcVar38" (* "*") (pointer_declarator "**ppppcVar38" (* "*") (pointer_declarator "*ppppcVar38" (* "*") (identifier "ppppcVar38"))))) (; ";")) (declaration "undefined4 uVar39;" (type_identifier "undefined4") (identifier "uVar39") (; ";")) (declaration "byte *pbVar40;" (type_identifier "byte") (pointer_declarator "*pbVar40" (* "*") (identifier "pbVar40")) (; ";")) (declaration "uint uVar41;" (type_identifier "uint") (identifier "uVar41") (; ";")) (declaration "code ******ppppppcStack_1d8;" (type_identifier "code") (pointer_declarator "******ppppppcStack_1d8" (* "*") (pointer_declarator "*****ppppppcStack_1d8" (* "*") (pointer_declarator "****ppppppcStack_1d8" (* "*") (pointer_declarator "***ppppppcStack_1d8" (* "*") (pointer_declarator "**ppppppcStack_1d8" (* "*") (pointer_declarator "*ppppppcStack_1d8" (* "*") (identifier "ppppppcStack_1d8"))))))) (; ";")) (declaration "int iStack_1bc;" (primitive_type "int") (identifier "iStack_1bc") (; ";")) (declaration "int iStack_1b8;" (primitive_type "int") (identifier "iStack_1b8") (; ";")) (declaration "code ***pppcStack_1b4;" (type_identifier "code") (pointer_declarator "***pppcStack_1b4" (* "*") (pointer_declarator "**pppcStack_1b4" (* "*") (pointer_declarator "*pppcStack_1b4" (* "*") (identifier "pppcStack_1b4")))) (; ";")) (declaration "code ****ppppcStack_1b0;" (type_identifier "code") (pointer_declarator "****ppppcStack_1b0" (* "*") (pointer_declarator "***ppppcStack_1b0" (* "*") (pointer_declarator "**ppppcStack_1b0" (* "*") (pointer_declarator "*ppppcStack_1b0" (* "*") (identifier "ppppcStack_1b0"))))) (; ";")) (declaration "code ******ppppppcStack_1ac;" (type_identifier "code") (pointer_declarator "******ppppppcStack_1ac" (* "*") (pointer_declarator "*****ppppppcStack_1ac" (* "*") (pointer_declarator "****ppppppcStack_1ac" (* "*") (pointer_declarator "***ppppppcStack_1ac" (* "*") (pointer_declarator "**ppppppcStack_1ac" (* "*") (pointer_declarator "*ppppppcStack_1ac" (* "*") (identifier "ppppppcStack_1ac"))))))) (; ";")) (declaration "int *piStack_1a8;" (primitive_type "int") (pointer_declarator "*piStack_1a8" (* "*") (identifier "piStack_1a8")) (; ";")) (declaration "code ******ppppppcStack_1a4;" (type_identifier "code") (pointer_declarator "******ppppppcStack_1a4" (* "*") (pointer_declarator "*****ppppppcStack_1a4" (* "*") (pointer_declarator "****ppppppcStack_1a4" (* "*") (pointer_declarator "***ppppppcStack_1a4" (* "*") (pointer_declarator "**ppppppcStack_1a4" (* "*") (pointer_declarator "*ppppppcStack_1a4" (* "*") (identifier "ppppppcStack_1a4"))))))) (; ";")) (declaration "code *******pppppppcStack_1a0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_1a0" (* "*") (pointer_declarator "******pppppppcStack_1a0" (* "*") (pointer_declarator "*****pppppppcStack_1a0" (* "*") (pointer_declarator "****pppppppcStack_1a0" (* "*") (pointer_declarator "***pppppppcStack_1a0" (* "*") (pointer_declarator "**pppppppcStack_1a0" (* "*") (pointer_declarator "*pppppppcStack_1a0" (* "*") (identifier "pppppppcStack_1a0")))))))) (; ";")) (declaration "code ******ppppppcStack_19c;" (type_identifier "code") (pointer_declarator "******ppppppcStack_19c" (* "*") (pointer_declarator "*****ppppppcStack_19c" (* "*") (pointer_declarator "****ppppppcStack_19c" (* "*") (pointer_declarator "***ppppppcStack_19c" (* "*") (pointer_declarator "**ppppppcStack_19c" (* "*") (pointer_declarator "*ppppppcStack_19c" (* "*") (identifier "ppppppcStack_19c"))))))) (; ";")) (declaration "int iStack_198;" (primitive_type "int") (identifier "iStack_198") (; ";")) (declaration "code *******pppppppcStack_194;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_194" (* "*") (pointer_declarator "******pppppppcStack_194" (* "*") (pointer_declarator "*****pppppppcStack_194" (* "*") (pointer_declarator "****pppppppcStack_194" (* "*") (pointer_declarator "***pppppppcStack_194" (* "*") (pointer_declarator "**pppppppcStack_194" (* "*") (pointer_declarator "*pppppppcStack_194" (* "*") (identifier "pppppppcStack_194")))))))) (; ";")) (declaration "code ******ppppppcStack_190;" (type_identifier "code") (pointer_declarator "******ppppppcStack_190" (* "*") (pointer_declarator "*****ppppppcStack_190" (* "*") (pointer_declarator "****ppppppcStack_190" (* "*") (pointer_declarator "***ppppppcStack_190" (* "*") (pointer_declarator "**ppppppcStack_190" (* "*") (pointer_declarator "*ppppppcStack_190" (* "*") (identifier "ppppppcStack_190"))))))) (; ";")) (declaration "code *pcStack_18c;" (type_identifier "code") (pointer_declarator "*pcStack_18c" (* "*") (identifier "pcStack_18c")) (; ";")) (declaration "code ******ppppppcStack_178;" (type_identifier "code") (pointer_declarator "******ppppppcStack_178" (* "*") (pointer_declarator "*****ppppppcStack_178" (* "*") (pointer_declarator "****ppppppcStack_178" (* "*") (pointer_declarator "***ppppppcStack_178" (* "*") (pointer_declarator "**ppppppcStack_178" (* "*") (pointer_declarator "*ppppppcStack_178" (* "*") (identifier "ppppppcStack_178"))))))) (; ";")) (declaration "code *****pppppcStack_170;" (type_identifier "code") (pointer_declarator "*****pppppcStack_170" (* "*") (pointer_declarator "****pppppcStack_170" (* "*") (pointer_declarator "***pppppcStack_170" (* "*") (pointer_declarator "**pppppcStack_170" (* "*") (pointer_declarator "*pppppcStack_170" (* "*") (identifier "pppppcStack_170")))))) (; ";")) (declaration "int iStack_16c;" (primitive_type "int") (identifier "iStack_16c") (; ";")) (declaration "code *******pppppppcStack_164;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_164" (* "*") (pointer_declarator "******pppppppcStack_164" (* "*") (pointer_declarator "*****pppppppcStack_164" (* "*") (pointer_declarator "****pppppppcStack_164" (* "*") (pointer_declarator "***pppppppcStack_164" (* "*") (pointer_declarator "**pppppppcStack_164" (* "*") (pointer_declarator "*pppppppcStack_164" (* "*") (identifier "pppppppcStack_164")))))))) (; ";")) (declaration "undefined *puStack_160;" (type_identifier "undefined") (pointer_declarator "*puStack_160" (* "*") (identifier "puStack_160")) (; ";")) (declaration "int *piStack_15c;" (primitive_type "int") (pointer_declarator "*piStack_15c" (* "*") (identifier "piStack_15c")) (; ";")) (declaration "code ******ppppppcStack_158;" (type_identifier "code") (pointer_declarator "******ppppppcStack_158" (* "*") (pointer_declarator "*****ppppppcStack_158" (* "*") (pointer_declarator "****ppppppcStack_158" (* "*") (pointer_declarator "***ppppppcStack_158" (* "*") (pointer_declarator "**ppppppcStack_158" (* "*") (pointer_declarator "*ppppppcStack_158" (* "*") (identifier "ppppppcStack_158"))))))) (; ";")) (declaration "code *******pppppppcStack_154;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_154" (* "*") (pointer_declarator "******pppppppcStack_154" (* "*") (pointer_declarator "*****pppppppcStack_154" (* "*") (pointer_declarator "****pppppppcStack_154" (* "*") (pointer_declarator "***pppppppcStack_154" (* "*") (pointer_declarator "**pppppppcStack_154" (* "*") (pointer_declarator "*pppppppcStack_154" (* "*") (identifier "pppppppcStack_154")))))))) (; ";")) (declaration "code ******ppppppcStack_150;" (type_identifier "code") (pointer_declarator "******ppppppcStack_150" (* "*") (pointer_declarator "*****ppppppcStack_150" (* "*") (pointer_declarator "****ppppppcStack_150" (* "*") (pointer_declarator "***ppppppcStack_150" (* "*") (pointer_declarator "**ppppppcStack_150" (* "*") (pointer_declarator "*ppppppcStack_150" (* "*") (identifier "ppppppcStack_150"))))))) (; ";")) (declaration "undefined4 uStack_14c;" (type_identifier "undefined4") (identifier "uStack_14c") (; ";")) (declaration "int iStack_138;" (primitive_type "int") (identifier "iStack_138") (; ";")) (declaration "undefined *puStack_130;" (type_identifier "undefined") (pointer_declarator "*puStack_130" (* "*") (identifier "puStack_130")) (; ";")) (declaration "uint uStack_124;" (type_identifier "uint") (identifier "uStack_124") (; ";")) (declaration "code *****pppppcStack_120;" (type_identifier "code") (pointer_declarator "*****pppppcStack_120" (* "*") (pointer_declarator "****pppppcStack_120" (* "*") (pointer_declarator "***pppppcStack_120" (* "*") (pointer_declarator "**pppppcStack_120" (* "*") (pointer_declarator "*pppppcStack_120" (* "*") (identifier "pppppcStack_120")))))) (; ";")) (declaration "code ******ppppppcStack_11c;" (type_identifier "code") (pointer_declarator "******ppppppcStack_11c" (* "*") (pointer_declarator "*****ppppppcStack_11c" (* "*") (pointer_declarator "****ppppppcStack_11c" (* "*") (pointer_declarator "***ppppppcStack_11c" (* "*") (pointer_declarator "**ppppppcStack_11c" (* "*") (pointer_declarator "*ppppppcStack_11c" (* "*") (identifier "ppppppcStack_11c"))))))) (; ";")) (declaration "code *****apppppcStack_118 [7];" (type_identifier "code") (pointer_declarator "*****apppppcStack_118 [7]" (* "*") (pointer_declarator "****apppppcStack_118 [7]" (* "*") (pointer_declarator "***apppppcStack_118 [7]" (* "*") (pointer_declarator "**apppppcStack_118 [7]" (* "*") (pointer_declarator "*apppppcStack_118 [7]" (* "*") (array_declarator "apppppcStack_118 [7]" (identifier "apppppcStack_118") ([ "[") (number_literal "7") (] "]"))))))) (; ";")) (declaration "code ****ppppcStack_fc;" (type_identifier "code") (pointer_declarator "****ppppcStack_fc" (* "*") (pointer_declarator "***ppppcStack_fc" (* "*") (pointer_declarator "**ppppcStack_fc" (* "*") (pointer_declarator "*ppppcStack_fc" (* "*") (identifier "ppppcStack_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 "undefined *puStack_f4;" (type_identifier "undefined") (pointer_declarator "*puStack_f4" (* "*") (identifier "puStack_f4")) (; ";")) (declaration "code *pcStack_f0;" (type_identifier "code") (pointer_declarator "*pcStack_f0" (* "*") (identifier "pcStack_f0")) (; ";")) (declaration "code ******ppppppcStack_ec;" (type_identifier "code") (pointer_declarator "******ppppppcStack_ec" (* "*") (pointer_declarator "*****ppppppcStack_ec" (* "*") (pointer_declarator "****ppppppcStack_ec" (* "*") (pointer_declarator "***ppppppcStack_ec" (* "*") (pointer_declarator "**ppppppcStack_ec" (* "*") (pointer_declarator "*ppppppcStack_ec" (* "*") (identifier "ppppppcStack_ec"))))))) (; ";")) (declaration "code *******pppppppcStack_e8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_e8" (* "*") (pointer_declarator "******pppppppcStack_e8" (* "*") (pointer_declarator "*****pppppppcStack_e8" (* "*") (pointer_declarator "****pppppppcStack_e8" (* "*") (pointer_declarator "***pppppppcStack_e8" (* "*") (pointer_declarator "**pppppppcStack_e8" (* "*") (pointer_declarator "*pppppppcStack_e8" (* "*") (identifier "pppppppcStack_e8")))))))) (; ";")) (declaration "code ******ppppppcStack_e4;" (type_identifier "code") (pointer_declarator "******ppppppcStack_e4" (* "*") (pointer_declarator "*****ppppppcStack_e4" (* "*") (pointer_declarator "****ppppppcStack_e4" (* "*") (pointer_declarator "***ppppppcStack_e4" (* "*") (pointer_declarator "**ppppppcStack_e4" (* "*") (pointer_declarator "*ppppppcStack_e4" (* "*") (identifier "ppppppcStack_e4"))))))) (; ";")) (declaration "int iStack_e0;" (primitive_type "int") (identifier "iStack_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 "int iStack_d8;" (primitive_type "int") (identifier "iStack_d8") (; ";")) (declaration "code *pcStack_d4;" (type_identifier "code") (pointer_declarator "*pcStack_d4" (* "*") (identifier "pcStack_d4")) (; ";")) (declaration "code *******pppppppcStack_c8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_c8" (* "*") (pointer_declarator "******pppppppcStack_c8" (* "*") (pointer_declarator "*****pppppppcStack_c8" (* "*") (pointer_declarator "****pppppppcStack_c8" (* "*") (pointer_declarator "***pppppppcStack_c8" (* "*") (pointer_declarator "**pppppppcStack_c8" (* "*") (pointer_declarator "*pppppppcStack_c8" (* "*") (identifier "pppppppcStack_c8")))))))) (; ";")) (declaration "code ******local_c0;" (type_identifier "code") (pointer_declarator "******local_c0" (* "*") (pointer_declarator "*****local_c0" (* "*") (pointer_declarator "****local_c0" (* "*") (pointer_declarator "***local_c0" (* "*") (pointer_declarator "**local_c0" (* "*") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0"))))))) (; ";")) (declaration "code ******local_bc;" (type_identifier "code") (pointer_declarator "******local_bc" (* "*") (pointer_declarator "*****local_bc" (* "*") (pointer_declarator "****local_bc" (* "*") (pointer_declarator "***local_bc" (* "*") (pointer_declarator "**local_bc" (* "*") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc"))))))) (; ";")) (declaration "code ******local_b8;" (type_identifier "code") (pointer_declarator "******local_b8" (* "*") (pointer_declarator "*****local_b8" (* "*") (pointer_declarator "****local_b8" (* "*") (pointer_declarator "***local_b8" (* "*") (pointer_declarator "**local_b8" (* "*") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8"))))))) (; ";")) (declaration "ushort local_8e;" (type_identifier "ushort") (identifier "local_8e") (; ";")) (declaration "code ******local_8c;" (type_identifier "code") (pointer_declarator "******local_8c" (* "*") (pointer_declarator "*****local_8c" (* "*") (pointer_declarator "****local_8c" (* "*") (pointer_declarator "***local_8c" (* "*") (pointer_declarator "**local_8c" (* "*") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c"))))))) (; ";")) (declaration "code ******local_88;" (type_identifier "code") (pointer_declarator "******local_88" (* "*") (pointer_declarator "*****local_88" (* "*") (pointer_declarator "****local_88" (* "*") (pointer_declarator "***local_88" (* "*") (pointer_declarator "**local_88" (* "*") (pointer_declarator "*local_88" (* "*") (identifier "local_88"))))))) (; ";")) (declaration "code *******local_84;" (type_identifier "code") (pointer_declarator "*******local_84" (* "*") (pointer_declarator "******local_84" (* "*") (pointer_declarator "*****local_84" (* "*") (pointer_declarator "****local_84" (* "*") (pointer_declarator "***local_84" (* "*") (pointer_declarator "**local_84" (* "*") (pointer_declarator "*local_84" (* "*") (identifier "local_84")))))))) (; ";")) (declaration "code *******local_80;" (type_identifier "code") (pointer_declarator "*******local_80" (* "*") (pointer_declarator "******local_80" (* "*") (pointer_declarator "*****local_80" (* "*") (pointer_declarator "****local_80" (* "*") (pointer_declarator "***local_80" (* "*") (pointer_declarator "**local_80" (* "*") (pointer_declarator "*local_80" (* "*") (identifier "local_80")))))))) (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "code *******local_78;" (type_identifier "code") (pointer_declarator "*******local_78" (* "*") (pointer_declarator "******local_78" (* "*") (pointer_declarator "*****local_78" (* "*") (pointer_declarator "****local_78" (* "*") (pointer_declarator "***local_78" (* "*") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78")))))))) (; ";")) (declaration "code *******local_74;" (type_identifier "code") (pointer_declarator "*******local_74" (* "*") (pointer_declarator "******local_74" (* "*") (pointer_declarator "*****local_74" (* "*") (pointer_declarator "****local_74" (* "*") (pointer_declarator "***local_74" (* "*") (pointer_declarator "**local_74" (* "*") (pointer_declarator "*local_74" (* "*") (identifier "local_74")))))))) (; ";")) (declaration "ushort *local_70;" (type_identifier "ushort") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "code ******local_6c;" (type_identifier "code") (pointer_declarator "******local_6c" (* "*") (pointer_declarator "*****local_6c" (* "*") (pointer_declarator "****local_6c" (* "*") (pointer_declarator "***local_6c" (* "*") (pointer_declarator "**local_6c" (* "*") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c"))))))) (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined1 auStack_3c [4];" (type_identifier "undefined1") (array_declarator "auStack_3c [4]" (identifier "auStack_3c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "char local_38 [12];" (primitive_type "char") (array_declarator "local_38 [12]" (identifier "local_38") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined *local_2c;" (type_identifier "undefined") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar36 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar36 = PTR___stack_chk_guard_00190e24" (identifier "puVar36") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "puVar13 = PTR_LAB_00190ba8;" (assignment_expression "puVar13 = PTR_LAB_00190ba8" (identifier "puVar13") (= "=") (identifier "PTR_LAB_00190ba8")) (; ";")) (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(undefined **)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(undefined **)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(undefined **)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "puVar22 = PTR_LAB_00190bcc + 0x3260;" (assignment_expression "puVar22 = PTR_LAB_00190bcc + 0x3260" (identifier "puVar22") (= "=") (binary_expression "PTR_LAB_00190bcc + 0x3260" (identifier "PTR_LAB_00190bcc") (+ "+") (number_literal "0x3260"))) (; ";")) (expression_statement "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8)" (identifier "pcVar25") (= "=") (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" (( "(") (binary_expression "PTR_LAB_00190b40 + 0xee8" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "0xee8")) () ")")))) (; ";")) (expression_statement "iVar32 = (int)*(char *)(param_1 + 0x44);" (assignment_expression "iVar32 = (int)*(char *)(param_1 + 0x44)" (identifier "iVar32") (= "=") (cast_expression "(int)*(char *)(param_1 + 0x44)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(param_1 + 0x44)" (* "*") (cast_expression "(char *)(param_1 + 0x44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))))) (; ";")) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + 0x74);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + 0x74)" (identifier "pppppppcVar33") (= "=") (pointer_expression "*(code ********)(param_1 + 0x74)" (* "*") (cast_expression "(code ********)(param_1 + 0x74)" (( "(") (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 "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190ba8 + -0x27ec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + -0x27ec)" (( "(") (binary_expression "PTR_LAB_00190ba8 + -0x27ec" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "-0x27ec")) () ")")))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);" (assignment_expression "ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3)" (( "(") (binary_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3" (call_expression "(uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1" (pointer_expression "*(int *)(*(int *)(param_1 + 0x14) + 0x24)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x14) + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x24)" (( "(") (binary_expression "*(int *)(param_1 + 0x14) + 0x24" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x24")) () ")")))) (<< "<<") (number_literal "1")) () ")"))) (/ "/") (number_literal "3")) () ")")))) (; ";")) (do_statement "do {\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  } while (ppppppcVar20 == (code ******)0x0);" (do "do") (compound_statement "{\n    cVar10 = *(char *)(pppppppcVar33 + 3);\n    pppppppcVar7 = param_2;\n    if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }\n    if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;\n    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);\n    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);\n    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);\n    if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }\n    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }\nLAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';\n    (*pcVar25)(ppppppcVar16);\n    cVar10 = *(char *)(param_1 + 0x44) + -1;\n    iVar32 = (int)cVar10;\n    *(char *)(param_1 + 0x44) = cVar10;\n    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);\n    *(code ********)(param_1 + 0x74) = pppppppcVar33;\n  }" ({ "{") (expression_statement "cVar10 = *(char *)(pppppppcVar33 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar33 + 3)" (identifier "cVar10") (= "=") (pointer_expression "*(char *)(pppppppcVar33 + 3)" (* "*") (cast_expression "(char *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" (identifier "pppppppcVar7") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (iVar32 == 0) {\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" (if "if") (parenthesized_expression "(iVar32 == 0)" (( "(") (binary_expression "iVar32 == 0" (identifier "iVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      ppppppcVar20 = (code ******)0x0;\n      if (cVar10 == '\0') break;\n      local_84 = (code *******)0x0;\n      local_80 = (code *******)0x0;\n      ppppppcVar20 = pppppppcVar33[0xd];\n      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);\n      if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }\n      *(code ********)(param_1 + 0x78) = pppppppcVar33;\n      iVar32 = 1;\n      *(undefined2 *)(param_1 + 0x46) = 0;\n      *(undefined1 *)(param_1 + 0x44) = 1;\n      *(undefined2 *)(param_1 + 0x48) = 0;\n      *(code ********)(param_1 + 0x74) = pppppppcVar11;\n      cVar10 = *(char *)(pppppppcVar11 + 3);\n      pppppppcVar7 = param_2;\n      pppppppcVar33 = pppppppcVar11;\n    }" ({ "{") (expression_statement "ppppppcVar20 = (code ******)0x0;" (assignment_expression "ppppppcVar20 = (code ******)0x0" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar10 == '\0') break;" (if "if") (parenthesized_expression "(cVar10 == '\0')" (( "(") (binary_expression "cVar10 == '\0'" (identifier "cVar10") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_84 = (code *******)0x0;" (assignment_expression "local_84 = (code *******)0x0" (identifier "local_84") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (code *******)0x0;" (assignment_expression "local_80 = (code *******)0x0" (identifier "local_80") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar20 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar20 = pppppppcVar33[0xd]" (identifier "ppppppcVar20") (= "=") (subscript_expression "pppppppcVar33[0xd]" (identifier "pppppppcVar33") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);" (assignment_expression "local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12])" (identifier "local_88") (= "=") (cast_expression "(code ******)FUN_000c3260(pppppppcVar33[0x12])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c3260(pppppppcVar33[0x12])" (identifier "FUN_000c3260") (argument_list "(pppppppcVar33[0x12])" (( "(") (subscript_expression "pppppppcVar33[0x12]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x12") (] "]")) () ")"))))) (; ";")) (if_statement "if (local_88 == (code ******)0x0) {\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }\n      else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" (if "if") (parenthesized_expression "(local_88 == (code ******)0x0)" (( "(") (binary_expression "local_88 == (code ******)0x0" (identifier "local_88") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        param_3 = (code *******)&local_80;\n        param_4 = pppppppcVar33[1];\n        param_2 = (code *******)&local_84;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar20);\n        if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }\n        param_3 = &local_88;\n        param_2 = local_84;\n        FUN_000c969c(pppppppcVar33);\n        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }\n        unaff_s0 = local_84;\n        if (local_88 != (code ******)0x0) goto LAB_000cd060;\n        (*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);\n        (*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);\n        puVar3 = PTR_LAB_00190bdc;\n        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);\n        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);\n        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);\n        param_4 = (code ******)((uint)local_80 >> 0x18);\n        param_3 = (code *******)((uint)local_80 >> 0x10);\n        param_2 = (code *******)((uint)local_80 >> 8);\n        *puVar5 = (char)((uint)local_80 >> 0x18);\n        puVar5[1] = (char)((uint)local_80 >> 0x10);\n        puVar5[2] = (char)((uint)local_80 >> 8);\n        puVar5[3] = (char)local_80;\n        *(code ********)(param_1 + 0x7c) = local_84;\n        pppppppcVar11 = local_84;\n      }" ({ "{") (expression_statement "param_3 = (code *******)&local_80;" (assignment_expression "param_3 = (code *******)&local_80" (identifier "param_3") (= "=") (cast_expression "(code *******)&local_80" (( "(") (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_80" (& "&") (identifier "local_80")))) (; ";")) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" (identifier "param_4") (= "=") (subscript_expression "pppppppcVar33[1]" (identifier "pppppppcVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_2 = (code *******)&local_84;" (assignment_expression "param_2 = (code *******)&local_84" (identifier "param_2") (= "=") (cast_expression "(code *******)&local_84" (( "(") (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_84" (& "&") (identifier "local_84")))) (; ";")) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" (identifier "local_c0") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar20);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar20)" (identifier "local_88") (= "=") (cast_expression "(code ******)FUN_000c8684(ppppppcVar20)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c8684(ppppppcVar20)" (identifier "FUN_000c8684") (argument_list "(ppppppcVar20)" (( "(") (identifier "ppppppcVar20") () ")"))))) (; ";")) (if_statement "if (local_88 != (code ******)0x0) {\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" (if "if") (parenthesized_expression "(local_88 != (code ******)0x0)" (( "(") (binary_expression "local_88 != (code ******)0x0" (identifier "local_88") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;\n          goto LAB_000cd060;\n        }" ({ "{") (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;" (if "if") (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" (( "(") (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" (* "*") (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar20 + 0x11)" (( "(") (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar20")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000cd368;" (goto "goto") (statement_identifier "LAB_000cd368") (; ";"))) (goto_statement "goto LAB_000cd060;" (goto "goto") (statement_identifier "LAB_000cd060") (; ";")) (} "}"))) (expression_statement "param_3 = &local_88;" (assignment_expression "param_3 = &local_88" (identifier "param_3") (= "=") (pointer_expression "&local_88" (& "&") (identifier "local_88"))) (; ";")) (expression_statement "param_2 = local_84;" (assignment_expression "param_2 = local_84" (identifier "param_2") (= "=") (identifier "local_84")) (; ";")) (expression_statement "FUN_000c969c(pppppppcVar33);" (call_expression "FUN_000c969c(pppppppcVar33)" (identifier "FUN_000c969c") (argument_list "(pppppppcVar33)" (( "(") (identifier "pppppppcVar33") () ")"))) (; ";")) (if_statement "if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" (if "if") (parenthesized_expression "(*(char *)((int)ppppppcVar20 + 0x11) != '\0')" (( "(") (binary_expression "*(char *)((int)ppppppcVar20 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar20 + 0x11)" (* "*") (cast_expression "(char *)((int)ppppppcVar20 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar20 + 0x11)" (( "(") (binary_expression "(int)ppppppcVar20 + 0x11" (cast_expression "(int)ppppppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar20")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000cd368:\n          local_c0 = (code ******)&local_88;\n          param_3 = (code *******)&DAT_00000005;\n          param_4 = pppppppcVar33[1];\n          param_2 = local_80;\n          FUN_000c9144(ppppppcVar20);\n        }" ({ "{") (labeled_statement "LAB_000cd368:\n          local_c0 = (code ******)&local_88;" (statement_identifier "LAB_000cd368") (: ":") (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" (identifier "local_c0") (= "=") (cast_expression "(code ******)&local_88" (( "(") (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 "&local_88" (& "&") (identifier "local_88")))) (; ";"))) (expression_statement "param_3 = (code *******)&DAT_00000005;" (assignment_expression "param_3 = (code *******)&DAT_00000005" (identifier "param_3") (= "=") (cast_expression "(code *******)&DAT_00000005" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005")))) (; ";")) (expression_statement "param_4 = pppppppcVar33[1];" (assignment_expression "param_4 = pppppppcVar33[1]" (identifier "param_4") (= "=") (subscript_expression "pppppppcVar33[1]" (identifier "pppppppcVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_2 = local_80;" (assignment_expression "param_2 = local_80" (identifier "param_2") (= "=") (identifier "local_80")) (; ";")) (expression_statement "FUN_000c9144(ppppppcVar20);" (call_expression "FUN_000c9144(ppppppcVar20)" (identifier "FUN_000c9144") (argument_list "(ppppppcVar20)" (( "(") (identifier "ppppppcVar20") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" (identifier "unaff_s0") (= "=") (identifier "local_84")) (; ";")) (if_statement "if (local_88 != (code ******)0x0) goto LAB_000cd060;" (if "if") (parenthesized_expression "(local_88 != (code ******)0x0)" (( "(") (binary_expression "local_88 != (code ******)0x0" (identifier "local_88") (!= "!=") (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_000cd060;" (goto "goto") (statement_identifier "LAB_000cd060") (; ";"))) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00190e2c" (* "*") (cast_expression "(code *)PTR_memcpy_00190e2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00190e2c"))) () ")")) (argument_list "((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),\n                   (uint)*(byte *)(pppppppcVar33 + 3) << 1)" (( "(") (cast_expression "(char *)((int)local_84 + 0x1a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_84 + 0x1a)" (( "(") (binary_expression "(int)local_84 + 0x1a" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "0x1a")) () ")"))) (, ",") (cast_expression "(char *)((int)pppppppcVar33 + 0x1a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" (( "(") (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "0x1a")) () ")"))) (, ",") (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 1" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")")))) (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);" (call_expression "(*(code *)PTR_memcpy_00190e2c)\n                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" (parenthesized_expression "(*(code *)PTR_memcpy_00190e2c)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00190e2c" (* "*") (cast_expression "(code *)PTR_memcpy_00190e2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00190e2c"))) () ")")) (argument_list "(unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2)" (( "(") (binary_expression "unaff_s0 + 9" (identifier "unaff_s0") (+ "+") (number_literal "9")) (, ",") (binary_expression "pppppppcVar33 + 9" (identifier "pppppppcVar33") (+ "+") (number_literal "9")) (, ",") (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3) << 2" (binary_expression "(uint)*(byte *)(pppppppcVar33 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")")))) (<< "<<") (number_literal "2")) () ")"))) (; ";")) (expression_statement "puVar3 = PTR_LAB_00190bdc;" (assignment_expression "puVar3 = PTR_LAB_00190bdc" (identifier "puVar3") (= "=") (identifier "PTR_LAB_00190bdc")) (; ";")) (expression_statement "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);" (assignment_expression "*(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3)" (pointer_expression "*(char *)(unaff_s0 + 3)" (* "*") (cast_expression "(char *)(unaff_s0 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 3)" (( "(") (binary_expression "unaff_s0 + 3" (identifier "unaff_s0") (+ "+") (number_literal "3")) () ")")))) (= "=") (pointer_expression "*(char *)(pppppppcVar33 + 3)" (* "*") (cast_expression "(char *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);" (call_expression "(*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" (parenthesized_expression "(*(code *)(puVar3 + -0x3030))" (( "(") (pointer_expression "*(code *)(puVar3 + -0x3030)" (* "*") (cast_expression "(code *)(puVar3 + -0x3030)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + -0x3030)" (( "(") (binary_expression "puVar3 + -0x3030" (identifier "puVar3") (+ "+") (number_literal "-0x3030")) () ")")))) () ")")) (argument_list "(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7)" (( "(") (identifier "pppppppcVar33") (, ",") (binary_expression "*(byte *)unaff_s0[0xe] & 0xf7" (pointer_expression "*(byte *)unaff_s0[0xe]" (* "*") (cast_expression "(byte *)unaff_s0[0xe]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "unaff_s0[0xe]" (identifier "unaff_s0") ([ "[") (number_literal "0xe") (] "]")))) (& "&") (number_literal "0xf7")) () ")"))) (; ";")) (expression_statement "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8)" (( "(") (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8" (binary_expression "(int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9)" (cast_expression "(int)pppppppcVar33[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar33[0xe]" (identifier "pppppppcVar33") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (pointer_expression "*(byte *)((int)pppppppcVar33 + 9)" (* "*") (cast_expression "(byte *)((int)pppppppcVar33 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 9)" (( "(") (binary_expression "(int)pppppppcVar33 + 9" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "9")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_4 = (code ******)((uint)local_80 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_80 >> 0x18)" (identifier "param_4") (= "=") (cast_expression "(code ******)((uint)local_80 >> 0x18)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)local_80 >> 0x18)" (( "(") (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "param_3 = (code *******)((uint)local_80 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_80 >> 0x10)" (identifier "param_3") (= "=") (cast_expression "(code *******)((uint)local_80 >> 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)local_80 >> 0x10)" (( "(") (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)((uint)local_80 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_80 >> 8)" (identifier "param_2") (= "=") (cast_expression "(code *******)((uint)local_80 >> 8)" (( "(") (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)local_80 >> 8)" (( "(") (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*puVar5 = (char)((uint)local_80 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_80 >> 0x18)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(char)((uint)local_80 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_80 >> 0x18)" (( "(") (binary_expression "(uint)local_80 >> 0x18" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "puVar5[1] = (char)((uint)local_80 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_80 >> 0x10)" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)((uint)local_80 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_80 >> 0x10)" (( "(") (binary_expression "(uint)local_80 >> 0x10" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "puVar5[2] = (char)((uint)local_80 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_80 >> 8)" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)((uint)local_80 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_80 >> 8)" (( "(") (binary_expression "(uint)local_80 >> 8" (cast_expression "(uint)local_80" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_80")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar5[3] = (char)local_80;" (assignment_expression "puVar5[3] = (char)local_80" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)local_80" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_80"))) (; ";")) (expression_statement "*(code ********)(param_1 + 0x7c) = local_84;" (assignment_expression "*(code ********)(param_1 + 0x7c) = local_84" (pointer_expression "*(code ********)(param_1 + 0x7c)" (* "*") (cast_expression "(code ********)(param_1 + 0x7c)" (( "(") (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 "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "pppppppcVar11 = local_84;" (assignment_expression "pppppppcVar11 = local_84" (identifier "pppppppcVar11") (= "=") (identifier "local_84")) (; ";")) (} "}")) (else_clause "else {\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" (else "else") (compound_statement "{\nLAB_000cd060:\n        unaff_s0 = local_84;\n        *(undefined4 *)(param_1 + 0x7c) = 0;\n        ppppppcVar20 = local_88;\n        if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;\n        pppppppcVar11 = *(code ********)(param_1 + 0x7c);\n      }" ({ "{") (labeled_statement "LAB_000cd060:\n        unaff_s0 = local_84;" (statement_identifier "LAB_000cd060") (: ":") (expression_statement "unaff_s0 = local_84;" (assignment_expression "unaff_s0 = local_84" (identifier "unaff_s0") (= "=") (identifier "local_84")) (; ";"))) (expression_statement "*(undefined4 *)(param_1 + 0x7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" (identifier "ppppppcVar20") (= "=") (identifier "local_88")) (; ";")) (if_statement "if ((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))\n        break;" (if "if") (parenthesized_expression "((local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))" (( "(") (binary_expression "(local_84 == (code *******)0x0) ||\n           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" (parenthesized_expression "(local_84 == (code *******)0x0)" (( "(") (binary_expression "local_84 == (code *******)0x0" (identifier "local_84") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0)" (( "(") (comma_expression "(*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0" (call_expression "(*pcVar25)(local_84[0x12])" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(local_84[0x12])" (( "(") (subscript_expression "local_84[0x12]" (identifier "local_84") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (, ",") (comma_expression "ppppppcVar20 = local_88, local_88 != (code ******)0x0" (assignment_expression "ppppppcVar20 = local_88" (identifier "ppppppcVar20") (= "=") (identifier "local_88")) (, ",") (binary_expression "local_88 != (code ******)0x0" (identifier "local_88") (!= "!=") (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"))))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppppcVar11 = *(code ********)(param_1 + 0x7c);" (assignment_expression "pppppppcVar11 = *(code ********)(param_1 + 0x7c)" (identifier "pppppppcVar11") (= "=") (pointer_expression "*(code ********)(param_1 + 0x7c)" (* "*") (cast_expression "(code ********)(param_1 + 0x7c)" (( "(") (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 "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(code ********)(param_1 + 0x78) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x78) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x78)" (* "*") (cast_expression "(code ********)(param_1 + 0x78)" (( "(") (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 "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (identifier "pppppppcVar33")) (; ";")) (expression_statement "iVar32 = 1;" (assignment_expression "iVar32 = 1" (identifier "iVar32") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined2 *)(param_1 + 0x46) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x46) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x46)" (* "*") (cast_expression "(undefined2 *)(param_1 + 0x46)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x46)" (( "(") (binary_expression "param_1 + 0x46" (identifier "param_1") (+ "+") (number_literal "0x46")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x44) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x44) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x44)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x44)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined2 *)(param_1 + 0x48) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x48) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x48)" (* "*") (cast_expression "(undefined2 *)(param_1 + 0x48)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar11;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar11" (pointer_expression "*(code ********)(param_1 + 0x74)" (* "*") (cast_expression "(code ********)(param_1 + 0x74)" (( "(") (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 "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (identifier "pppppppcVar11")) (; ";")) (expression_statement "cVar10 = *(char *)(pppppppcVar11 + 3);" (assignment_expression "cVar10 = *(char *)(pppppppcVar11 + 3)" (identifier "cVar10") (= "=") (pointer_expression "*(char *)(pppppppcVar11 + 3)" (* "*") (cast_expression "(char *)(pppppppcVar11 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar11 + 3)" (( "(") (binary_expression "pppppppcVar11 + 3" (identifier "pppppppcVar11") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "pppppppcVar7 = param_2;" (assignment_expression "pppppppcVar7 = param_2" (identifier "pppppppcVar7") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppppcVar33 = pppppppcVar11;" (assignment_expression "pppppppcVar33 = pppppppcVar11" (identifier "pppppppcVar33") (= "=") (identifier "pppppppcVar11")) (; ";")) (} "}"))) (if_statement "if ((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;" (if "if") (parenthesized_expression "((cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28))" (( "(") (binary_expression "(cVar10 == '\0') &&\n       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" (parenthesized_expression "(cVar10 == '\0')" (( "(") (binary_expression "cVar10 == '\0'" (identifier "cVar10") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)" (( "(") (comma_expression "param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "param_2 = pppppppcVar7" (identifier "param_2") (= "=") (identifier "pppppppcVar7")) (, ",") (comma_expression "ppppppcVar20 = (code ******)0x0,\n       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (assignment_expression "ppppppcVar20 = (code ******)0x0" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28" (binary_expression "(code ******)(uint)*(ushort *)(pppppppcVar33 + 5)" (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 "(ushort *)(pppppppcVar33 + 5)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 5)" (( "(") (binary_expression "pppppppcVar33 + 5" (identifier "pppppppcVar33") (+ "+") (number_literal "5")) () ")")))) (<= "<=") (identifier "ppppppcVar28")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);" (assignment_expression "unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4)" (identifier "unaff_s0") (= "=") (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1d) * 4)" (* "*") (cast_expression "(code ********)(param_1 + (iVar32 + 0x1d) * 4)" (( "(") (type_descriptor "code ********" (type_identifier "code") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + (iVar32 + 0x1d) * 4)" (( "(") (binary_expression "param_1 + (iVar32 + 0x1d) * 4" (identifier "param_1") (+ "+") (binary_expression "(iVar32 + 0x1d) * 4" (parenthesized_expression "(iVar32 + 0x1d)" (( "(") (binary_expression "iVar32 + 0x1d" (identifier "iVar32") (+ "+") (number_literal "0x1d")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);" (assignment_expression "param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" (identifier "param_2") (= "=") (binary_expression "(code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2)" (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 *)(param_1 + (iVar32 + 0x23) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + (iVar32 + 0x23) * 2)" (( "(") (binary_expression "param_1 + (iVar32 + 0x23) * 2" (identifier "param_1") (+ "+") (binary_expression "(iVar32 + 0x23) * 2" (parenthesized_expression "(iVar32 + 0x23)" (( "(") (binary_expression "iVar32 + 0x23" (identifier "iVar32") (+ "+") (number_literal "0x23")) () ")")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (expression_statement "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12])" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)FUN_000c3260(unaff_s0[0x12])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c3260(unaff_s0[0x12])" (identifier "FUN_000c3260") (argument_list "(unaff_s0[0x12])" (( "(") (subscript_expression "unaff_s0[0x12]" (identifier "unaff_s0") ([ "[") (number_literal "0x12") (] "]")) () ")"))))) (; ";")) (if_statement "if (ppppppcVar20 != (code ******)0x0) {\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" (if "if") (parenthesized_expression "(ppppppcVar20 != (code ******)0x0)" (( "(") (binary_expression "ppppppcVar20 != (code ******)0x0" (identifier "ppppppcVar20") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n      *(char *)(pppppppcVar33 + 3) = '\0';\n      (*pcVar4)(pppppppcVar33[0x12]);\n      cVar10 = *(char *)(param_1 + 0x44) + -1;\n      *(char *)(param_1 + 0x44) = cVar10;\n      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);\n      param_2 = pppppppcVar7;\n      break;\n    }" ({ "{") (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" (( "(") (binary_expression "PTR_LAB_00190b40 + 0xee8" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "0xee8")) () ")")))) (; ";")) (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" (* "*") (cast_expression "(char *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")")))) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "(*pcVar4)(pppppppcVar33[0x12]);" (call_expression "(*pcVar4)(pppppppcVar33[0x12])" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(pppppppcVar33[0x12])" (( "(") (subscript_expression "pppppppcVar33[0x12]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" (identifier "cVar10") (= "=") (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" (* "*") (cast_expression "(char *)(param_1 + 0x44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" (* "*") (cast_expression "(char *)(param_1 + 0x44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (identifier "cVar10")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);" (assignment_expression "*(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" (pointer_expression "*(undefined4 *)(param_1 + 0x74)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + (cVar10 + 0x1e) * 4)" (( "(") (binary_expression "param_1 + (cVar10 + 0x1e) * 4" (identifier "param_1") (+ "+") (binary_expression "(cVar10 + 0x1e) * 4" (parenthesized_expression "(cVar10 + 0x1e)" (( "(") (binary_expression "cVar10 + 0x1e" (identifier "cVar10") (+ "+") (number_literal "0x1e")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "param_2 = pppppppcVar7;" (assignment_expression "param_2 = pppppppcVar7" (identifier "param_2") (= "=") (identifier "pppppppcVar7")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }\n    else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" (if "if") (parenthesized_expression "((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))))" (( "(") (binary_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||\n       ((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" (parenthesized_expression "(((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)))" (( "(") (binary_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||\n        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" (parenthesized_expression "((*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1))" (( "(") (binary_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0') ||\n         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" (parenthesized_expression "(*(char *)((int)pppppppcVar33 + 3) == '\0')" (( "(") (binary_expression "*(char *)((int)pppppppcVar33 + 3) == '\0'" (pointer_expression "*(char *)((int)pppppppcVar33 + 3)" (* "*") (cast_expression "(char *)((int)pppppppcVar33 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 3)" (( "(") (binary_expression "(int)pppppppcVar33 + 3" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)" (( "(") (comma_expression "bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1" (assignment_expression "bVar1 = *(byte *)(pppppppcVar33 + 3)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(pppppppcVar33 + 3)" (* "*") (cast_expression "(byte *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")"))))) (, ",") (binary_expression "bVar1 != 1" (identifier "bVar1") (!= "!=") (number_literal "1"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))" (( "(") (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16)" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" (* "*") (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" (( "(") (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "0x1a")) () ")")))) (!= "!=") (pointer_expression "*(short *)((int)pppppppcVar33 + 0x16)" (* "*") (cast_expression "(short *)((int)pppppppcVar33 + 0x16)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 0x16)" (( "(") (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "0x16")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))" (( "(") (parenthesized_expression "(unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2))" (( "(") (binary_expression "unaff_s0[1] == (code ******)0x1 ||\n        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" (binary_expression "unaff_s0[1] == (code ******)0x1" (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]")) (== "==") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (|| "||") (parenthesized_expression "((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)" (( "(") (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2" (binary_expression "(code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16)" (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 *)((int)unaff_s0 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 0x16)" (( "(") (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "0x16")) () ")")))) (!= "!=") (identifier "param_2")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));\n      param_4 = (code ******)(uint)(iVar32 == 1);\n      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);\n      param_3 = pppppppcVar7;\n      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);\n      if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }\nLAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];\n      pppppppcVar29 = pppppppcVar7;\n    }" ({ "{") (expression_statement "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));" (assignment_expression "pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (( "(") (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 "(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x14) + 0x20)" (( "(") (binary_expression "*(int *)(param_1 + 0x14) + 0x20" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) () ")"))))) (; ";")) (expression_statement "param_4 = (code ******)(uint)(iVar32 == 1);" (assignment_expression "param_4 = (code ******)(uint)(iVar32 == 1)" (identifier "param_4") (= "=") (cast_expression "(code ******)(uint)(iVar32 == 1)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(uint)(iVar32 == 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar32 == 1)" (( "(") (binary_expression "iVar32 == 1" (identifier "iVar32") (== "==") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);" (assignment_expression "local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1)" (identifier "local_c0") (= "=") (cast_expression "(code ******)(*(byte *)(param_1 + 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 "*" (* "*")))))))) () ")") (parenthesized_expression "(*(byte *)(param_1 + 3) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 3) & 1" (pointer_expression "*(byte *)(param_1 + 3)" (* "*") (cast_expression "(byte *)(param_1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_3 = pppppppcVar7;" (assignment_expression "param_3 = pppppppcVar7" (identifier "param_3") (= "=") (identifier "pppppppcVar7")) (; ";")) (expression_statement "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);" (assignment_expression "ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0)" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)FUN_000cb308(unaff_s0)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000cb308(unaff_s0)" (identifier "FUN_000cb308") (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))))) (; ";")) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" (if "if") (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);\n      }" ({ "{") (expression_statement "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(puVar13 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(puVar13 + 0x4e2c))" (( "(") (pointer_expression "*(code *)(puVar13 + 0x4e2c)" (* "*") (cast_expression "(code *)(puVar13 + 0x4e2c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x4e2c)" (( "(") (binary_expression "puVar13 + 0x4e2c" (identifier "puVar13") (+ "+") (number_literal "0x4e2c")) () ")")))) () ")")) (argument_list "(pppppppcVar29)" (( "(") (identifier "pppppppcVar29") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000cd308:\n      ppppppcVar16 = pppppppcVar33[0x12];" (statement_identifier "LAB_000cd308") (: ":") (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" (identifier "ppppppcVar16") (= "=") (subscript_expression "pppppppcVar33[0x12]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x12") (] "]"))) (; ";"))) (expression_statement "pppppppcVar29 = pppppppcVar7;" (assignment_expression "pppppppcVar29 = pppppppcVar7" (identifier "pppppppcVar29") (= "=") (identifier "pppppppcVar7")) (; ";")) (} "}")) (else_clause "else {\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" (else "else") (compound_statement "{\n      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }\n      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);\n      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);\n      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);\n      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);\n      ppppppcVar20 = (code ******)&DAT_0000000b;\n      (*(code *)PTR_sqlite3_log_00190be0)(0xb);\n      ppppppcVar16 = pppppppcVar33[0x12];\n    }" ({ "{") (if_statement "if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" (if "if") (parenthesized_expression "(*(short *)((int)pppppppcVar33 + 0x1a) != 0)" (( "(") (binary_expression "*(short *)((int)pppppppcVar33 + 0x1a) != 0" (pointer_expression "*(short *)((int)pppppppcVar33 + 0x1a)" (* "*") (cast_expression "(short *)((int)pppppppcVar33 + 0x1a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 0x1a)" (( "(") (binary_expression "(int)pppppppcVar33 + 0x1a" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "0x1a")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        param_4 = (code ******)0x0;\n        ppppppcVar16 = pppppppcVar33[0xd];\n        param_3 = (code *******)&local_84;\n        param_2 = &local_8c;\n        local_c0 = (code ******)0x0;\n        local_88 = (code ******)FUN_000c8684(ppppppcVar16);\n        pppppppcVar7 = pppppppcVar29;\n        ppppppcVar20 = local_88;\n        if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }\n        goto LAB_000cd308;\n      }" ({ "{") (expression_statement "param_4 = (code ******)0x0;" (assignment_expression "param_4 = (code ******)0x0" (identifier "param_4") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar16 = pppppppcVar33[0xd];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0xd]" (identifier "ppppppcVar16") (= "=") (subscript_expression "pppppppcVar33[0xd]" (identifier "pppppppcVar33") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "param_3 = (code *******)&local_84;" (assignment_expression "param_3 = (code *******)&local_84" (identifier "param_3") (= "=") (cast_expression "(code *******)&local_84" (( "(") (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_84" (& "&") (identifier "local_84")))) (; ";")) (expression_statement "param_2 = &local_8c;" (assignment_expression "param_2 = &local_8c" (identifier "param_2") (= "=") (pointer_expression "&local_8c" (& "&") (identifier "local_8c"))) (; ";")) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" (identifier "local_c0") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_88 = (code ******)FUN_000c8684(ppppppcVar16);" (assignment_expression "local_88 = (code ******)FUN_000c8684(ppppppcVar16)" (identifier "local_88") (= "=") (cast_expression "(code ******)FUN_000c8684(ppppppcVar16)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c8684(ppppppcVar16)" (identifier "FUN_000c8684") (argument_list "(ppppppcVar16)" (( "(") (identifier "ppppppcVar16") () ")"))))) (; ";")) (expression_statement "pppppppcVar7 = pppppppcVar29;" (assignment_expression "pppppppcVar7 = pppppppcVar29" (identifier "pppppppcVar7") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" (identifier "ppppppcVar20") (= "=") (identifier "local_88")) (; ";")) (if_statement "if (local_88 == (code ******)0x0) {\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" (if "if") (parenthesized_expression "(local_88 == (code ******)0x0)" (( "(") (binary_expression "local_88 == (code ******)0x0" (identifier "local_88") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_80 = (code *******)pppppppcVar33[9];\n          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);\n          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);\n          param_3 = (code *******)0x1;\n          param_2 = (code *******)0x0;\n          local_6c = pppppppcVar33[0xf];\n          local_74 = (code *******)&local_80;\n          local_70 = &local_8e;\n          local_54 = 2;\n          param_4 = local_8c;\n          local_7c = (uint)bVar1;\n          local_78 = pppppppcVar33;\n          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);\n          local_88 = ppppppcVar20;\n          if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }\n          (*pcVar25)(local_8c[0x12]);\n          ppppppcVar20 = local_88;\n        }" ({ "{") (expression_statement "local_80 = (code *******)pppppppcVar33[9];" (assignment_expression "local_80 = (code *******)pppppppcVar33[9]" (identifier "local_80") (= "=") (cast_expression "(code *******)pppppppcVar33[9]" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppcVar33[9]" (identifier "pppppppcVar33") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);" (assignment_expression "local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33)" (identifier "local_8e") (= "=") (call_expression "(*(code *)pppppppcVar33[0x13])(pppppppcVar33)" (parenthesized_expression "(*(code *)pppppppcVar33[0x13])" (( "(") (pointer_expression "*(code *)pppppppcVar33[0x13]" (* "*") (cast_expression "(code *)pppppppcVar33[0x13]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppppcVar33[0x13]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x13") (] "]")))) () ")")) (argument_list "(pppppppcVar33)" (( "(") (identifier "pppppppcVar33") () ")")))) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);" (call_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0x3030))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0x3030)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bdc + -0x3030)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + -0x3030)" (( "(") (binary_expression "PTR_LAB_00190bdc + -0x3030" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "-0x3030")) () ")")))) () ")")) (argument_list "(local_8c,0xd)" (( "(") (identifier "local_8c") (, ",") (number_literal "0xd") () ")"))) (; ";")) (expression_statement "param_3 = (code *******)0x1;" (assignment_expression "param_3 = (code *******)0x1" (identifier "param_3") (= "=") (cast_expression "(code *******)0x1" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "param_2 = (code *******)0x0;" (assignment_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"))) (; ";")) (expression_statement "local_6c = pppppppcVar33[0xf];" (assignment_expression "local_6c = pppppppcVar33[0xf]" (identifier "local_6c") (= "=") (subscript_expression "pppppppcVar33[0xf]" (identifier "pppppppcVar33") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "local_74 = (code *******)&local_80;" (assignment_expression "local_74 = (code *******)&local_80" (identifier "local_74") (= "=") (cast_expression "(code *******)&local_80" (( "(") (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_80" (& "&") (identifier "local_80")))) (; ";")) (expression_statement "local_70 = &local_8e;" (assignment_expression "local_70 = &local_8e" (identifier "local_70") (= "=") (pointer_expression "&local_8e" (& "&") (identifier "local_8e"))) (; ";")) (expression_statement "local_54 = 2;" (assignment_expression "local_54 = 2" (identifier "local_54") (= "=") (number_literal "2")) (; ";")) (expression_statement "param_4 = local_8c;" (assignment_expression "param_4 = local_8c" (identifier "param_4") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_7c = (uint)bVar1;" (assignment_expression "local_7c = (uint)bVar1" (identifier "local_7c") (= "=") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (; ";")) (expression_statement "local_78 = pppppppcVar33;" (assignment_expression "local_78 = pppppppcVar33" (identifier "local_78") (= "=") (identifier "pppppppcVar33")) (; ";")) (expression_statement "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);" (assignment_expression "ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bdc + -0xf50))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bdc + -0xf50)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bdc + -0xf50)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bdc + -0xf50)" (( "(") (binary_expression "PTR_LAB_00190bdc + -0xf50" (identifier "PTR_LAB_00190bdc") (+ "+") (number_literal "-0xf50")) () ")")))) () ")")) (argument_list "(&local_7c)" (( "(") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")) () ")"))))) (; ";")) (expression_statement "local_88 = ppppppcVar20;" (assignment_expression "local_88 = ppppppcVar20" (identifier "local_88") (= "=") (identifier "ppppppcVar20")) (; ";")) (if_statement "if (ppppppcVar20 == (code ******)0x0) {\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }\n          else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" (if "if") (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar20 == (code ******)0x0" (identifier "ppppppcVar20") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];\n            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }\n            pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));\n            pppppppcVar29 = pppppppcVar11;\n            do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);\n            pcVar18 = local_38;\n            do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));\n            if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);\n            param_4 = (code ******)((uint)local_84 >> 0x18);\n            param_3 = (code *******)((uint)local_84 >> 0x10);\n            param_2 = (code *******)((uint)local_84 >> 8);\n            *puVar5 = (char)((uint)local_84 >> 0x18);\n            puVar5[1] = (char)((uint)local_84 >> 0x10);\n            puVar5[2] = (char)((uint)local_84 >> 8);\n            puVar5[3] = (char)local_84;\n            ppppppcVar20 = local_88;\n            if (local_8c == (code ******)0x0) goto LAB_000cd308;\n          }" ({ "{") (expression_statement "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];" (assignment_expression "*(ushort *)(local_8c + 5) =\n                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (pointer_expression "*(ushort *)(local_8c + 5)" (* "*") (cast_expression "(ushort *)(local_8c + 5)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_8c + 5)" (( "(") (binary_expression "local_8c + 5" (identifier "local_8c") (+ "+") (number_literal "5")) () ")")))) (= "=") (binary_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9]" (parenthesized_expression "((-2 - local_8e) - *(short *)((int)local_8c + 0x12))" (( "(") (binary_expression "(-2 - local_8e) - *(short *)((int)local_8c + 0x12)" (parenthesized_expression "(-2 - local_8e)" (( "(") (binary_expression "-2 - local_8e" (number_literal "-2") (- "-") (identifier "local_8e")) () ")")) (- "-") (pointer_expression "*(short *)((int)local_8c + 0x12)" (* "*") (cast_expression "(short *)((int)local_8c + 0x12)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_8c + 0x12)" (( "(") (binary_expression "(int)local_8c + 0x12" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (+ "+") (number_literal "0x12")) () ")"))))) () ")")) (+ "+") (cast_expression "(short)ppppppcVar16[9]" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (subscript_expression "ppppppcVar16[9]" (identifier "ppppppcVar16") ([ "[") (number_literal "9") (] "]"))))) (; ";")) (if_statement "if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" (if "if") (parenthesized_expression "(*(char *)((int)ppppppcVar16 + 0x11) != '\0')" (( "(") (binary_expression "*(char *)((int)ppppppcVar16 + 0x11) != '\0'" (pointer_expression "*(char *)((int)ppppppcVar16 + 0x11)" (* "*") (cast_expression "(char *)((int)ppppppcVar16 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar16 + 0x11)" (( "(") (binary_expression "(int)ppppppcVar16 + 0x11" (cast_expression "(int)ppppppcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar16")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              local_c0 = (code ******)&local_88;\n              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);\n              if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }\n            }" ({ "{") (expression_statement "local_c0 = (code ******)&local_88;" (assignment_expression "local_c0 = (code ******)&local_88" (identifier "local_c0") (= "=") (cast_expression "(code ******)&local_88" (( "(") (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 "&local_88" (& "&") (identifier "local_88")))) (; ";")) (expression_statement "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);" (call_expression "FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1])" (identifier "FUN_000c9144") (argument_list "(ppppppcVar16,local_84,5,unaff_s0[1])" (( "(") (identifier "ppppppcVar16") (, ",") (identifier "local_84") (, ",") (number_literal "5") (, ",") (subscript_expression "unaff_s0[1]" (identifier "unaff_s0") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (if_statement "if (*(ushort *)(local_8c + 4) < local_8e) {\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" (if "if") (parenthesized_expression "(*(ushort *)(local_8c + 4) < local_8e)" (( "(") (binary_expression "*(ushort *)(local_8c + 4) < local_8e" (pointer_expression "*(ushort *)(local_8c + 4)" (* "*") (cast_expression "(ushort *)(local_8c + 4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_8c + 4)" (( "(") (binary_expression "local_8c + 4" (identifier "local_8c") (+ "+") (number_literal "4")) () ")")))) (< "<") (identifier "local_8e")) () ")")) (compound_statement "{\n                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);\n              }" ({ "{") (expression_statement "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);" (call_expression "FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88)" (identifier "FUN_000c93a0") (argument_list "(local_8c,local_8c + 0xf,local_80,&local_88)" (( "(") (identifier "local_8c") (, ",") (binary_expression "local_8c + 0xf" (identifier "local_8c") (+ "+") (number_literal "0xf")) (, ",") (identifier "local_80") (, ",") (pointer_expression "&local_88" (& "&") (identifier "local_88")) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)));" (assignment_expression "pppppppcVar11 =\n                 (code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" (identifier "pppppppcVar11") (= "=") (cast_expression "(code *******)\n                 ((int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" (( "(") (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)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)))" (( "(") (binary_expression "(int)pppppppcVar33[0xe] +\n                 (uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (cast_expression "(int)pppppppcVar33[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar33[0xe]" (identifier "pppppppcVar33") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (call_expression "(uint)(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6))" (( "(") (binary_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &\n                       *(ushort *)(pppppppcVar33 + 6)" (pointer_expression "*(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" (* "*") (cast_expression "(ushort *)\n                         ((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2)" (( "(") (binary_expression "(int)pppppppcVar33[0x10] +\n                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (cast_expression "(int)pppppppcVar33[0x10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcVar33[0x10]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x10") (] "]"))) (+ "+") (binary_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2" (parenthesized_expression "(*(ushort *)((int)pppppppcVar33 + 0x16) - 1)" (( "(") (binary_expression "*(ushort *)((int)pppppppcVar33 + 0x16) - 1" (pointer_expression "*(ushort *)((int)pppppppcVar33 + 0x16)" (* "*") (cast_expression "(ushort *)((int)pppppppcVar33 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 0x16)" (( "(") (binary_expression "(int)pppppppcVar33 + 0x16" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "0x16")) () ")")))) (- "-") (number_literal "1")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (pointer_expression "*(ushort *)(pppppppcVar33 + 6)" (* "*") (cast_expression "(ushort *)(pppppppcVar33 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 6)" (( "(") (binary_expression "pppppppcVar33 + 6" (identifier "pppppppcVar33") (+ "+") (number_literal "6")) () ")"))))) () ")")))) () ")")))) (; ";")) (expression_statement "pppppppcVar29 = pppppppcVar11;" (assignment_expression "pppppppcVar29 = pppppppcVar11" (identifier "pppppppcVar29") (= "=") (identifier "pppppppcVar11")) (; ";")) (do_statement "do {\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);" (do "do") (compound_statement "{\n              pppppppcVar12 = pppppppcVar29;\n              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);\n              if (-1 < *(char *)pppppppcVar12) break;\n            }" ({ "{") (expression_statement "pppppppcVar12 = pppppppcVar29;" (assignment_expression "pppppppcVar12 = pppppppcVar29" (identifier "pppppppcVar12") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1)" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)((int)pppppppcVar12 + 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)pppppppcVar12 + 1)" (( "(") (binary_expression "(int)pppppppcVar12 + 1" (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (-1 < *(char *)pppppppcVar12) break;" (if "if") (parenthesized_expression "(-1 < *(char *)pppppppcVar12)" (( "(") (binary_expression "-1 < *(char *)pppppppcVar12" (number_literal "-1") (< "<") (pointer_expression "*(char *)pppppppcVar12" (* "*") (cast_expression "(char *)pppppppcVar12" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar12")))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29)" (( "(") (binary_expression "(code *******)((int)pppppppcVar11 + 9) != pppppppcVar29" (cast_expression "(code *******)((int)pppppppcVar11 + 9)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar11 + 9)" (( "(") (binary_expression "(int)pppppppcVar11 + 9" (cast_expression "(int)pppppppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar11")) (+ "+") (number_literal "9")) () ")"))) (!= "!=") (identifier "pppppppcVar29")) () ")")) (; ";")) (expression_statement "pcVar18 = local_38;" (assignment_expression "pcVar18 = local_38" (identifier "pcVar18") (= "=") (identifier "local_38")) (; ";")) (do_statement "do {\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));" (do "do") (compound_statement "{\n              local_80 = (code *******)((int)pppppppcVar29 + 1);\n              pcVar19 = pcVar18 + 1;\n              cVar10 = *(char *)pppppppcVar29;\n              *pcVar18 = cVar10;\n              if (-1 < cVar10) break;\n              pppppppcVar29 = local_80;\n              pcVar18 = pcVar19;\n            }" ({ "{") (expression_statement "local_80 = (code *******)((int)pppppppcVar29 + 1);" (assignment_expression "local_80 = (code *******)((int)pppppppcVar29 + 1)" (identifier "local_80") (= "=") (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 1)" (( "(") (binary_expression "(int)pppppppcVar29 + 1" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar19 = pcVar18 + 1;" (assignment_expression "pcVar19 = pcVar18 + 1" (identifier "pcVar19") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar10 = *(char *)pppppppcVar29;" (assignment_expression "cVar10 = *(char *)pppppppcVar29" (identifier "cVar10") (= "=") (pointer_expression "*(char *)pppppppcVar29" (* "*") (cast_expression "(char *)pppppppcVar29" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar29")))) (; ";")) (expression_statement "*pcVar18 = cVar10;" (assignment_expression "*pcVar18 = cVar10" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (identifier "cVar10")) (; ";")) (if_statement "if (-1 < cVar10) break;" (if "if") (parenthesized_expression "(-1 < cVar10)" (( "(") (binary_expression "-1 < cVar10" (number_literal "-1") (< "<") (identifier "cVar10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppppcVar29 = local_80;" (assignment_expression "pppppppcVar29 = local_80" (identifier "pppppppcVar29") (= "=") (identifier "local_80")) (; ";")) (expression_statement "pcVar18 = pcVar19;" (assignment_expression "pcVar18 = pcVar19" (identifier "pcVar18") (= "=") (identifier "pcVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_80 < (code *******)((int)pppppppcVar12 + 10))" (( "(") (binary_expression "local_80 < (code *******)((int)pppppppcVar12 + 10)" (identifier "local_80") (< "<") (cast_expression "(code *******)((int)pppppppcVar12 + 10)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar12 + 10)" (( "(") (binary_expression "(int)pppppppcVar12 + 10" (cast_expression "(int)pppppppcVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar12")) (+ "+") (number_literal "10")) () ")")))) () ")")) (; ";")) (if_statement "if (local_88 == (code ******)0x0) {\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }\n            else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" (if "if") (parenthesized_expression "(local_88 == (code ******)0x0)" (( "(") (binary_expression "local_88 == (code ******)0x0" (identifier "local_88") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_bc = pppppppcVar33[1];\n              local_c0 = (code ******)0x0;\n              local_b8 = (code ******)&local_88;\n              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" ({ "{") (expression_statement "local_bc = pppppppcVar33[1];" (assignment_expression "local_bc = pppppppcVar33[1]" (identifier "local_bc") (= "=") (subscript_expression "pppppppcVar33[1]" (identifier "pppppppcVar33") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_c0 = (code ******)0x0;" (assignment_expression "local_c0 = (code ******)0x0" (identifier "local_c0") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b8 = (code ******)&local_88;" (assignment_expression "local_b8 = (code ******)&local_88" (identifier "local_b8") (= "=") (cast_expression "(code ******)&local_88" (( "(") (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 "&local_88" (& "&") (identifier "local_88")))) (; ";")) (expression_statement "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c);" (call_expression "FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" (identifier "FUN_000caee4") (argument_list "(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,\n                           (int)pcVar19 - (int)auStack_3c)" (( "(") (identifier "unaff_s0") (, ",") (pointer_expression "*(undefined2 *)((int)unaff_s0 + 0x16)" (* "*") (cast_expression "(undefined2 *)((int)unaff_s0 + 0x16)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 0x16)" (( "(") (binary_expression "(int)unaff_s0 + 0x16" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "0x16")) () ")")))) (, ",") (identifier "auStack_3c") (, ",") (binary_expression "(int)pcVar19 - (int)auStack_3c" (cast_expression "(int)pcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar19")) (- "-") (cast_expression "(int)auStack_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "auStack_3c"))) () ")"))) (; ";")) (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)unaff_s0 + 9)" (* "*") (cast_expression "(byte *)((int)unaff_s0 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 9)" (( "(") (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "9")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" (else "else") (compound_statement "{\n              bVar1 = *(byte *)((int)unaff_s0 + 9);\n            }" ({ "{") (expression_statement "bVar1 = *(byte *)((int)unaff_s0 + 9);" (assignment_expression "bVar1 = *(byte *)((int)unaff_s0 + 9)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)unaff_s0 + 9)" (* "*") (cast_expression "(byte *)((int)unaff_s0 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0 + 9)" (( "(") (binary_expression "(int)unaff_s0 + 9" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (+ "+") (number_literal "9")) () ")"))))) (; ";")) (} "}")))) (expression_statement "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);" (assignment_expression "puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s0[0xe] + bVar1 + 8)" (( "(") (binary_expression "(int)unaff_s0[0xe] + bVar1 + 8" (binary_expression "(int)unaff_s0[0xe] + bVar1" (cast_expression "(int)unaff_s0[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "unaff_s0[0xe]" (identifier "unaff_s0") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (identifier "bVar1")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_4 = (code ******)((uint)local_84 >> 0x18);" (assignment_expression "param_4 = (code ******)((uint)local_84 >> 0x18)" (identifier "param_4") (= "=") (cast_expression "(code ******)((uint)local_84 >> 0x18)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)local_84 >> 0x18)" (( "(") (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "param_3 = (code *******)((uint)local_84 >> 0x10);" (assignment_expression "param_3 = (code *******)((uint)local_84 >> 0x10)" (identifier "param_3") (= "=") (cast_expression "(code *******)((uint)local_84 >> 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)local_84 >> 0x10)" (( "(") (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)((uint)local_84 >> 8);" (assignment_expression "param_2 = (code *******)((uint)local_84 >> 8)" (identifier "param_2") (= "=") (cast_expression "(code *******)((uint)local_84 >> 8)" (( "(") (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)local_84 >> 8)" (( "(") (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*puVar5 = (char)((uint)local_84 >> 0x18);" (assignment_expression "*puVar5 = (char)((uint)local_84 >> 0x18)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(char)((uint)local_84 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_84 >> 0x18)" (( "(") (binary_expression "(uint)local_84 >> 0x18" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "puVar5[1] = (char)((uint)local_84 >> 0x10);" (assignment_expression "puVar5[1] = (char)((uint)local_84 >> 0x10)" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)((uint)local_84 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_84 >> 0x10)" (( "(") (binary_expression "(uint)local_84 >> 0x10" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "puVar5[2] = (char)((uint)local_84 >> 8);" (assignment_expression "puVar5[2] = (char)((uint)local_84 >> 8)" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)((uint)local_84 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)local_84 >> 8)" (( "(") (binary_expression "(uint)local_84 >> 8" (cast_expression "(uint)local_84" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_84")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar5[3] = (char)local_84;" (assignment_expression "puVar5[3] = (char)local_84" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)local_84" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_84"))) (; ";")) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" (identifier "ppppppcVar20") (= "=") (identifier "local_88")) (; ";")) (if_statement "if (local_8c == (code ******)0x0) goto LAB_000cd308;" (if "if") (parenthesized_expression "(local_8c == (code ******)0x0)" (( "(") (binary_expression "local_8c == (code ******)0x0" (identifier "local_8c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000cd308;" (goto "goto") (statement_identifier "LAB_000cd308") (; ";"))) (} "}")) (else_clause "else if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" (else "else") (if_statement "if (local_8c == (code ******)0x0) {\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" (if "if") (parenthesized_expression "(local_8c == (code ******)0x0)" (( "(") (binary_expression "local_8c == (code ******)0x0" (identifier "local_8c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppcVar16 = pppppppcVar33[0x12];\n            goto LAB_000cd310;\n          }" ({ "{") (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" (identifier "ppppppcVar16") (= "=") (subscript_expression "pppppppcVar33[0x12]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (goto_statement "goto LAB_000cd310;" (goto "goto") (statement_identifier "LAB_000cd310") (; ";")) (} "}"))))) (expression_statement "(*pcVar25)(local_8c[0x12]);" (call_expression "(*pcVar25)(local_8c[0x12])" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(local_8c[0x12])" (( "(") (subscript_expression "local_8c[0x12]" (identifier "local_8c") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "ppppppcVar20 = local_88;" (assignment_expression "ppppppcVar20 = local_88" (identifier "ppppppcVar20") (= "=") (identifier "local_88")) (; ";")) (} "}"))) (goto_statement "goto LAB_000cd308;" (goto "goto") (statement_identifier "LAB_000cd308") (; ";")) (} "}"))) (expression_statement "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);" (assignment_expression "param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" (identifier "param_4") (= "=") (cast_expression "(code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)&__DT_SYMTAB[0x5e].st_name + 3)" (( "(") (binary_expression "(int)&__DT_SYMTAB[0x5e].st_name + 3" (cast_expression "(int)&__DT_SYMTAB[0x5e].st_name" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_SYMTAB[0x5e].st_name" (& "&") (field_expression "__DT_SYMTAB[0x5e].st_name" (subscript_expression "__DT_SYMTAB[0x5e]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0x5e") (] "]")) (. ".") (field_identifier "st_name")))) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);" (assignment_expression "local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c)" (identifier "local_c0") (= "=") (cast_expression "(code ******)(PTR_LAB_00190958 + 0x625c)" (( "(") (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 "(PTR_LAB_00190958 + 0x625c)" (( "(") (binary_expression "PTR_LAB_00190958 + 0x625c" (identifier "PTR_LAB_00190958") (+ "+") (number_literal "0x625c")) () ")")))) (; ";")) (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (identifier "param_3") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);" (assignment_expression "param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (identifier "param_2") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "ppppppcVar20 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar20 = (code ******)&DAT_0000000b" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)&DAT_0000000b" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_log_00190be0)(0xb);" (call_expression "(*(code *)PTR_sqlite3_log_00190be0)(0xb)" (parenthesized_expression "(*(code *)PTR_sqlite3_log_00190be0)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_log_00190be0" (* "*") (cast_expression "(code *)PTR_sqlite3_log_00190be0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_log_00190be0"))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "ppppppcVar16 = pppppppcVar33[0x12];" (assignment_expression "ppppppcVar16 = pppppppcVar33[0x12]" (identifier "ppppppcVar16") (= "=") (subscript_expression "pppppppcVar33[0x12]" (identifier "pppppppcVar33") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (} "}")))) (labeled_statement "LAB_000cd310:\n    *(char *)(pppppppcVar33 + 3) = '\0';" (statement_identifier "LAB_000cd310") (: ":") (expression_statement "*(char *)(pppppppcVar33 + 3) = '\0';" (assignment_expression "*(char *)(pppppppcVar33 + 3) = '\0'" (pointer_expression "*(char *)(pppppppcVar33 + 3)" (* "*") (cast_expression "(char *)(pppppppcVar33 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppppcVar33 + 3)" (( "(") (binary_expression "pppppppcVar33 + 3" (identifier "pppppppcVar33") (+ "+") (number_literal "3")) () ")")))) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "(*pcVar25)(ppppppcVar16);" (call_expression "(*pcVar25)(ppppppcVar16)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(ppppppcVar16)" (( "(") (identifier "ppppppcVar16") () ")"))) (; ";")) (expression_statement "cVar10 = *(char *)(param_1 + 0x44) + -1;" (assignment_expression "cVar10 = *(char *)(param_1 + 0x44) + -1" (identifier "cVar10") (= "=") (binary_expression "*(char *)(param_1 + 0x44) + -1" (pointer_expression "*(char *)(param_1 + 0x44)" (* "*") (cast_expression "(char *)(param_1 + 0x44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar32 = (int)cVar10;" (assignment_expression "iVar32 = (int)cVar10" (identifier "iVar32") (= "=") (cast_expression "(int)cVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar10"))) (; ";")) (expression_statement "*(char *)(param_1 + 0x44) = cVar10;" (assignment_expression "*(char *)(param_1 + 0x44) = cVar10" (pointer_expression "*(char *)(param_1 + 0x44)" (* "*") (cast_expression "(char *)(param_1 + 0x44)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")")))) (= "=") (identifier "cVar10")) (; ";")) (expression_statement "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);" (assignment_expression "pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4)" (identifier "pppppppcVar33") (= "=") (pointer_expression "*(code ********)(param_1 + (iVar32 + 0x1e) * 4)" (* "*") (cast_expression "(code ********)(param_1 + (iVar32 + 0x1e) * 4)" (( "(") (type_descriptor "code ********" (type_identifier "code") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(param_1 + (iVar32 + 0x1e) * 4)" (( "(") (binary_expression "param_1 + (iVar32 + 0x1e) * 4" (identifier "param_1") (+ "+") (binary_expression "(iVar32 + 0x1e) * 4" (parenthesized_expression "(iVar32 + 0x1e)" (( "(") (binary_expression "iVar32 + 0x1e" (identifier "iVar32") (+ "+") (number_literal "0x1e")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(code ********)(param_1 + 0x74) = pppppppcVar33;" (assignment_expression "*(code ********)(param_1 + 0x74) = pppppppcVar33" (pointer_expression "*(code ********)(param_1 + 0x74)" (* "*") (cast_expression "(code ********)(param_1 + 0x74)" (( "(") (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 "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (= "=") (identifier "pppppppcVar33")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppcVar20 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar20 == (code ******)0x0" (identifier "ppppppcVar20") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (pppppppcVar29 != (code *******)0x0) {\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" (if "if") (parenthesized_expression "(pppppppcVar29 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);\n  }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);" (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x4e2c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x4e2c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x4e2c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x4e2c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x4e2c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x4e2c")) () ")")))) () ")")) (argument_list "(pppppppcVar29)" (( "(") (identifier "pppppppcVar29") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_2c == *(undefined **)puVar36) {\n    return ppppppcVar20;\n  }" (if "if") (parenthesized_expression "(local_2c == *(undefined **)puVar36)" (( "(") (binary_expression "local_2c == *(undefined **)puVar36" (identifier "local_2c") (== "==") (pointer_expression "*(undefined **)puVar36" (* "*") (cast_expression "(undefined **)puVar36" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar36")))) () ")")) (compound_statement "{\n    return ppppppcVar20;\n  }" ({ "{") (return_statement "return ppppppcVar20;" (return "return") (identifier "ppppppcVar20") (; ";")) (} "}"))) (expression_statement "pcVar4 = FUN_000cd690;" (assignment_expression "pcVar4 = FUN_000cd690" (identifier "pcVar4") (= "=") (identifier "FUN_000cd690")) (; ";")) (expression_statement "puVar13 = local_2c;" (assignment_expression "puVar13 = local_2c" (identifier "puVar13") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar36 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar36 = PTR___stack_chk_fail_00190df8" (identifier "puVar36") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_130 = puVar36 + 0xcb290;" (assignment_expression "puStack_130 = puVar36 + 0xcb290" (identifier "puStack_130") (= "=") (binary_expression "puVar36 + 0xcb290" (identifier "puVar36") (+ "+") (number_literal "0xcb290"))) (; ";")) (expression_statement "piVar26 = *(int **)(puVar36 + 0xc3794);" (assignment_expression "piVar26 = *(int **)(puVar36 + 0xc3794)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(puVar36 + 0xc3794)" (* "*") (cast_expression "(int **)(puVar36 + 0xc3794)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + 0xc3794)" (( "(") (binary_expression "puVar36 + 0xc3794" (identifier "puVar36") (+ "+") (number_literal "0xc3794")) () ")"))))) (; ";")) (expression_statement "ppppcStack_fc = (code ****)*piVar26;" (assignment_expression "ppppcStack_fc = (code ****)*piVar26" (identifier "ppppcStack_fc") (= "=") (cast_expression "(code ****)*piVar26" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")))) (; ";")) (expression_statement "pppppppcStack_f8 = unaff_s0;" (assignment_expression "pppppppcStack_f8 = unaff_s0" (identifier "pppppppcStack_f8") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "puStack_f4 = puVar22;" (assignment_expression "puStack_f4 = puVar22" (identifier "puStack_f4") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "pcStack_f0 = pcVar25;" (assignment_expression "pcStack_f0 = pcVar25" (identifier "pcStack_f0") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "ppppppcStack_ec = ppppppcVar28;" (assignment_expression "ppppppcStack_ec = ppppppcVar28" (identifier "ppppppcStack_ec") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "pppppppcStack_e8 = pppppppcVar29;" (assignment_expression "pppppppcStack_e8 = pppppppcVar29" (identifier "pppppppcStack_e8") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "ppppppcStack_e4 = ppppppcVar20;" (assignment_expression "ppppppcStack_e4 = ppppppcVar20" (identifier "ppppppcStack_e4") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "iStack_e0 = iVar32;" (assignment_expression "iStack_e0 = iVar32" (identifier "iStack_e0") (= "=") (identifier "iVar32")) (; ";")) (expression_statement "pppppppcStack_dc = pppppppcVar33;" (assignment_expression "pppppppcStack_dc = pppppppcVar33" (identifier "pppppppcStack_dc") (= "=") (identifier "pppppppcVar33")) (; ";")) (expression_statement "iStack_d8 = param_1;" (assignment_expression "iStack_d8 = param_1" (identifier "iStack_d8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcStack_d4 = pcVar4;" (assignment_expression "pcStack_d4 = pcVar4" (identifier "pcStack_d4") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "pppppppcStack_c8 = param_3;" (assignment_expression "pppppppcStack_c8 = param_3" (identifier "pppppppcStack_c8") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(code ********)(puVar13 + 0x2c) < param_2) {\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }\n  else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(code ********)(puVar13 + 0x2c) < param_2)" (( "(") (binary_expression "*(code ********)(puVar13 + 0x2c) < param_2" (pointer_expression "*(code ********)(puVar13 + 0x2c)" (* "*") (cast_expression "(code ********)(puVar13 + 0x2c)" (( "(") (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 "(puVar13 + 0x2c)" (( "(") (binary_expression "puVar13 + 0x2c" (identifier "puVar13") (+ "+") (number_literal "0x2c")) () ")")))) (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);\n    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;\n    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);\n    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);\n    (**(code **)(puVar36 + 0xc3550))(0xb);\n    puVar13 = puVar22;\n    param_4 = ppppppcVar28;\n    ppppppcVar28 = (code ******)&DAT_0000000b;\n  }" ({ "{") (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_name + 2)" (( "(") (binary_expression "(int)&__DT_SYMTAB[0xd5].st_name + 2" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_name" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_SYMTAB[0xd5].st_name" (& "&") (field_expression "__DT_SYMTAB[0xd5].st_name" (subscript_expression "__DT_SYMTAB[0xd5]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0xd5") (] "]")) (. ".") (field_identifier "st_name")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c" (identifier "iStack_138") (= "=") (binary_expression "*(int *)(puVar36 + 0xc32c8) + 0x625c" (pointer_expression "*(int *)(puVar36 + 0xc32c8)" (* "*") (cast_expression "(int *)(puVar36 + 0xc32c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + 0xc32c8)" (( "(") (binary_expression "puVar36 + 0xc32c8" (identifier "puVar36") (+ "+") (number_literal "0xc32c8")) () ")")))) (+ "+") (number_literal "0x625c"))) (; ";")) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64)" (( "(") (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 *)(puVar36 + 0xc32cc) + -0x5e64)" (( "(") (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x5e64" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" (* "*") (cast_expression "(int *)(puVar36 + 0xc32cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + 0xc32cc)" (( "(") (binary_expression "puVar36 + 0xc32cc" (identifier "puVar36") (+ "+") (number_literal "0xc32cc")) () ")")))) (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" (identifier "param_2") (= "=") (cast_expression "(code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378)" (( "(") (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 *)(puVar36 + 0xc32cc) + -0x6378)" (( "(") (binary_expression "*(int *)(puVar36 + 0xc32cc) + -0x6378" (pointer_expression "*(int *)(puVar36 + 0xc32cc)" (* "*") (cast_expression "(int *)(puVar36 + 0xc32cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + 0xc32cc)" (( "(") (binary_expression "puVar36 + 0xc32cc" (identifier "puVar36") (+ "+") (number_literal "0xc32cc")) () ")")))) (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar36 + 0xc3550))(0xb);" (call_expression "(**(code **)(puVar36 + 0xc3550))(0xb)" (parenthesized_expression "(**(code **)(puVar36 + 0xc3550))" (( "(") (pointer_expression "**(code **)(puVar36 + 0xc3550)" (* "*") (pointer_expression "*(code **)(puVar36 + 0xc3550)" (* "*") (cast_expression "(code **)(puVar36 + 0xc3550)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + 0xc3550)" (( "(") (binary_expression "puVar36 + 0xc3550" (identifier "puVar36") (+ "+") (number_literal "0xc3550")) () ")"))))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "puVar13 = puVar22;" (assignment_expression "puVar13 = puVar22" (identifier "puVar13") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "param_4 = ppppppcVar28;" (assignment_expression "param_4 = ppppppcVar28" (identifier "param_4") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "ppppppcVar28 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar28 = (code ******)&DAT_0000000b" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)&DAT_0000000b" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (} "}")) (else_clause "else {\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    ppppppcVar16 = &pppppcStack_120;\n    iStack_138 = 0;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();\n    ppppppcVar28 = ppppppcStack_11c;\n    if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }\n  }" ({ "{") (expression_statement "ppppppcVar16 = &pppppcStack_120;" (assignment_expression "ppppppcVar16 = &pppppcStack_120" (identifier "ppppppcVar16") (= "=") (pointer_expression "&pppppcStack_120" (& "&") (identifier "pppppcStack_120"))) (; ";")) (expression_statement "iStack_138 = 0;" (assignment_expression "iStack_138 = 0" (identifier "iStack_138") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();" (assignment_expression "ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" (* "*") (cast_expression "(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar36 + 0xc354c) + -0x267c)" (( "(") (binary_expression "*(int *)(puVar36 + 0xc354c) + -0x267c" (pointer_expression "*(int *)(puVar36 + 0xc354c)" (* "*") (cast_expression "(int *)(puVar36 + 0xc354c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar36 + 0xc354c)" (( "(") (binary_expression "puVar36 + 0xc354c" (identifier "puVar36") (+ "+") (number_literal "0xc354c")) () ")")))) (+ "+") (number_literal "-0x267c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcStack_11c")) (; ";")) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" (if "if") (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c == (code ******)0x0" (identifier "ppppppcStack_11c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }\nLAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;\n      ppppppcVar28 = ppppppcStack_11c;\n      if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }\n    }" ({ "{") (if_statement "if (*(char *)((int)pppppcStack_120 + 1) == '\0') {\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }\n      else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" (if "if") (parenthesized_expression "(*(char *)((int)pppppcStack_120 + 1) == '\0')" (( "(") (binary_expression "*(char *)((int)pppppcStack_120 + 1) == '\0'" (pointer_expression "*(char *)((int)pppppcStack_120 + 1)" (* "*") (cast_expression "(char *)((int)pppppcStack_120 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 1)" (( "(") (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;\n        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);\n        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }\n        ppppppcVar16 = (code ******)0x1;\n        if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 1;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 1" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" (* "*") (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 1)" (( "(") (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);" (assignment_expression "uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9)" (identifier "uStack_124") (= "=") (binary_expression "(uint)*(byte *)((int)pppppcStack_120 + 9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)pppppcStack_120 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 9)" (( "(") (binary_expression "(int)pppppcStack_120 + 9" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "9")) () ")"))))) (; ";")) (if_statement "if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {\n          uVar41 = 0;\n        }\n        else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" (if "if") (parenthesized_expression "(*(short *)((int)pppppcStack_120 + 0x16) == 0)" (( "(") (binary_expression "*(short *)((int)pppppcStack_120 + 0x16) == 0" (pointer_expression "*(short *)((int)pppppcStack_120 + 0x16)" (* "*") (cast_expression "(short *)((int)pppppcStack_120 + 0x16)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 0x16)" (( "(") (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "0x16")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar41 = 0;\n        }" ({ "{") (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" (identifier "uVar41") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" (else "else") (compound_statement "{\n          pppppppcVar29 = (code *******)0x0;\n          ppppppcVar20 = apppppcStack_118;\n          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;\n          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);\n          iVar23 = 0;\n          do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);\n        }" ({ "{") (expression_statement "pppppppcVar29 = (code *******)0x0;" (assignment_expression "pppppppcVar29 = (code *******)0x0" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar20 = apppppcStack_118;" (assignment_expression "ppppppcVar20 = apppppcStack_118" (identifier "ppppppcVar20") (= "=") (identifier "apppppcStack_118")) (; ";")) (expression_statement "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;" (assignment_expression "iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970" (identifier "iVar32") (= "=") (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x2970" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7d64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7d64)" (( "(") (binary_expression "puStack_130 + -0x7d64" (identifier "puStack_130") (+ "+") (number_literal "-0x7d64")) () ")")))) (+ "+") (number_literal "-0x2970"))) (; ";")) (expression_statement "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);" (assignment_expression "unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" (identifier "unaff_s0") (= "=") (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428)" (( "(") (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_130 + -0x7d64) + -0x5428)" (( "(") (binary_expression "*(int *)(puStack_130 + -0x7d64) + -0x5428" (pointer_expression "*(int *)(puStack_130 + -0x7d64)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7d64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7d64)" (( "(") (binary_expression "puStack_130 + -0x7d64" (identifier "puStack_130") (+ "+") (number_literal "-0x7d64")) () ")")))) (+ "+") (number_literal "-0x5428")) () ")")))) (; ";")) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          } while (iVar23 < (int)uVar41);" (do "do") (compound_statement "{\n            ppppppcStack_11c = (code ******)0x0;\n            pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));\n            if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }\n            param_2 = pppppppcVar33;\n            ppppppcVar16 = ppppppcVar20;\n            ppppppcStack_11c = (code ******)FUN_000cabd8();\n            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);\n            iVar23 = iVar23 + 1;\n            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);\n          }" ({ "{") (expression_statement "ppppppcStack_11c = (code ******)0x0;" (assignment_expression "ppppppcStack_11c = (code ******)0x0" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)));" (assignment_expression "pppppppcVar33 =\n                 (code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" (identifier "pppppppcVar33") (= "=") (cast_expression "(code *******)\n                 ((int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" (( "(") (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)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)))" (( "(") (binary_expression "(int)pppppcStack_120[0xe] +\n                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (cast_expression "(int)pppppcStack_120[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcStack_120[0xe]" (identifier "pppppcStack_120") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (call_expression "(uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6))" (( "(") (binary_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &\n                       *(ushort *)(pppppcStack_120 + 6)" (pointer_expression "*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" (* "*") (cast_expression "(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar29 + (int)pppppcStack_120[0x10])" (( "(") (binary_expression "(int)pppppppcVar29 + (int)pppppcStack_120[0x10]" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (+ "+") (cast_expression "(int)pppppcStack_120[0x10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcStack_120[0x10]" (identifier "pppppcStack_120") ([ "[") (number_literal "0x10") (] "]")))) () ")")))) (& "&") (pointer_expression "*(ushort *)(pppppcStack_120 + 6)" (* "*") (cast_expression "(ushort *)(pppppcStack_120 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcStack_120 + 6)" (( "(") (binary_expression "pppppcStack_120 + 6" (identifier "pppppcStack_120") (+ "+") (number_literal "6")) () ")"))))) () ")")))) () ")")))) (; ";")) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" (if "if") (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" (( "(") (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" (* "*") (cast_expression "(char *)(pppppcStack_120 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcStack_120 + 2)" (( "(") (binary_expression "pppppcStack_120 + 2" (identifier "pppppcStack_120") (+ "+") (number_literal "2")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppppppcVar16 = (code ******)0x1;\n              uVar41 = (int)pppppppcVar33 + 3U & 3;\n              param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);\n              ppppppcStack_1d8 = param_4;\n              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;\n            }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar41 = (int)pppppppcVar33 + 3U & 3;" (assignment_expression "uVar41 = (int)pppppppcVar33 + 3U & 3" (identifier "uVar41") (= "=") (binary_expression "(int)pppppppcVar33 + 3U & 3" (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "3U")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);" (assignment_expression "param_2 = (code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" (identifier "param_2") (= "=") (cast_expression "(code *******)\n                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" (( "(") (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 *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8)" (( "(") (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |\n                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8" (binary_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<\n                         ((uint)pppppppcVar33 & 3) * 8" (pointer_expression "*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" (* "*") (cast_expression "(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3))" (( "(") (binary_expression "(int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (- "-") (parenthesized_expression "((uint)pppppppcVar33 & 3)" (( "(") (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar33")) (& "&") (number_literal "3")) () ")"))) () ")")))) (<< "<<") (binary_expression "((uint)pppppppcVar33 & 3) * 8" (parenthesized_expression "((uint)pppppppcVar33 & 3)" (( "(") (binary_expression "(uint)pppppppcVar33 & 3" (cast_expression "(uint)pppppppcVar33" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar33")) (& "&") (number_literal "3")) () ")")) (* "*") (number_literal "8"))) (& "&") (binary_expression "-1 << (uVar41 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar41 + 1) * 8" (parenthesized_expression "(uVar41 + 1)" (( "(") (binary_expression "uVar41 + 1" (identifier "uVar41") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8" (pointer_expression "*(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" (* "*") (cast_expression "(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((char *)((int)pppppppcVar33 + 3U) + -uVar41)" (( "(") (binary_expression "(char *)((int)pppppppcVar33 + 3U) + -uVar41" (cast_expression "(char *)((int)pppppppcVar33 + 3U)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar33 + 3U)" (( "(") (binary_expression "(int)pppppppcVar33 + 3U" (cast_expression "(int)pppppppcVar33" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar33")) (+ "+") (number_literal "3U")) () ")"))) (+ "+") (unary_expression "-uVar41" (- "-") (identifier "uVar41"))) () ")")))) (>> ">>") (binary_expression "(3 - uVar41) * 8" (parenthesized_expression "(3 - uVar41)" (( "(") (binary_expression "3 - uVar41" (number_literal "3") (- "-") (identifier "uVar41")) () ")")) (* "*") (number_literal "8")))) () ")")))) (; ";")) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" (identifier "ppppppcStack_1d8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)FUN_000cd690(puVar13)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000cd690(puVar13)" (identifier "FUN_000cd690") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))))) (; ";")) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" (if "if") (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c != (code ******)0x0" (identifier "ppppppcStack_11c") (!= "!=") (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_000cd7ec;" (goto "goto") (statement_identifier "LAB_000cd7ec") (; ";"))) (} "}"))) (expression_statement "param_2 = pppppppcVar33;" (assignment_expression "param_2 = pppppppcVar33" (identifier "param_2") (= "=") (identifier "pppppppcVar33")) (; ";")) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" (identifier "ppppppcVar16") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cabd8();" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cabd8()" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)FUN_000cabd8()" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000cabd8()" (identifier "FUN_000cabd8") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;" (if "if") (parenthesized_expression "(ppppppcStack_11c != (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c != (code ******)0x0" (identifier "ppppppcStack_11c") (!= "!=") (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_000cd7ec;" (goto "goto") (statement_identifier "LAB_000cd7ec") (; ";"))) (expression_statement "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);" (assignment_expression "uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16)" (identifier "uVar41") (= "=") (binary_expression "(uint)*(ushort *)((int)pppppcStack_120 + 0x16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((int)pppppcStack_120 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 0x16)" (( "(") (binary_expression "(int)pppppcStack_120 + 0x16" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "0x16")) () ")"))))) (; ";")) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);" (assignment_expression "pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2)" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)((int)pppppppcVar29 + 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)pppppppcVar29 + 2)" (( "(") (binary_expression "(int)pppppppcVar29 + 2" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 < (int)uVar41)" (( "(") (binary_expression "iVar23 < (int)uVar41" (identifier "iVar23") (< "<") (cast_expression "(int)uVar41" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar41"))) () ")")) (; ";")) (} "}")))) (expression_statement "ppppppcVar16 = (code ******)0x1;" (assignment_expression "ppppppcVar16 = (code ******)0x1" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(char *)(pppppcStack_120 + 2) == '\0') {\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }\n        else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(pppppcStack_120 + 2) == '\0')" (( "(") (binary_expression "*(char *)(pppppcStack_120 + 2) == '\0'" (pointer_expression "*(char *)(pppppcStack_120 + 2)" (* "*") (cast_expression "(char *)(pppppcStack_120 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcStack_120 + 2)" (( "(") (binary_expression "pppppcStack_120 + 2" (identifier "pppppcStack_120") (+ "+") (number_literal "2")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);\n          ppppppcStack_1d8 = param_4;\n          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);\n          if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }\n        }" ({ "{") (expression_statement "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);" (assignment_expression "param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" (identifier "param_2") (= "=") (pointer_expression "*(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" (* "*") (cast_expression "(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8)" (( "(") (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 "((int)pppppcStack_120[0xe] + uStack_124 + 8)" (( "(") (binary_expression "(int)pppppcStack_120[0xe] + uStack_124 + 8" (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcStack_120[0xe]" (identifier "pppppcStack_120") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (identifier "uStack_124")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "ppppppcStack_1d8 = param_4;" (assignment_expression "ppppppcStack_1d8 = param_4" (identifier "ppppppcStack_1d8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000cd690(puVar13)" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)FUN_000cd690(puVar13)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000cd690(puVar13)" (identifier "FUN_000cd690") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))))) (; ";")) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" (if "if") (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c == (code ******)0x0" (identifier "ppppppcStack_11c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppcVar28 = (code ******)0x0;\n            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;\n            goto LAB_000cd96c;\n          }" ({ "{") (expression_statement "ppppppcVar28 = (code ******)0x0;" (assignment_expression "ppppppcVar28 = (code ******)0x0" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;" (if "if") (parenthesized_expression "(pppppppcStack_c8 != (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_c8 != (code *******)0x0" (identifier "pppppppcStack_c8") (!= "!=") (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_000cd958;" (goto "goto") (statement_identifier "LAB_000cd958") (; ";"))) (goto_statement "goto LAB_000cd96c;" (goto "goto") (statement_identifier "LAB_000cd96c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" (else "else") (compound_statement "{\n          if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }\n          ppppppcVar28 = ppppppcStack_11c;\n          if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }\n        }" ({ "{") (if_statement "if (param_4 != (code ******)0x0) {\n            *param_4 = (code *****)((int)*param_4 + uVar41);\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 "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *param_4 = (code *****)((int)*param_4 + uVar41);\n          }" ({ "{") (expression_statement "*param_4 = (code *****)((int)*param_4 + uVar41);" (assignment_expression "*param_4 = (code *****)((int)*param_4 + uVar41)" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (cast_expression "(code *****)((int)*param_4 + uVar41)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)*param_4 + uVar41)" (( "(") (binary_expression "(int)*param_4 + uVar41" (cast_expression "(int)*param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (+ "+") (identifier "uVar41")) () ")")))) (; ";")) (} "}"))) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcStack_11c")) (; ";")) (if_statement "if (pppppppcStack_c8 == (code *******)0x0) {\nLAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }\n          else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" (if "if") (parenthesized_expression "(pppppppcStack_c8 == (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_c8 == (code *******)0x0" (identifier "pppppppcStack_c8") (== "==") (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_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;\n            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);\n            if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }\n          }" ({ "{") (labeled_statement "LAB_000cd96c:\n            ppppppcStack_11c = ppppppcVar28;" (statement_identifier "LAB_000cd96c") (: ":") (expression_statement "ppppppcStack_11c = ppppppcVar28;" (assignment_expression "ppppppcStack_11c = ppppppcVar28" (identifier "ppppppcStack_11c") (= "=") (identifier "ppppppcVar28")) (; ";"))) (expression_statement "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);" (assignment_expression "ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12])" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)FUN_000c3260(pppppcStack_120[0x12])" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c3260(pppppcStack_120[0x12])" (identifier "FUN_000c3260") (argument_list "(pppppcStack_120[0x12])" (( "(") (subscript_expression "pppppcStack_120[0x12]" (identifier "pppppcStack_120") ([ "[") (number_literal "0x12") (] "]")) () ")"))))) (; ";")) (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" (if "if") (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c == (code ******)0x0" (identifier "ppppppcStack_11c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);\n              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);\n              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);\n            }" ({ "{") (expression_statement "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124)" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)((int)pppppcStack_120[0xe] + uStack_124)" (( "(") (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)pppppcStack_120[0xe] + uStack_124)" (( "(") (binary_expression "(int)pppppcStack_120[0xe] + uStack_124" (cast_expression "(int)pppppcStack_120[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcStack_120[0xe]" (identifier "pppppcStack_120") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (identifier "uStack_124")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);" (assignment_expression "param_2 = (code *******)(*(byte *)ppppppcVar20 | 8)" (identifier "param_2") (= "=") (cast_expression "(code *******)(*(byte *)ppppppcVar20 | 8)" (( "(") (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 "(*(byte *)ppppppcVar20 | 8)" (( "(") (binary_expression "*(byte *)ppppppcVar20 | 8" (pointer_expression "*(byte *)ppppppcVar20" (* "*") (cast_expression "(byte *)ppppppcVar20" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar20"))) (| "|") (number_literal "8")) () ")")))) (; ";")) (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120)" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))" (( "(") (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" (* "*") (cast_expression "(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_130 + -0x7d44) + -0x3030)" (( "(") (binary_expression "*(int *)(puStack_130 + -0x7d44) + -0x3030" (pointer_expression "*(int *)(puStack_130 + -0x7d44)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7d44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7d44)" (( "(") (binary_expression "puStack_130 + -0x7d44" (identifier "puStack_130") (+ "+") (number_literal "-0x7d44")) () ")")))) (+ "+") (number_literal "-0x3030")) () ")")))) () ")")) (argument_list "(pppppcStack_120)" (( "(") (identifier "pppppcStack_120") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" (else "else") (if_statement "if (ppppppcStack_11c == (code ******)0x0) {\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" (if "if") (parenthesized_expression "(ppppppcStack_11c == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_11c == (code ******)0x0" (identifier "ppppppcStack_11c") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000cd958:\n            param_2 = &ppppppcStack_11c;\n            FUN_000cae98();\n          }" ({ "{") (labeled_statement "LAB_000cd958:\n            param_2 = &ppppppcStack_11c;" (statement_identifier "LAB_000cd958") (: ":") (expression_statement "param_2 = &ppppppcStack_11c;" (assignment_expression "param_2 = &ppppppcStack_11c" (identifier "param_2") (= "=") (pointer_expression "&ppppppcStack_11c" (& "&") (identifier "ppppppcStack_11c"))) (; ";"))) (expression_statement "FUN_000cae98();" (call_expression "FUN_000cae98()" (identifier "FUN_000cae98") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (} "}")))) (} "}")) (else_clause "else {\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" (else "else") (compound_statement "{\n        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);\n        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;\n        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);\n        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);\n        (**(code **)(puStack_130 + -0x7d40))(0xb);\n        ppppppcStack_11c = (code ******)&DAT_0000000b;\n      }" ({ "{") (expression_statement "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)&__DT_SYMTAB[0xd5].st_value + 3)" (( "(") (binary_expression "(int)&__DT_SYMTAB[0xd5].st_value + 3" (cast_expression "(int)&__DT_SYMTAB[0xd5].st_value" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_SYMTAB[0xd5].st_value" (& "&") (field_expression "__DT_SYMTAB[0xd5].st_value" (subscript_expression "__DT_SYMTAB[0xd5]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0xd5") (] "]")) (. ".") (field_identifier "st_value")))) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;" (assignment_expression "iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c" (identifier "iStack_138") (= "=") (binary_expression "*(int *)(puStack_130 + -0x7fc8) + 0x625c" (pointer_expression "*(int *)(puStack_130 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7fc8)" (( "(") (binary_expression "puStack_130 + -0x7fc8" (identifier "puStack_130") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x625c"))) (; ";")) (expression_statement "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);" (assignment_expression "ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64)" (( "(") (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 *)(puStack_130 + -0x7fc4) + -0x5e64)" (( "(") (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x5e64" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7fc4)" (( "(") (binary_expression "puStack_130 + -0x7fc4" (identifier "puStack_130") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5e64")) () ")")))) (; ";")) (expression_statement "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);" (assignment_expression "param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" (identifier "param_2") (= "=") (cast_expression "(code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378)" (( "(") (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_130 + -0x7fc4) + -0x6378)" (( "(") (binary_expression "*(int *)(puStack_130 + -0x7fc4) + -0x6378" (pointer_expression "*(int *)(puStack_130 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7fc4)" (( "(") (binary_expression "puStack_130 + -0x7fc4" (identifier "puStack_130") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x6378")) () ")")))) (; ";")) (expression_statement "(**(code **)(puStack_130 + -0x7d40))(0xb);" (call_expression "(**(code **)(puStack_130 + -0x7d40))(0xb)" (parenthesized_expression "(**(code **)(puStack_130 + -0x7d40))" (( "(") (pointer_expression "**(code **)(puStack_130 + -0x7d40)" (* "*") (pointer_expression "*(code **)(puStack_130 + -0x7d40)" (* "*") (cast_expression "(code **)(puStack_130 + -0x7d40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_130 + -0x7d40)" (( "(") (binary_expression "puStack_130 + -0x7d40" (identifier "puStack_130") (+ "+") (number_literal "-0x7d40")) () ")"))))) () ")")) (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")"))) (; ";")) (expression_statement "ppppppcStack_11c = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcStack_11c = (code ******)&DAT_0000000b" (identifier "ppppppcStack_11c") (= "=") (cast_expression "(code ******)&DAT_0000000b" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (} "}")))) (labeled_statement "LAB_000cd7ec:\n      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;" (statement_identifier "LAB_000cd7ec") (: ":") (expression_statement "*(undefined1 *)((int)pppppcStack_120 + 1) = 0;" (assignment_expression "*(undefined1 *)((int)pppppcStack_120 + 1) = 0" (pointer_expression "*(undefined1 *)((int)pppppcStack_120 + 1)" (* "*") (cast_expression "(undefined1 *)((int)pppppcStack_120 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcStack_120 + 1)" (( "(") (binary_expression "(int)pppppcStack_120 + 1" (cast_expression "(int)pppppcStack_120" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcStack_120")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcStack_11c")) (; ";")) (if_statement "if (pppppcStack_120 != (code *****)0x0) {\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" (if "if") (parenthesized_expression "(pppppcStack_120 != (code *****)0x0)" (( "(") (binary_expression "pppppcStack_120 != (code *****)0x0" (identifier "pppppcStack_120") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);\n        ppppppcVar28 = ppppppcStack_11c;\n      }" ({ "{") (expression_statement "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);" (call_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12])" (parenthesized_expression "(*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))" (( "(") (pointer_expression "*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" (* "*") (cast_expression "(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_130 + -0x7de0) + 0xee8)" (( "(") (binary_expression "*(int *)(puStack_130 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_130 + -0x7de0)" (* "*") (cast_expression "(int *)(puStack_130 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_130 + -0x7de0)" (( "(") (binary_expression "puStack_130 + -0x7de0" (identifier "puStack_130") (+ "+") (number_literal "-0x7de0")) () ")")))) (+ "+") (number_literal "0xee8")) () ")")))) () ")")) (argument_list "(pppppcStack_120[0x12])" (( "(") (subscript_expression "pppppcStack_120[0x12]" (identifier "pppppcStack_120") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "ppppppcVar28 = ppppppcStack_11c;" (assignment_expression "ppppppcVar28 = ppppppcStack_11c" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcStack_11c")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (if_statement "if (ppppcStack_fc == (code ****)*piVar26) {\n    return ppppppcVar28;\n  }" (if "if") (parenthesized_expression "(ppppcStack_fc == (code ****)*piVar26)" (( "(") (binary_expression "ppppcStack_fc == (code ****)*piVar26" (identifier "ppppcStack_fc") (== "==") (cast_expression "(code ****)*piVar26" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")))) () ")")) (compound_statement "{\n    return ppppppcVar28;\n  }" ({ "{") (return_statement "return ppppppcVar28;" (return "return") (identifier "ppppppcVar28") (; ";")) (} "}"))) (expression_statement "pcVar4 = *(code **)(puStack_130 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_130 + -0x7b28)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(puStack_130 + -0x7b28)" (* "*") (cast_expression "(code **)(puStack_130 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_130 + -0x7b28)" (( "(") (binary_expression "puStack_130 + -0x7b28" (identifier "puStack_130") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar39 = 0xcd9d0;" (assignment_expression "uVar39 = 0xcd9d0" (identifier "uVar39") (= "=") (number_literal "0xcd9d0")) (; ";")) (expression_statement "ppppcVar38 = ppppcStack_fc;" (assignment_expression "ppppcVar38 = ppppcStack_fc" (identifier "ppppcVar38") (= "=") (identifier "ppppcStack_fc")) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);" (assignment_expression "ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50)" (identifier "ppppppcStack_178") (= "=") (cast_expression "(code ******)(pcVar4 + 0xcaf50)" (( "(") (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 "(pcVar4 + 0xcaf50)" (( "(") (binary_expression "pcVar4 + 0xcaf50" (identifier "pcVar4") (+ "+") (number_literal "0xcaf50")) () ")")))) (; ";")) (expression_statement "piVar27 = *(int **)(pcVar4 + 0xc3454);" (assignment_expression "piVar27 = *(int **)(pcVar4 + 0xc3454)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)(pcVar4 + 0xc3454)" (* "*") (cast_expression "(int **)(pcVar4 + 0xc3454)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xc3454)" (( "(") (binary_expression "pcVar4 + 0xc3454" (identifier "pcVar4") (+ "+") (number_literal "0xc3454")) () ")"))))) (; ";")) (expression_statement "pppppcStack_170 = (code *****)0x0;" (assignment_expression "pppppcStack_170 = (code *****)0x0" (identifier "pppppcStack_170") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_16c = *piVar27;" (assignment_expression "iStack_16c = *piVar27" (identifier "iStack_16c") (= "=") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar16;" (assignment_expression "ppppppcVar21 = ppppppcVar16" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar16")) (; ";")) (expression_statement "pppppppcStack_164 = unaff_s0;" (assignment_expression "pppppppcStack_164 = unaff_s0" (identifier "pppppppcStack_164") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "puStack_160 = puVar13;" (assignment_expression "puStack_160 = puVar13" (identifier "puStack_160") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "piStack_15c = piVar26;" (assignment_expression "piStack_15c = piVar26" (identifier "piStack_15c") (= "=") (identifier "piVar26")) (; ";")) (expression_statement "ppppppcStack_158 = param_4;" (assignment_expression "ppppppcStack_158 = param_4" (identifier "ppppppcStack_158") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pppppppcStack_154 = pppppppcVar29;" (assignment_expression "pppppppcStack_154 = pppppppcVar29" (identifier "pppppppcStack_154") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "ppppppcStack_150 = ppppppcVar20;" (assignment_expression "ppppppcStack_150 = ppppppcVar20" (identifier "ppppppcStack_150") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "uStack_14c = uVar39;" (assignment_expression "uStack_14c = uVar39" (identifier "uStack_14c") (= "=") (identifier "uVar39")) (; ";")) (if_statement "if ((int)ppppcVar38[3][9] << 3 < 0) {\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }\n  else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" (if "if") (parenthesized_expression "((int)ppppcVar38[3][9] << 3 < 0)" (( "(") (binary_expression "(int)ppppcVar38[3][9] << 3 < 0" (binary_expression "(int)ppppcVar38[3][9] << 3" (cast_expression "(int)ppppcVar38[3][9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppcVar38[3][9]" (subscript_expression "ppppcVar38[3]" (identifier "ppppcVar38") ([ "[") (number_literal "3") (] "]")) ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "3")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);\nLAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);\n    ppppppcVar24 = (code ******)0x1;\n    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);\n    ppppcVar38[2] = pppcVar6;\n    ppppppcVar16 = param_4;\n  }" ({ "{") (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8)" (( "(") (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 *)(pcVar4 + 0xc2f8c) + -0x42a8)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x42a8" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" (* "*") (cast_expression "(int *)(pcVar4 + 0xc2f8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xc2f8c)" (( "(") (binary_expression "pcVar4 + 0xc2f8c" (identifier "pcVar4") (+ "+") (number_literal "0xc2f8c")) () ")")))) (+ "+") (number_literal "-0x42a8")) () ")")))) (; ";")) (labeled_statement "LAB_000cda68:\n    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" (statement_identifier "LAB_000cda68") (: ":") (expression_statement "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);" (call_expression "(*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fed])" (( "(") (pointer_expression "*(code *)ppppppcStack_178[-0x1fed]" (* "*") (cast_expression "(code *)ppppppcStack_178[-0x1fed]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppppcStack_178[-0x1fed]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1fed") (] "]")))) () ")")) (argument_list "(ppppcVar38[2])" (( "(") (subscript_expression "ppppcVar38[2]" (identifier "ppppcVar38") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";"))) (expression_statement "ppppppcVar24 = (code ******)0x1;" (assignment_expression "ppppppcVar24 = (code ******)0x1" (identifier "ppppppcVar24") (= "=") (cast_expression "(code ******)0x1" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);" (assignment_expression "pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" (identifier "pppcVar6") (= "=") (cast_expression "(code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f)" (identifier "sqlite3_mprintf") (argument_list "(ppppppcStack_178[-0x1ff1] + -0x177f)" (( "(") (binary_expression "ppppppcStack_178[-0x1ff1] + -0x177f" (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]")) (+ "+") (number_literal "-0x177f")) () ")"))))) (; ";")) (expression_statement "ppppcVar38[2] = pppcVar6;" (assignment_expression "ppppcVar38[2] = pppcVar6" (subscript_expression "ppppcVar38[2]" (identifier "ppppcVar38") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pppcVar6")) (; ";")) (expression_statement "ppppppcVar16 = param_4;" (assignment_expression "ppppppcVar16 = param_4" (identifier "ppppppcVar16") (= "=") (identifier "param_4")) (; ";")) (} "}")) (else_clause "else {\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" (else "else") (compound_statement "{\n    if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }\n    iVar23 = *(int *)(pcVar4 + 0xc31d8);\n    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);\n    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);\n    param_4 = ppppppcVar16;\n    pppppppcVar29 = extraout_v1;\n    if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);\n    if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }\n    pppcVar6 = ppppcVar38[3];\n    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);\n    if (iVar23 < 0) goto LAB_000cdb7c;\n    if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }\n    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }\n    ppppppcVar20 = (code ******)ppppppcVar21[8];\n    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);\n    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;\n    ppppppcStack_1d8 = (code ******)0x0;\n    ppppppcVar21 = &pppppcStack_170;\n    pppppppcVar7 = extraout_v1;\n    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;\n    if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }\n    if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }\n  }" ({ "{") (if_statement "if (param_2 == (code *******)0x1) {\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" (if "if") (parenthesized_expression "(param_2 == (code *******)0x1)" (( "(") (binary_expression "param_2 == (code *******)0x1" (identifier "param_2") (== "==") (cast_expression "(code *******)0x1" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);\n      goto LAB_000cda68;\n    }" ({ "{") (expression_statement "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);" (assignment_expression "pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c)" (( "(") (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 *)(pcVar4 + 0xc2f8c) + -0x429c)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xc2f8c) + -0x429c" (pointer_expression "*(int *)(pcVar4 + 0xc2f8c)" (* "*") (cast_expression "(int *)(pcVar4 + 0xc2f8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xc2f8c)" (( "(") (binary_expression "pcVar4 + 0xc2f8c" (identifier "pcVar4") (+ "+") (number_literal "0xc2f8c")) () ")")))) (+ "+") (number_literal "-0x429c")) () ")")))) (; ";")) (goto_statement "goto LAB_000cda68;" (goto "goto") (statement_identifier "LAB_000cda68") (; ";")) (} "}"))) (expression_statement "iVar23 = *(int *)(pcVar4 + 0xc31d8);" (assignment_expression "iVar23 = *(int *)(pcVar4 + 0xc31d8)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xc31d8)" (* "*") (cast_expression "(int *)(pcVar4 + 0xc31d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xc31d8)" (( "(") (binary_expression "pcVar4 + 0xc31d8" (identifier "pcVar4") (+ "+") (number_literal "0xc31d8")) () ")"))))) (; ";")) (expression_statement "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);" (call_expression "(*(code *)(iVar23 + 0x7f68))(*ppppppcVar16)" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" (( "(") (pointer_expression "*(code *)(iVar23 + 0x7f68)" (* "*") (cast_expression "(code *)(iVar23 + 0x7f68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x7f68)" (( "(") (binary_expression "iVar23 + 0x7f68" (identifier "iVar23") (+ "+") (number_literal "0x7f68")) () ")")))) () ")")) (argument_list "(*ppppppcVar16)" (( "(") (pointer_expression "*ppppppcVar16" (* "*") (identifier "ppppppcVar16")) () ")"))) (; ";")) (expression_statement "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);" (call_expression "(*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1])" (parenthesized_expression "(*(code *)(iVar23 + 0x7f68))" (( "(") (pointer_expression "*(code *)(iVar23 + 0x7f68)" (* "*") (cast_expression "(code *)(iVar23 + 0x7f68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x7f68)" (( "(") (binary_expression "iVar23 + 0x7f68" (identifier "iVar23") (+ "+") (number_literal "0x7f68")) () ")")))) () ")")) (argument_list "(ppppppcVar16[1])" (( "(") (subscript_expression "ppppppcVar16[1]" (identifier "ppppppcVar16") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "param_4 = ppppppcVar16;" (assignment_expression "param_4 = ppppppcVar16" (identifier "param_4") (= "=") (identifier "ppppppcVar16")) (; ";")) (expression_statement "pppppppcVar29 = extraout_v1;" (assignment_expression "pppppppcVar29 = extraout_v1" (identifier "pppppppcVar29") (= "=") (identifier "extraout_v1")) (; ";")) (if_statement "if (extraout_v1 != extraout_v1_00) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" (if "if") (parenthesized_expression "(extraout_v1 != extraout_v1_00)" (( "(") (binary_expression "extraout_v1 != extraout_v1_00" (identifier "extraout_v1") (!= "!=") (identifier "extraout_v1_00")) () ")")) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);\n      goto LAB_000cda68;\n    }" ({ "{") (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x109f)" (( "(") (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_178[-0x1ff1] + -0x109f)" (( "(") (binary_expression "ppppppcStack_178[-0x1ff1] + -0x109f" (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]")) (+ "+") (number_literal "-0x109f")) () ")")))) (; ";")) (goto_statement "goto LAB_000cda68;" (goto "goto") (statement_identifier "LAB_000cda68") (; ";")) (} "}"))) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" (identifier "iVar23") (= "=") (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))" (( "(") (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" (* "*") (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1bd8)" (( "(") (binary_expression "ppppppcStack_178[-0x1f58] + 0x1bd8" (subscript_expression "ppppppcStack_178[-0x1f58]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1f58") (] "]")) (+ "+") (number_literal "0x1bd8")) () ")")))) () ")")) (argument_list "(ppppppcVar16[4],1)" (( "(") (subscript_expression "ppppppcVar16[4]" (identifier "ppppppcVar16") ([ "[") (number_literal "4") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar23 == 0) {\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);\n      goto LAB_000cda68;\n    }" ({ "{") (labeled_statement "LAB_000cdb7c:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" (statement_identifier "LAB_000cdb7c") (: ":") (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2)" (( "(") (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_178[-0x1ff1] + -0x10b2)" (( "(") (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10b2" (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]")) (+ "+") (number_literal "-0x10b2")) () ")")))) (; ";"))) (goto_statement "goto LAB_000cda68;" (goto "goto") (statement_identifier "LAB_000cda68") (; ";")) (} "}"))) (expression_statement "pppcVar6 = ppppcVar38[3];" (assignment_expression "pppcVar6 = ppppcVar38[3]" (identifier "pppcVar6") (= "=") (subscript_expression "ppppcVar38[3]" (identifier "ppppcVar38") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);" (assignment_expression "iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" (identifier "iVar23") (= "=") (call_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))" (( "(") (pointer_expression "*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" (* "*") (cast_expression "(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcStack_178[-0x1f5e] + 0x8dc)" (( "(") (binary_expression "ppppppcStack_178[-0x1f5e] + 0x8dc" (subscript_expression "ppppppcStack_178[-0x1f5e]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1f5e") (] "]")) (+ "+") (number_literal "0x8dc")) () ")")))) () ")")) (argument_list "(pppcVar6,iVar23)" (( "(") (identifier "pppcVar6") (, ",") (identifier "iVar23") () ")")))) (; ";")) (if_statement "if (iVar23 < 0) goto LAB_000cdb7c;" (if "if") (parenthesized_expression "(iVar23 < 0)" (( "(") (binary_expression "iVar23 < 0" (identifier "iVar23") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cdb7c;" (goto "goto") (statement_identifier "LAB_000cdb7c") (; ";"))) (if_statement "if (((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" (if "if") (parenthesized_expression "(((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1))" (( "(") (binary_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||\n       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" (parenthesized_expression "((extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0))" (( "(") (binary_expression "(extraout_v1 == (code *******)0x0) ||\n        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" (parenthesized_expression "(extraout_v1 == (code *******)0x0)" (( "(") (binary_expression "extraout_v1 == (code *******)0x0" (identifier "extraout_v1") (== "==") (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 "(iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)" (( "(") (comma_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0" (assignment_expression "iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1]" (identifier "iVar23") (= "=") (cast_expression "(int)pppcVar6[4][iVar23 * 4U + 1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppcVar6[4][iVar23 * 4U + 1]" (subscript_expression "pppcVar6[4]" (identifier "pppcVar6") ([ "[") (number_literal "4") (] "]")) ([ "[") (binary_expression "iVar23 * 4U + 1" (binary_expression "iVar23 * 4U" (identifier "iVar23") (* "*") (number_literal "4U")) (+ "+") (number_literal "1")) (] "]")))) (, ",") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)" (( "(") (comma_expression "ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1" (assignment_expression "ppppppcVar21 = *(code *******)(iVar23 + 4)" (identifier "ppppppcVar21") (= "=") (pointer_expression "*(code *******)(iVar23 + 4)" (* "*") (cast_expression "(code *******)(iVar23 + 4)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "ppppppcVar21[0xb] < extraout_v1" (subscript_expression "ppppppcVar21[0xb]" (identifier "ppppppcVar21") ([ "[") (number_literal "0xb") (] "]")) (< "<") (identifier "extraout_v1"))) () ")"))) () ")")) (compound_statement "{\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);\n      goto LAB_000cda68;\n    }" ({ "{") (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae)" (( "(") (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_178[-0x1ff1] + -0x10ae)" (( "(") (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10ae" (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]")) (+ "+") (number_literal "-0x10ae")) () ")")))) (; ";")) (goto_statement "goto LAB_000cda68;" (goto "goto") (statement_identifier "LAB_000cda68") (; ";")) (} "}"))) (if_statement "if (*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04')" (( "(") (binary_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04'" (pointer_expression "*(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" (* "*") (cast_expression "(char *)((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c)" (( "(") (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c" (binary_expression "(int)ppppppcStack_178[-0x1ff1] +\n                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" (cast_expression "(int)ppppppcStack_178[-0x1ff1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]"))) (+ "+") (parenthesized_expression "(*(ushort *)(ppppppcVar16[3] + 2) & 0x1f)" (( "(") (binary_expression "*(ushort *)(ppppppcVar16[3] + 2) & 0x1f" (pointer_expression "*(ushort *)(ppppppcVar16[3] + 2)" (* "*") (cast_expression "(ushort *)(ppppppcVar16[3] + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcVar16[3] + 2)" (( "(") (binary_expression "ppppppcVar16[3] + 2" (subscript_expression "ppppppcVar16[3]" (identifier "ppppppcVar16") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x1f")) () ")"))) (+ "+") (number_literal "0x6a8c")) () ")")))) (!= "!=") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) () ")")) (compound_statement "{\nLAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);\n      goto LAB_000cda68;\n    }" ({ "{") (labeled_statement "LAB_000cdb70:\n      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" (statement_identifier "LAB_000cdb70") (: ":") (expression_statement "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);" (assignment_expression "pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3)" (( "(") (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_178[-0x1ff1] + -0x10a3)" (( "(") (binary_expression "ppppppcStack_178[-0x1ff1] + -0x10a3" (subscript_expression "ppppppcStack_178[-0x1ff1]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ff1") (] "]")) (+ "+") (number_literal "-0x10a3")) () ")")))) (; ";"))) (goto_statement "goto LAB_000cda68;" (goto "goto") (statement_identifier "LAB_000cda68") (; ";")) (} "}"))) (expression_statement "ppppppcVar20 = (code ******)ppppppcVar21[8];" (assignment_expression "ppppppcVar20 = (code ******)ppppppcVar21[8]" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)ppppppcVar21[8]" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar21[8]" (identifier "ppppppcVar21") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);" (assignment_expression "ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" (identifier "ppppppcVar24") (= "=") (cast_expression "(code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[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 "*" (* "*")))))))) () ")") (call_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1)" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))" (( "(") (pointer_expression "*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" (* "*") (cast_expression "(code *)(ppppppcStack_178[-0x1f58] + 0x1b22)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcStack_178[-0x1f58] + 0x1b22)" (( "(") (binary_expression "ppppppcStack_178[-0x1f58] + 0x1b22" (subscript_expression "ppppppcStack_178[-0x1f58]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1f58") (] "]")) (+ "+") (number_literal "0x1b22")) () ")")))) () ")")) (argument_list "(ppppppcVar16[3],1)" (( "(") (subscript_expression "ppppppcVar16[3]" (identifier "ppppppcVar16") ([ "[") (number_literal "3") (] "]")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;" (if "if") (parenthesized_expression "(ppppppcVar20 != ppppppcVar24)" (( "(") (binary_expression "ppppppcVar20 != ppppppcVar24" (identifier "ppppppcVar20") (!= "!=") (identifier "ppppppcVar24")) () ")")) (goto_statement "goto LAB_000cdb70;" (goto "goto") (statement_identifier "LAB_000cdb70") (; ";"))) (expression_statement "ppppppcStack_1d8 = (code ******)0x0;" (assignment_expression "ppppppcStack_1d8 = (code ******)0x0" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcVar21 = &pppppcStack_170;" (assignment_expression "ppppppcVar21 = &pppppcStack_170" (identifier "ppppppcVar21") (= "=") (pointer_expression "&pppppcStack_170" (& "&") (identifier "pppppcStack_170"))) (; ";")) (expression_statement "pppppppcVar7 = extraout_v1;" (assignment_expression "pppppppcVar7 = extraout_v1" (identifier "pppppppcVar7") (= "=") (identifier "extraout_v1")) (; ";")) (expression_statement "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))\n    ;" (assignment_expression "ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" (identifier "ppppppcVar24") (= "=") (cast_expression "(code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))" (parenthesized_expression "(**(code **)(**(int **)(iVar23 + 4) + 0xcc))" (( "(") (pointer_expression "**(code **)(**(int **)(iVar23 + 4) + 0xcc)" (* "*") (pointer_expression "*(code **)(**(int **)(iVar23 + 4) + 0xcc)" (* "*") (cast_expression "(code **)(**(int **)(iVar23 + 4) + 0xcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(iVar23 + 4) + 0xcc)" (( "(") (binary_expression "**(int **)(iVar23 + 4) + 0xcc" (pointer_expression "**(int **)(iVar23 + 4)" (* "*") (pointer_expression "*(int **)(iVar23 + 4)" (* "*") (cast_expression "(int **)(iVar23 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (number_literal "0xcc")) () ")"))))) () ")")) (argument_list "(**(int **)(iVar23 + 4))" (( "(") (pointer_expression "**(int **)(iVar23 + 4)" (* "*") (pointer_expression "*(int **)(iVar23 + 4)" (* "*") (cast_expression "(int **)(iVar23 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")"))))) () ")"))))) (; ";")) (if_statement "if ((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       ) {\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" (if "if") (parenthesized_expression "((ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)\n       )" (( "(") (binary_expression "(ppppppcVar24 == (code ******)0x0) &&\n       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" (parenthesized_expression "(ppppppcVar24 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar24 == (code ******)0x0" (identifier "ppppppcVar24") (== "==") (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"))) () ")")) (&& "&&") (parenthesized_expression "(ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)" (( "(") (comma_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0" (assignment_expression "ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170)" (identifier "ppppppcVar24") (= "=") (cast_expression "(code ******)FUN_000c3260(pppppcStack_170)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c3260(pppppcStack_170)" (identifier "FUN_000c3260") (argument_list "(pppppcStack_170)" (( "(") (identifier "pppppcStack_170") () ")"))))) (, ",") (binary_expression "ppppppcVar24 == (code ******)0x0" (identifier "ppppppcVar24") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      ppppcVar38 = pppppcStack_170[1];\n      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);\n      ppppppcVar21 = ppppppcVar20;\n      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);\n    }" ({ "{") (expression_statement "ppppcVar38 = pppppcStack_170[1];" (assignment_expression "ppppcVar38 = pppppcStack_170[1]" (identifier "ppppcVar38") (= "=") (subscript_expression "pppppcStack_170[1]" (identifier "pppppcStack_170") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);" (assignment_expression "pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" (identifier "pppppppcVar7") (= "=") (cast_expression "(code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3])" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1fd9])" (( "(") (pointer_expression "*(code *)ppppppcStack_178[-0x1fd9]" (* "*") (cast_expression "(code *)ppppppcStack_178[-0x1fd9]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppppcStack_178[-0x1fd9]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1fd9") (] "]")))) () ")")) (argument_list "(ppppppcVar16[3])" (( "(") (subscript_expression "ppppppcVar16[3]" (identifier "ppppppcVar16") ([ "[") (number_literal "3") (] "]")) () ")"))))) (; ";")) (expression_statement "ppppppcVar21 = ppppppcVar20;" (assignment_expression "ppppppcVar21 = ppppppcVar20" (identifier "ppppppcVar21") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);" (call_expression "(*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38)" (parenthesized_expression "(*(code *)ppppppcStack_178[-0x1ebd])" (( "(") (pointer_expression "*(code *)ppppppcStack_178[-0x1ebd]" (* "*") (cast_expression "(code *)ppppppcStack_178[-0x1ebd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppppcStack_178[-0x1ebd]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1ebd") (] "]")))) () ")")) (argument_list "(ppppcVar38)" (( "(") (identifier "ppppcVar38") () ")"))) (; ";")) (} "}"))) (if_statement "if (pppppcStack_170 != (code *****)0x0) {\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" (if "if") (parenthesized_expression "(pppppcStack_170 != (code *****)0x0)" (( "(") (binary_expression "pppppcStack_170 != (code *****)0x0" (identifier "pppppcStack_170") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();\n    }" ({ "{") (expression_statement "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();" (call_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))()" (parenthesized_expression "(*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))" (( "(") (pointer_expression "*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" (* "*") (cast_expression "(code *)(ppppppcStack_178[-0x1f78] + 0x3ba)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppcStack_178[-0x1f78] + 0x3ba)" (( "(") (binary_expression "ppppppcStack_178[-0x1f78] + 0x3ba" (subscript_expression "ppppppcStack_178[-0x1f78]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1f78") (] "]")) (+ "+") (number_literal "0x3ba")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (iStack_16c == *piVar27) {\n    return ppppppcVar24;\n  }" (if "if") (parenthesized_expression "(iStack_16c == *piVar27)" (( "(") (binary_expression "iStack_16c == *piVar27" (identifier "iStack_16c") (== "==") (pointer_expression "*piVar27" (* "*") (identifier "piVar27"))) () ")")) (compound_statement "{\n    return ppppppcVar24;\n  }" ({ "{") (return_statement "return ppppppcVar24;" (return "return") (identifier "ppppppcVar24") (; ";")) (} "}"))) (expression_statement "pppppcVar37 = ppppppcStack_178[-0x1eca];" (assignment_expression "pppppcVar37 = ppppppcStack_178[-0x1eca]" (identifier "pppppcVar37") (= "=") (subscript_expression "ppppppcStack_178[-0x1eca]" (identifier "ppppppcStack_178") ([ "[") (number_literal "-0x1eca") (] "]"))) (; ";")) (expression_statement "pcVar4 = FUN_000cdc54;" (assignment_expression "pcVar4 = FUN_000cdc54" (identifier "pcVar4") (= "=") (identifier "FUN_000cdc54")) (; ";")) (expression_statement "iVar23 = iStack_16c;" (assignment_expression "iVar23 = iStack_16c" (identifier "iVar23") (= "=") (identifier "iStack_16c")) (; ";")) (expression_statement "(*(code *)pppppcVar37)();" (call_expression "(*(code *)pppppcVar37)()" (parenthesized_expression "(*(code *)pppppcVar37)" (( "(") (pointer_expression "*(code *)pppppcVar37" (* "*") (cast_expression "(code *)pppppcVar37" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppcVar37"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppcVar8 = pppppcVar37[0x30c74];" (assignment_expression "ppppcVar8 = pppppcVar37[0x30c74]" (identifier "ppppcVar8") (= "=") (subscript_expression "pppppcVar37[0x30c74]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c74") (] "]"))) (; ";")) (expression_statement "pppcStack_1b4 = *ppppcVar8;" (assignment_expression "pppcStack_1b4 = *ppppcVar8" (identifier "pppcStack_1b4") (= "=") (pointer_expression "*ppppcVar8" (* "*") (identifier "ppppcVar8"))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar23 + 0x74);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0x74)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar23 + 0x74)" (* "*") (cast_expression "(int *)(iVar23 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x74)" (( "(") (binary_expression "iVar23 + 0x74" (identifier "iVar23") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "piVar26 = *(int **)(iVar23 + 0x14);" (assignment_expression "piVar26 = *(int **)(iVar23 + 0x14)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(iVar23 + 0x14)" (* "*") (cast_expression "(int **)(iVar23 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar23 + 0x14)" (( "(") (binary_expression "iVar23 + 0x14" (identifier "iVar23") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "ppppcStack_1b0 = ppppcVar38;" (assignment_expression "ppppcStack_1b0 = ppppcVar38" (identifier "ppppcStack_1b0") (= "=") (identifier "ppppcVar38")) (; ";")) (expression_statement "ppppppcStack_1ac = ppppppcVar24;" (assignment_expression "ppppppcStack_1ac = ppppppcVar24" (identifier "ppppppcStack_1ac") (= "=") (identifier "ppppppcVar24")) (; ";")) (expression_statement "piStack_1a8 = piVar27;" (assignment_expression "piStack_1a8 = piVar27" (identifier "piStack_1a8") (= "=") (identifier "piVar27")) (; ";")) (expression_statement "ppppppcStack_1a4 = ppppppcVar16;" (assignment_expression "ppppppcStack_1a4 = ppppppcVar16" (identifier "ppppppcStack_1a4") (= "=") (identifier "ppppppcVar16")) (; ";")) (expression_statement "pppppppcStack_1a0 = pppppppcVar29;" (assignment_expression "pppppppcStack_1a0 = pppppppcVar29" (identifier "pppppppcStack_1a0") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "ppppppcStack_19c = ppppppcVar20;" (assignment_expression "ppppppcStack_19c = ppppppcVar20" (identifier "ppppppcStack_19c") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "iStack_198 = iVar32;" (assignment_expression "iStack_198 = iVar32" (identifier "iStack_198") (= "=") (identifier "iVar32")) (; ";")) (expression_statement "pppppppcStack_194 = pppppppcVar33;" (assignment_expression "pppppppcStack_194 = pppppppcVar33" (identifier "pppppppcStack_194") (= "=") (identifier "pppppppcVar33")) (; ";")) (expression_statement "ppppppcStack_190 = ppppppcVar28;" (assignment_expression "ppppppcStack_190 = ppppppcVar28" (identifier "ppppppcStack_190") (= "=") (identifier "ppppppcVar28")) (; ";")) (expression_statement "pcStack_18c = pcVar4;" (assignment_expression "pcStack_18c = pcVar4" (identifier "pcStack_18c") (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "(*(code *)(pppppcVar37[0x30bbb] + 0x581))();" (call_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))()" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bbb] + 0x581))" (( "(") (pointer_expression "*(code *)(pppppcVar37[0x30bbb] + 0x581)" (* "*") (cast_expression "(code *)(pppppcVar37[0x30bbb] + 0x581)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcVar37[0x30bbb] + 0x581)" (( "(") (binary_expression "pppppcVar37[0x30bbb] + 0x581" (subscript_expression "pppppcVar37[0x30bbb]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30bbb") (] "]")) (+ "+") (number_literal "0x581")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar32 = *(int *)(iVar23 + 0x28);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x28)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(iVar23 + 0x28)" (* "*") (cast_expression "(int *)(iVar23 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x28)" (( "(") (binary_expression "iVar23 + 0x28" (identifier "iVar23") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);" (assignment_expression "pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30)" (identifier "pppppppcVar29") (= "=") (binary_expression "(code *******)(uint)*(ushort *)(iVar23 + 0x30)" (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 *)(iVar23 + 0x30)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x30)" (( "(") (binary_expression "iVar23 + 0x30" (identifier "iVar23") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {\n    uVar39 = 0x108be;\n  }\n  else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" (if "if") (parenthesized_expression "((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38)))" (( "(") (binary_expression "(uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))" (call_expression "(uint)(piVar26[9] - (int)pppppppcVar29)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar26[9] - (int)pppppppcVar29)" (( "(") (binary_expression "piVar26[9] - (int)pppppppcVar29" (subscript_expression "piVar26[9]" (identifier "piVar26") ([ "[") (number_literal "9") (] "]")) (- "-") (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29"))) () ")"))) (< "<") (call_expression "(uint)(iVar32 - *(int *)(iVar34 + 0x38))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar32 - *(int *)(iVar34 + 0x38))" (( "(") (binary_expression "iVar32 - *(int *)(iVar34 + 0x38)" (identifier "iVar32") (- "-") (pointer_expression "*(int *)(iVar34 + 0x38)" (* "*") (cast_expression "(int *)(iVar34 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x38)" (( "(") (binary_expression "iVar34 + 0x38" (identifier "iVar34") (+ "+") (number_literal "0x38")) () ")"))))) () ")")))) () ")")) (compound_statement "{\n    uVar39 = 0x108be;\n  }" ({ "{") (expression_statement "uVar39 = 0x108be;" (assignment_expression "uVar39 = 0x108be" (identifier "uVar39") (= "=") (number_literal "0x108be")) (; ";")) (} "}")) (else_clause "else {\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" (else "else") (compound_statement "{\n    if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }\n    if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }\n    uVar2 = *(ushort *)(iVar23 + 0x30);\n    iVar34 = *(int *)(iVar23 + 0xc);\n    pbVar31 = (byte *)(piVar26[9] + -4);\n    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);\n    if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }\n    uVar41 = 0;\n    if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }\nLAB_000ce0b4:\n    uVar39 = 0x1094f;\n  }" ({ "{") (if_statement "if (pppppppcVar7 < pppppppcVar29) {\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }\n    else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" (if "if") (parenthesized_expression "(pppppppcVar7 < pppppppcVar29)" (( "(") (binary_expression "pppppppcVar7 < pppppppcVar29" (identifier "pppppppcVar7") (< "<") (identifier "pppppppcVar29")) () ")")) (compound_statement "{\n      ppppppcVar28 = ppppppcVar21;\n      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }\n      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);\n      if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }\n      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);\n      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);\n      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\n      pbVar30 = (byte *)0x0;\n    }" ({ "{") (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar21")) (; ";")) (if_statement "if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" (if "if") (parenthesized_expression "(pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21))" (( "(") (binary_expression "pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" (identifier "pppppppcVar29") (< "<") (cast_expression "(code *******)((int)pppppppcVar7 + (int)ppppppcVar21)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar7 + (int)ppppppcVar21)" (( "(") (binary_expression "(int)pppppppcVar7 + (int)ppppppcVar21" (cast_expression "(int)pppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar7")) (+ "+") (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21"))) () ")")))) () ")")) (compound_statement "{\n        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);\n      }" ({ "{") (expression_statement "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);" (assignment_expression "ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)((int)pppppppcVar29 - (int)pppppppcVar7)" (( "(") (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)pppppppcVar29 - (int)pppppppcVar7)" (( "(") (binary_expression "(int)pppppppcVar29 - (int)pppppppcVar7" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (- "-") (cast_expression "(int)pppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar7"))) () ")")))) (; ";")) (} "}"))) (expression_statement "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);" (assignment_expression "ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32)" (identifier "ppppppcVar20") (= "=") (cast_expression "(code ******)((int)pppppppcVar7 + iVar32)" (( "(") (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)pppppppcVar7 + iVar32)" (( "(") (binary_expression "(int)pppppppcVar7 + iVar32" (cast_expression "(int)pppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar7")) (+ "+") (identifier "iVar32")) () ")")))) (; ";")) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }\n      else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" (if "if") (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_178 == (code ******)0x0" (identifier "ppppppcStack_178") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcStack_1d8;\n      }" ({ "{") (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" (identifier "ppppcVar38") (= "=") (subscript_expression "pppppcVar37[0x30c76]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c76") (] "]"))) (; ";")) (expression_statement "ppppppcVar16 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar16 = ppppppcStack_1d8" (identifier "ppppppcVar16") (= "=") (identifier "ppppppcStack_1d8")) (; ";")) (} "}")) (else_clause "else {\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" (else "else") (compound_statement "{\n        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));\n        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n        ppppcVar38 = pppppcVar37[0x30c76];\n        ppppppcVar16 = ppppppcVar20;\n        ppppppcVar20 = ppppppcStack_1d8;\n      }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));" (assignment_expression "ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000c3260(*(undefined4 *)(iVar34 + 0x48))" (identifier "FUN_000c3260") (argument_list "(*(undefined4 *)(iVar34 + 0x48))" (( "(") (pointer_expression "*(undefined4 *)(iVar34 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar34 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + 0x48)" (( "(") (binary_expression "iVar34 + 0x48" (identifier "iVar34") (+ "+") (number_literal "0x48")) () ")")))) () ")"))))) (; ";")) (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" (if "if") (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" (( "(") (binary_expression "ppppppcVar16 != (code ******)0x0" (identifier "ppppppcVar16") (!= "!=") (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_000cdd30;" (goto "goto") (statement_identifier "LAB_000cdd30") (; ";"))) (expression_statement "ppppcVar38 = pppppcVar37[0x30c76];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c76]" (identifier "ppppcVar38") (= "=") (subscript_expression "pppppcVar37[0x30c76]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c76") (] "]"))) (; ";")) (expression_statement "ppppppcVar16 = ppppppcVar20;" (assignment_expression "ppppppcVar16 = ppppppcVar20" (identifier "ppppppcVar16") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "ppppppcVar20 = ppppppcStack_1d8;" (assignment_expression "ppppppcVar20 = ppppppcStack_1d8" (identifier "ppppppcVar20") (= "=") (identifier "ppppppcStack_1d8")) (; ";")) (} "}")))) (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar21 - (int)ppppppcVar28)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar21 - (int)ppppppcVar28)" (( "(") (binary_expression "(int)ppppppcVar21 - (int)ppppppcVar28" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (- "-") (cast_expression "(int)ppppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar28"))) () ")")))) (; ";")) (expression_statement "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);" (call_expression "(*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28)" (parenthesized_expression "(*(code *)ppppcVar38)" (( "(") (pointer_expression "*(code *)ppppcVar38" (* "*") (cast_expression "(code *)ppppcVar38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppcVar38"))) () ")")) (argument_list "(ppppppcVar16,ppppppcVar20,ppppppcVar28)" (( "(") (identifier "ppppppcVar16") (, ",") (identifier "ppppppcVar20") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (( "(") (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_1d8")) (+ "+") (cast_expression "(int)ppppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar28"))) () ")")))) (; ";")) (expression_statement "pbVar30 = (byte *)0x0;" (assignment_expression "pbVar30 = (byte *)0x0" (identifier "pbVar30") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" (else "else") (compound_statement "{\n      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);\n    }" ({ "{") (expression_statement "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);" (assignment_expression "pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" (identifier "pbVar30") (= "=") (cast_expression "(byte *)((int)pppppppcVar7 - (int)pppppppcVar29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar7 - (int)pppppppcVar29)" (( "(") (binary_expression "(int)pppppppcVar7 - (int)pppppppcVar29" (cast_expression "(int)pppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar7")) (- "-") (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29"))) () ")")))) (; ";")) (} "}")))) (if_statement "if (ppppppcVar21 == (code ******)0x0) {\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" (if "if") (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar21 == (code ******)0x0" (identifier "ppppppcVar21") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppppppcVar16 = (code ******)0x0;\n      goto LAB_000cdd30;\n    }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)0x0;" (assignment_expression "ppppppcVar16 = (code ******)0x0" (identifier "ppppppcVar16") (= "=") (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_000cdd30;" (goto "goto") (statement_identifier "LAB_000cdd30") (; ";")) (} "}"))) (expression_statement "uVar2 = *(ushort *)(iVar23 + 0x30);" (assignment_expression "uVar2 = *(ushort *)(iVar23 + 0x30)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(iVar23 + 0x30)" (* "*") (cast_expression "(ushort *)(iVar23 + 0x30)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x30)" (( "(") (binary_expression "iVar23 + 0x30" (identifier "iVar23") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pbVar31 = (byte *)(piVar26[9] + -4);" (assignment_expression "pbVar31 = (byte *)(piVar26[9] + -4)" (identifier "pbVar31") (= "=") (cast_expression "(byte *)(piVar26[9] + -4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar26[9] + -4)" (( "(") (binary_expression "piVar26[9] + -4" (subscript_expression "piVar26[9]" (identifier "piVar26") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "iStack_1bc = *(int *)(iVar32 + (uint)uVar2);" (assignment_expression "iStack_1bc = *(int *)(iVar32 + (uint)uVar2)" (identifier "iStack_1bc") (= "=") (pointer_expression "*(int *)(iVar32 + (uint)uVar2)" (* "*") (cast_expression "(int *)(iVar32 + (uint)uVar2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar32 + (uint)uVar2)" (( "(") (binary_expression "iVar32 + (uint)uVar2" (identifier "iVar32") (+ "+") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar23 + 1) & 4) == 0) {\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }\n    else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" (if "if") (parenthesized_expression "((*(byte *)(iVar23 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(iVar23 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar23 + 1) & 4)" (( "(") (binary_expression "*(byte *)(iVar23 + 1) & 4" (pointer_expression "*(byte *)(iVar23 + 1)" (* "*") (cast_expression "(byte *)(iVar23 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 1)" (( "(") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar32 = *(int *)(iVar23 + 0x2c);\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }\n      (*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);\n      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;\n    }" ({ "{") (expression_statement "iVar32 = *(int *)(iVar23 + 0x2c);" (assignment_expression "iVar32 = *(int *)(iVar23 + 0x2c)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(iVar23 + 0x2c)" (* "*") (cast_expression "(int *)(iVar23 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0x2c)" (( "(") (binary_expression "iVar23 + 0x2c" (identifier "iVar23") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" (if "if") (parenthesized_expression "(pbVar31 == (byte *)0x0)" (( "(") (binary_expression "pbVar31 == (byte *)0x0" (identifier "pbVar31") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (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") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar34 == 0) {\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }\n      else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" (if "if") (parenthesized_expression "(iVar34 == 0)" (( "(") (binary_expression "iVar34 == 0" (identifier "iVar34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);\n        if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }\n        *(int *)(iVar23 + 0xc) = iVar34;\n      }" ({ "{") (labeled_statement "LAB_000cdf84:\n        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" (statement_identifier "LAB_000cdf84") (: ":") (expression_statement "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);" (assignment_expression "iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" (identifier "iVar34") (= "=") (call_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34)" (parenthesized_expression "(*(code *)(pppppcVar37[0x30bd5] + 0xd5))" (( "(") (pointer_expression "*(code *)(pppppcVar37[0x30bd5] + 0xd5)" (* "*") (cast_expression "(code *)(pppppcVar37[0x30bd5] + 0xd5)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcVar37[0x30bd5] + 0xd5)" (( "(") (binary_expression "pppppcVar37[0x30bd5] + 0xd5" (subscript_expression "pppppcVar37[0x30bd5]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30bd5") (] "]")) (+ "+") (number_literal "0xd5")) () ")")))) () ")")) (argument_list "(iVar34)" (( "(") (identifier "iVar34") () ")")))) (; ";"))) (if_statement "if (iVar34 == 0) {\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" (if "if") (parenthesized_expression "(iVar34 == 0)" (( "(") (binary_expression "iVar34 == 0" (identifier "iVar34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ppppppcVar16 = (code ******)&DAT_00000007;\n          goto LAB_000cdd30;\n        }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)&DAT_00000007;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_00000007" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)&DAT_00000007" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000cdd30;" (goto "goto") (statement_identifier "LAB_000cdd30") (; ";")) (} "}"))) (expression_statement "*(int *)(iVar23 + 0xc) = iVar34;" (assignment_expression "*(int *)(iVar23 + 0xc) = iVar34" (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar34")) (; ";")) (} "}")) (else_clause "else {\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" (else "else") (compound_statement "{\n        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();\n        iVar34 = *(int *)(iVar23 + 0xc);\n        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;\n      }" ({ "{") (expression_statement "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();" (assignment_expression "iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])()" (identifier "iVar17") (= "=") (call_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])()" (parenthesized_expression "(*(code *)pppppcVar37[0x30b3d][-0x2d0])" (( "(") (pointer_expression "*(code *)pppppcVar37[0x30b3d][-0x2d0]" (* "*") (cast_expression "(code *)pppppcVar37[0x30b3d][-0x2d0]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppcVar37[0x30b3d][-0x2d0]" (subscript_expression "pppppcVar37[0x30b3d]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30b3d") (] "]")) ([ "[") (number_literal "-0x2d0") (] "]")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))\n        goto LAB_000cdf84;" (if "if") (parenthesized_expression "(iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))" (( "(") (binary_expression "iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (identifier "iVar17") (< "<") (cast_expression "(int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (( "(") (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (( "(") (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" (identifier "pbVar31") (+ "+") (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" (( "(") (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" (( "(") (binary_expression "iVar32 + -1" (identifier "iVar32") (+ "+") (number_literal "-1")) () ")")) (- "-") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) () ")"))) () ")"))) (/ "/") (cast_expression "(uint)pbVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar31"))) (<< "<<") (number_literal "2")) () ")")))) () ")")) (goto_statement "goto LAB_000cdf84;" (goto "goto") (statement_identifier "LAB_000cdf84") (; ";"))) (} "}")))) (expression_statement "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);" (call_expression "(*(code *)pppppcVar37[0x30c41])\n                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c41])" (( "(") (pointer_expression "*(code *)pppppcVar37[0x30c41]" (* "*") (cast_expression "(code *)pppppcVar37[0x30c41]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppcVar37[0x30c41]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c41") (] "]")))) () ")")) (argument_list "(iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2)" (( "(") (identifier "iVar34") (, ",") (number_literal "0") (, ",") (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2" (binary_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31" (call_expression "(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar31 + ((iVar32 + -1) - (uint)uVar2))" (( "(") (binary_expression "pbVar31 + ((iVar32 + -1) - (uint)uVar2)" (identifier "pbVar31") (+ "+") (parenthesized_expression "((iVar32 + -1) - (uint)uVar2)" (( "(") (binary_expression "(iVar32 + -1) - (uint)uVar2" (parenthesized_expression "(iVar32 + -1)" (( "(") (binary_expression "iVar32 + -1" (identifier "iVar32") (+ "+") (number_literal "-1")) () ")")) (- "-") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) () ")"))) () ")"))) (/ "/") (cast_expression "(uint)pbVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar31"))) (<< "<<") (number_literal "2")) () ")"))) (; ";")) (expression_statement "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;" (assignment_expression "*(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" (* "*") (cast_expression "(byte *)(iVar23 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 1)" (( "(") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1")) () ")")))) (= "=") (binary_expression "*(byte *)(iVar23 + 1) | 4" (pointer_expression "*(byte *)(iVar23 + 1)" (* "*") (cast_expression "(byte *)(iVar23 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 1)" (( "(") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" (else "else") (compound_statement "{\n      if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }\n      uVar41 = (uint)pbVar30 / (uint)pbVar31;\n      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);\n      iVar32 = *(int *)(iVar34 + uVar41 * 4);\n      if (iVar32 != 0) goto LAB_000cddd4;\n    }" ({ "{") (if_statement "if (pbVar31 == (byte *)0x0) {\n        trap(7);\n      }" (if "if") (parenthesized_expression "(pbVar31 == (byte *)0x0)" (( "(") (binary_expression "pbVar31 == (byte *)0x0" (identifier "pbVar31") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (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 "uVar41 = (uint)pbVar30 / (uint)pbVar31;" (assignment_expression "uVar41 = (uint)pbVar30 / (uint)pbVar31" (identifier "uVar41") (= "=") (binary_expression "(uint)pbVar30 / (uint)pbVar31" (cast_expression "(uint)pbVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar30")) (/ "/") (cast_expression "(uint)pbVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar31")))) (; ";")) (expression_statement "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);" (assignment_expression "pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31)" (identifier "pbVar40") (= "=") (cast_expression "(byte *)((uint)pbVar30 % (uint)pbVar31)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pbVar30 % (uint)pbVar31)" (( "(") (binary_expression "(uint)pbVar30 % (uint)pbVar31" (cast_expression "(uint)pbVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar30")) (% "%") (cast_expression "(uint)pbVar31" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar31"))) () ")")))) (; ";")) (expression_statement "iVar32 = *(int *)(iVar34 + uVar41 * 4);" (assignment_expression "iVar32 = *(int *)(iVar34 + uVar41 * 4)" (identifier "iVar32") (= "=") (pointer_expression "*(int *)(iVar34 + uVar41 * 4)" (* "*") (cast_expression "(int *)(iVar34 + uVar41 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + uVar41 * 4)" (( "(") (binary_expression "iVar34 + uVar41 * 4" (identifier "iVar34") (+ "+") (binary_expression "uVar41 * 4" (identifier "uVar41") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar32 != 0) goto LAB_000cddd4;" (if "if") (parenthesized_expression "(iVar32 != 0)" (( "(") (binary_expression "iVar32 != 0" (identifier "iVar32") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cddd4;" (goto "goto") (statement_identifier "LAB_000cddd4") (; ";"))) (} "}")))) (expression_statement "uVar41 = 0;" (assignment_expression "uVar41 = 0" (identifier "uVar41") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iStack_1bc != 0) {\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" (if "if") (parenthesized_expression "(iStack_1bc != 0)" (( "(") (binary_expression "iStack_1bc != 0" (identifier "iStack_1bc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar34 = *(int *)(iVar23 + 0xc);\n      pbVar40 = pbVar30;\n      iVar32 = iStack_1bc;\nLAB_000cddd4:\n      iStack_1bc = iVar32;\n      uVar39 = 2;\n      ppppcVar38 = pppppcVar37[0x30bbb];\n      iVar32 = uVar41 + 1;\n      ppppcVar35 = pppppcVar37[0x30bde];\n      if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }\n      iVar17 = iVar32 * 4;\n      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;\n      ppppcVar9 = pppppcVar37[0x30be2];\n      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n      ppppppcVar28 = ppppppcVar21;\n      if (pbVar40 < pbVar31) goto LAB_000cde58;\n      do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );\n    }" ({ "{") (expression_statement "iVar34 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar34 = *(int *)(iVar23 + 0xc)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pbVar40 = pbVar30;" (assignment_expression "pbVar40 = pbVar30" (identifier "pbVar40") (= "=") (identifier "pbVar30")) (; ";")) (expression_statement "iVar32 = iStack_1bc;" (assignment_expression "iVar32 = iStack_1bc" (identifier "iVar32") (= "=") (identifier "iStack_1bc")) (; ";")) (labeled_statement "LAB_000cddd4:\n      iStack_1bc = iVar32;" (statement_identifier "LAB_000cddd4") (: ":") (expression_statement "iStack_1bc = iVar32;" (assignment_expression "iStack_1bc = iVar32" (identifier "iStack_1bc") (= "=") (identifier "iVar32")) (; ";"))) (expression_statement "uVar39 = 2;" (assignment_expression "uVar39 = 2" (identifier "uVar39") (= "=") (number_literal "2")) (; ";")) (expression_statement "ppppcVar38 = pppppcVar37[0x30bbb];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30bbb]" (identifier "ppppcVar38") (= "=") (subscript_expression "pppppcVar37[0x30bbb]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30bbb") (] "]"))) (; ";")) (expression_statement "iVar32 = uVar41 + 1;" (assignment_expression "iVar32 = uVar41 + 1" (identifier "iVar32") (= "=") (binary_expression "uVar41 + 1" (identifier "uVar41") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppcVar35 = pppppcVar37[0x30bde];" (assignment_expression "ppppcVar35 = pppppcVar37[0x30bde]" (identifier "ppppcVar35") (= "=") (subscript_expression "pppppcVar37[0x30bde]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30bde") (] "]"))) (; ";")) (if_statement "if (ppppppcStack_178 != (code ******)0x0) {\n        uVar39 = 0;\n      }" (if "if") (parenthesized_expression "(ppppppcStack_178 != (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_178 != (code ******)0x0" (identifier "ppppppcStack_178") (!= "!=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar39 = 0;\n      }" ({ "{") (expression_statement "uVar39 = 0;" (assignment_expression "uVar39 = 0" (identifier "uVar39") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" (identifier "iVar17") (= "=") (binary_expression "iVar32 * 4" (identifier "iVar32") (* "*") (number_literal "4"))) (; ";")) (expression_statement "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar34 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar34 + iVar17 + -4)" (* "*") (cast_expression "(int *)(iVar34 + iVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar34 + iVar17 + -4)" (( "(") (binary_expression "iVar34 + iVar17 + -4" (binary_expression "iVar34 + iVar17" (identifier "iVar34") (+ "+") (identifier "iVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iStack_1bc")) (; ";")) (expression_statement "ppppcVar9 = pppppcVar37[0x30be2];" (assignment_expression "ppppcVar9 = pppppcVar37[0x30be2]" (identifier "ppppcVar9") (= "=") (subscript_expression "pppppcVar37[0x30be2]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30be2") (] "]"))) (; ";")) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" (identifier "pbVar30") (= "=") (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" (( "(") (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (+ "+") (cast_expression "(int)pbVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar40"))) () ")")))) (; ";")) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar21")) (; ";")) (if_statement "if (pbVar40 < pbVar31) goto LAB_000cde58;" (if "if") (parenthesized_expression "(pbVar40 < pbVar31)" (( "(") (binary_expression "pbVar40 < pbVar31" (identifier "pbVar40") (< "<") (identifier "pbVar31")) () ")")) (goto_statement "goto LAB_000cde58;" (goto "goto") (statement_identifier "LAB_000cde58") (; ";"))) (do_statement "do {\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      } while( true );" (do "do") (compound_statement "{\n        iVar14 = *(int *)(iVar23 + 0xc);\n        pbVar40 = pbVar40 + -(int)pbVar31;\n        iVar34 = *(int *)(iVar14 + iVar17);\n        if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }\n        while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }\n      }" ({ "{") (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pbVar40 = pbVar40 + -(int)pbVar31;" (assignment_expression "pbVar40 = pbVar40 + -(int)pbVar31" (identifier "pbVar40") (= "=") (binary_expression "pbVar40 + -(int)pbVar31" (identifier "pbVar40") (+ "+") (unary_expression "-(int)pbVar31" (- "-") (cast_expression "(int)pbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar31"))))) (; ";")) (expression_statement "iVar34 = *(int *)(iVar14 + iVar17);" (assignment_expression "iVar34 = *(int *)(iVar14 + iVar17)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(iVar14 + iVar17)" (* "*") (cast_expression "(int *)(iVar14 + iVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar17)" (( "(") (binary_expression "iVar14 + iVar17" (identifier "iVar14") (+ "+") (identifier "iVar17")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar14 + iVar17) == 0) {\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + iVar17) == 0)" (( "(") (binary_expression "*(int *)(iVar14 + iVar17) == 0" (pointer_expression "*(int *)(iVar14 + iVar17)" (* "*") (cast_expression "(int *)(iVar14 + iVar17)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar17)" (( "(") (binary_expression "iVar14 + iVar17" (identifier "iVar14") (+ "+") (identifier "iVar17")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);\n          goto LAB_000cdea8;\n        }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)\n                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc)" (parenthesized_expression "(*(code *)(ppppcVar9 + -0xa58))" (( "(") (pointer_expression "*(code *)(ppppcVar9 + -0xa58)" (* "*") (cast_expression "(code *)(ppppcVar9 + -0xa58)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar9 + -0xa58)" (( "(") (binary_expression "ppppcVar9 + -0xa58" (identifier "ppppcVar9") (+ "+") (number_literal "-0xa58")) () ")")))) () ")")) (argument_list "(piVar26,iStack_1bc,0,&iStack_1bc)" (( "(") (identifier "piVar26") (, ",") (identifier "iStack_1bc") (, ",") (number_literal "0") (, ",") (pointer_expression "&iStack_1bc" (& "&") (identifier "iStack_1bc")) () ")"))))) (; ";")) (goto_statement "goto LAB_000cdea8;" (goto "goto") (statement_identifier "LAB_000cdea8") (; ";")) (} "}"))) (while_statement "while( true ) {\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          iStack_1bc = iVar34;\n          iVar32 = iVar32 + 1;\n          iVar17 = iVar32 * 4;\n          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;\n          if (pbVar31 <= pbVar40) break;\n          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);\n          ppppppcVar28 = ppppppcVar21;\nLAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;\n          if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }\n          ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);\n          iVar34 = iStack_1b8;\n          if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }\n          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;\n          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);\nLAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;\n          if (iStack_1bc == 0) goto LAB_000ce0b4;\n          iVar14 = *(int *)(iVar23 + 0xc);\n          iVar34 = iStack_1bc;\n        }" ({ "{") (expression_statement "iStack_1bc = iVar34;" (assignment_expression "iStack_1bc = iVar34" (identifier "iStack_1bc") (= "=") (identifier "iVar34")) (; ";")) (expression_statement "iVar32 = iVar32 + 1;" (assignment_expression "iVar32 = iVar32 + 1" (identifier "iVar32") (= "=") (binary_expression "iVar32 + 1" (identifier "iVar32") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar17 = iVar32 * 4;" (assignment_expression "iVar17 = iVar32 * 4" (identifier "iVar17") (= "=") (binary_expression "iVar32 * 4" (identifier "iVar32") (* "*") (number_literal "4"))) (; ";")) (expression_statement "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc;" (assignment_expression "*(int *)(iVar14 + iVar17 + -4) = iStack_1bc" (pointer_expression "*(int *)(iVar14 + iVar17 + -4)" (* "*") (cast_expression "(int *)(iVar14 + iVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar17 + -4)" (( "(") (binary_expression "iVar14 + iVar17 + -4" (binary_expression "iVar14 + iVar17" (identifier "iVar14") (+ "+") (identifier "iVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iStack_1bc")) (; ";")) (if_statement "if (pbVar31 <= pbVar40) break;" (if "if") (parenthesized_expression "(pbVar31 <= pbVar40)" (( "(") (binary_expression "pbVar31 <= pbVar40" (identifier "pbVar31") (<= "<=") (identifier "pbVar40")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);" (assignment_expression "pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40)" (identifier "pbVar30") (= "=") (cast_expression "(byte *)((int)ppppppcVar21 + (int)pbVar40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar21 + (int)pbVar40)" (( "(") (binary_expression "(int)ppppppcVar21 + (int)pbVar40" (cast_expression "(int)ppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar21")) (+ "+") (cast_expression "(int)pbVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar40"))) () ")")))) (; ";")) (expression_statement "ppppppcVar28 = ppppppcVar21;" (assignment_expression "ppppppcVar28 = ppppppcVar21" (identifier "ppppppcVar28") (= "=") (identifier "ppppppcVar21")) (; ";")) (labeled_statement "LAB_000cde58:\n          ppppppcVar21 = (code ******)0x0;" (statement_identifier "LAB_000cde58") (: ":") (expression_statement "ppppppcVar21 = (code ******)0x0;" (assignment_expression "ppppppcVar21 = (code ******)0x0" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (if_statement "if (pbVar31 < pbVar30) {\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" (if "if") (parenthesized_expression "(pbVar31 < pbVar30)" (( "(") (binary_expression "pbVar31 < pbVar30" (identifier "pbVar31") (< "<") (identifier "pbVar30")) () ")")) (compound_statement "{\n            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));\n            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);\n          }" ({ "{") (expression_statement "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));" (assignment_expression "ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" (identifier "ppppppcVar21") (= "=") (cast_expression "(code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31))" (( "(") (binary_expression "(int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31)" (cast_expression "(int)ppppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar28")) (+ "+") (parenthesized_expression "((int)pbVar40 - (int)pbVar31)" (( "(") (binary_expression "(int)pbVar40 - (int)pbVar31" (cast_expression "(int)pbVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar40")) (- "-") (cast_expression "(int)pbVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar31"))) () ")"))) () ")")))) (; ";")) (expression_statement "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);" (assignment_expression "ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)(pbVar31 + -(int)pbVar40)" (( "(") (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 "(pbVar31 + -(int)pbVar40)" (( "(") (binary_expression "pbVar31 + -(int)pbVar40" (identifier "pbVar31") (+ "+") (unary_expression "-(int)pbVar40" (- "-") (cast_expression "(int)pbVar40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar40")))) () ")")))) (; ";")) (} "}"))) (expression_statement "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);" (assignment_expression "ppppppcVar16 = (code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)\n                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (parenthesized_expression "(**(code **)(*piVar26 + 0xcc))" (( "(") (pointer_expression "**(code **)(*piVar26 + 0xcc)" (* "*") (pointer_expression "*(code **)(*piVar26 + 0xcc)" (* "*") (cast_expression "(code **)(*piVar26 + 0xcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar26 + 0xcc)" (( "(") (binary_expression "*piVar26 + 0xcc" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (+ "+") (number_literal "0xcc")) () ")"))))) () ")")) (argument_list "(*piVar26,iStack_1bc,&iStack_1b8,uVar39)" (( "(") (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (, ",") (identifier "iStack_1bc") (, ",") (pointer_expression "&iStack_1b8" (& "&") (identifier "iStack_1b8")) (, ",") (identifier "uVar39") () ")"))))) (; ";")) (expression_statement "iVar34 = iStack_1b8;" (assignment_expression "iVar34 = iStack_1b8" (identifier "iVar34") (= "=") (identifier "iStack_1b8")) (; ";")) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" (if "if") (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar16 == (code ******)0x0" (identifier "ppppppcVar16") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));\n            iStack_1bc = **(int **)(iStack_1b8 + 4);\n            if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }\n          }" ({ "{") (expression_statement "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));" (assignment_expression "pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" (identifier "pbVar30") (= "=") (cast_expression "(byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4))" (( "(") (binary_expression "(int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4)" (cast_expression "(int)*(int **)(iStack_1b8 + 4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(int **)(iStack_1b8 + 4)" (* "*") (cast_expression "(int **)(iStack_1b8 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_1b8 + 4)" (( "(") (binary_expression "iStack_1b8 + 4" (identifier "iStack_1b8") (+ "+") (number_literal "4")) () ")"))))) (+ "+") (cast_expression "(int)(pbVar40 + 4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar40 + 4)" (( "(") (binary_expression "pbVar40 + 4" (identifier "pbVar40") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (expression_statement "iStack_1bc = **(int **)(iStack_1b8 + 4);" (assignment_expression "iStack_1bc = **(int **)(iStack_1b8 + 4)" (identifier "iStack_1bc") (= "=") (pointer_expression "**(int **)(iStack_1b8 + 4)" (* "*") (pointer_expression "*(int **)(iStack_1b8 + 4)" (* "*") (cast_expression "(int **)(iStack_1b8 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_1b8 + 4)" (( "(") (binary_expression "iStack_1b8 + 4" (identifier "iStack_1b8") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (if_statement "if (ppppppcStack_178 == (code ******)0x0) {\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }\n            else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" (if "if") (parenthesized_expression "(ppppppcStack_178 == (code ******)0x0)" (( "(") (binary_expression "ppppppcStack_178 == (code ******)0x0" (identifier "ppppppcStack_178") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pbVar40 = (byte *)0x0;\n              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);\n              ppppppcVar16 = ppppppcStack_178;\n              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);\n            }" ({ "{") (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" (identifier "pbVar40") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" (( "(") (pointer_expression "*(code *)pppppcVar37[0x30c76]" (* "*") (cast_expression "(code *)pppppcVar37[0x30c76]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppcVar37[0x30c76]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c76") (] "]")))) () ")")) (argument_list "(ppppppcStack_1d8,pbVar30,ppppppcVar28)" (( "(") (identifier "ppppppcStack_1d8") (, ",") (identifier "pbVar30") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (expression_statement "ppppppcVar16 = ppppppcStack_178;" (assignment_expression "ppppppcVar16 = ppppppcStack_178" (identifier "ppppppcVar16") (= "=") (identifier "ppppppcStack_178")) (; ";")) (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iVar34);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iVar34)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" (( "(") (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" (* "*") (cast_expression "(code *)(ppppcVar38 + 0x3ba)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar38 + 0x3ba)" (( "(") (binary_expression "ppppcVar38 + 0x3ba" (identifier "ppppcVar38") (+ "+") (number_literal "0x3ba")) () ")")))) () ")")) (argument_list "(iVar34)" (( "(") (identifier "iVar34") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" (else "else") (compound_statement "{\n              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);\n              if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }\n              pbVar40 = (byte *)0x0;\n              if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }\n            }" ({ "{") (expression_statement "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);" (assignment_expression "ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar35 + 0xc98))" (( "(") (pointer_expression "*(code *)(ppppcVar35 + 0xc98)" (* "*") (cast_expression "(code *)(ppppcVar35 + 0xc98)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar35 + 0xc98)" (( "(") (binary_expression "ppppcVar35 + 0xc98" (identifier "ppppcVar35") (+ "+") (number_literal "0xc98")) () ")")))) () ")")) (argument_list "(iStack_1b8)" (( "(") (identifier "iStack_1b8") () ")"))))) (; ";")) (if_statement "if (ppppppcVar16 == (code ******)0x0) {\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" (if "if") (parenthesized_expression "(ppppppcVar16 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar16 == (code ******)0x0" (identifier "ppppppcVar16") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);\n              }" ({ "{") (expression_statement "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);" (call_expression "(*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28)" (parenthesized_expression "(*(code *)pppppcVar37[0x30c76])" (( "(") (pointer_expression "*(code *)pppppcVar37[0x30c76]" (* "*") (cast_expression "(code *)pppppcVar37[0x30c76]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppcVar37[0x30c76]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c76") (] "]")))) () ")")) (argument_list "(pbVar30,ppppppcStack_1d8,ppppppcVar28)" (( "(") (identifier "pbVar30") (, ",") (identifier "ppppppcStack_1d8") (, ",") (identifier "ppppppcVar28") () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar40 = (byte *)0x0;" (assignment_expression "pbVar40 = (byte *)0x0" (identifier "pbVar40") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iStack_1b8 != 0) {\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" (if "if") (parenthesized_expression "(iStack_1b8 != 0)" (( "(") (binary_expression "iStack_1b8 != 0" (identifier "iStack_1b8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);\n              }" ({ "{") (expression_statement "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);" (call_expression "(*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8)" (parenthesized_expression "(*(code *)(ppppcVar38 + 0x3ba))" (( "(") (pointer_expression "*(code *)(ppppcVar38 + 0x3ba)" (* "*") (cast_expression "(code *)(ppppcVar38 + 0x3ba)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar38 + 0x3ba)" (( "(") (binary_expression "ppppcVar38 + 0x3ba" (identifier "ppppcVar38") (+ "+") (number_literal "0x3ba")) () ")")))) () ")")) (argument_list "(iStack_1b8)" (( "(") (identifier "iStack_1b8") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (if_statement "if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;" (if "if") (parenthesized_expression "(ppppppcVar21 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar21 == (code ******)0x0" (identifier "ppppppcVar21") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000cdd30;" (goto "goto") (statement_identifier "LAB_000cdd30") (; ";"))) (expression_statement "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);" (assignment_expression "ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (identifier "ppppppcStack_1d8") (= "=") (cast_expression "(code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcStack_1d8 + (int)ppppppcVar28)" (( "(") (binary_expression "(int)ppppppcStack_1d8 + (int)ppppppcVar28" (cast_expression "(int)ppppppcStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_1d8")) (+ "+") (cast_expression "(int)ppppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar28"))) () ")")))) (; ";")) (labeled_statement "LAB_000cdea8:\n          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" (statement_identifier "LAB_000cdea8") (: ":") (if_statement "if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;" (if "if") (parenthesized_expression "(ppppppcVar16 != (code ******)0x0)" (( "(") (binary_expression "ppppppcVar16 != (code ******)0x0" (identifier "ppppppcVar16") (!= "!=") (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_000cdd30;" (goto "goto") (statement_identifier "LAB_000cdd30") (; ";")))) (if_statement "if (iStack_1bc == 0) goto LAB_000ce0b4;" (if "if") (parenthesized_expression "(iStack_1bc == 0)" (( "(") (binary_expression "iStack_1bc == 0" (identifier "iStack_1bc") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000ce0b4;" (goto "goto") (statement_identifier "LAB_000ce0b4") (; ";"))) (expression_statement "iVar14 = *(int *)(iVar23 + 0xc);" (assignment_expression "iVar14 = *(int *)(iVar23 + 0xc)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar23 + 0xc)" (* "*") (cast_expression "(int *)(iVar23 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 0xc)" (( "(") (binary_expression "iVar23 + 0xc" (identifier "iVar23") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar34 = iStack_1bc;" (assignment_expression "iVar34 = iStack_1bc" (identifier "iVar34") (= "=") (identifier "iStack_1bc")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000ce0b4:\n    uVar39 = 0x1094f;" (statement_identifier "LAB_000ce0b4") (: ":") (expression_statement "uVar39 = 0x1094f;" (assignment_expression "uVar39 = 0x1094f" (identifier "uVar39") (= "=") (number_literal "0x1094f")) (; ";"))) (} "}")))) (expression_statement "ppppppcVar16 = (code ******)&DAT_0000000b;" (assignment_expression "ppppppcVar16 = (code ******)&DAT_0000000b" (identifier "ppppppcVar16") (= "=") (cast_expression "(code ******)&DAT_0000000b" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b")))) (; ";")) (expression_statement "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897);" (call_expression "(*(code *)pppppcVar37[0x30be3])\n            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" (parenthesized_expression "(*(code *)pppppcVar37[0x30be3])" (( "(") (pointer_expression "*(code *)pppppcVar37[0x30be3]" (* "*") (cast_expression "(code *)pppppcVar37[0x30be3]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppcVar37[0x30be3]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30be3") (] "]")))) () ")")) (argument_list "(0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,\n             pppppcVar37[0x30b41] + 0x1897)" (( "(") (number_literal "0xb") (, ",") (binary_expression "pppppcVar37[0x30b42] + -0x18de" (subscript_expression "pppppcVar37[0x30b42]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30b42") (] "]")) (+ "+") (number_literal "-0x18de")) (, ",") (binary_expression "pppppcVar37[0x30b42] + -0x1799" (subscript_expression "pppppcVar37[0x30b42]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30b42") (] "]")) (+ "+") (number_literal "-0x1799")) (, ",") (identifier "uVar39") (, ",") (binary_expression "pppppcVar37[0x30b41] + 0x1897" (subscript_expression "pppppcVar37[0x30b41]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30b41") (] "]")) (+ "+") (number_literal "0x1897")) () ")"))) (; ";")) (labeled_statement "LAB_000cdd30:\n  if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" (statement_identifier "LAB_000cdd30") (: ":") (if_statement "if (pppcStack_1b4 == *ppppcVar8) {\n    return ppppppcVar16;\n  }" (if "if") (parenthesized_expression "(pppcStack_1b4 == *ppppcVar8)" (( "(") (binary_expression "pppcStack_1b4 == *ppppcVar8" (identifier "pppcStack_1b4") (== "==") (pointer_expression "*ppppcVar8" (* "*") (identifier "ppppcVar8"))) () ")")) (compound_statement "{\n    return ppppppcVar16;\n  }" ({ "{") (return_statement "return ppppppcVar16;" (return "return") (identifier "ppppppcVar16") (; ";")) (} "}")))) (expression_statement "ppppcVar38 = pppppcVar37[0x30c69];" (assignment_expression "ppppcVar38 = pppppcVar37[0x30c69]" (identifier "ppppcVar38") (= "=") (subscript_expression "pppppcVar37[0x30c69]" (identifier "pppppcVar37") ([ "[") (number_literal "0x30c69") (] "]"))) (; ";")) (expression_statement "pppcVar6 = pppcStack_1b4;" (assignment_expression "pppcVar6 = pppcStack_1b4" (identifier "pppcVar6") (= "=") (identifier "pppcStack_1b4")) (; ";")) (expression_statement "(*(code *)ppppcVar38)();" (call_expression "(*(code *)ppppcVar38)()" (parenthesized_expression "(*(code *)ppppcVar38)" (( "(") (pointer_expression "*(code *)ppppcVar38" (* "*") (cast_expression "(code *)ppppcVar38" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppcVar38"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(*(code *)(ppppcVar38[0x30a9a] + 0x581))();" (call_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))()" (parenthesized_expression "(*(code *)(ppppcVar38[0x30a9a] + 0x581))" (( "(") (pointer_expression "*(code *)(ppppcVar38[0x30a9a] + 0x581)" (* "*") (cast_expression "(code *)(ppppcVar38[0x30a9a] + 0x581)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar38[0x30a9a] + 0x581)" (( "(") (binary_expression "ppppcVar38[0x30a9a] + 0x581" (subscript_expression "ppppcVar38[0x30a9a]" (identifier "ppppcVar38") ([ "[") (number_literal "0x30a9a") (] "]")) (+ "+") (number_literal "0x581")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar15 = pppcVar6[0xb];" (assignment_expression "ppcVar15 = pppcVar6[0xb]" (identifier "ppcVar15") (= "=") (subscript_expression "pppcVar6[0xb]" (identifier "pppcVar6") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "pppcVar6[0xe] = (code **)0x0;" (assignment_expression "pppcVar6[0xe] = (code **)0x0" (subscript_expression "pppcVar6[0xe]" (identifier "pppcVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(code **)0x0" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppcVar6[0xf] = ppcVar15;" (assignment_expression "pppcVar6[0xf] = ppcVar15" (subscript_expression "pppcVar6[0xf]" (identifier "pppcVar6") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "ppcVar15")) (; ";")) (expression_statement "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);" (assignment_expression "ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (identifier "ppcVar15") (= "=") (cast_expression "(code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))\n                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (parenthesized_expression "(*(code *)(ppppcVar38[0x30ab4] + -0xad2))" (( "(") (pointer_expression "*(code *)(ppppcVar38[0x30ab4] + -0xad2)" (* "*") (cast_expression "(code *)(ppppcVar38[0x30ab4] + -0xad2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcVar38[0x30ab4] + -0xad2)" (( "(") (binary_expression "ppppcVar38[0x30ab4] + -0xad2" (subscript_expression "ppppcVar38[0x30ab4]" (identifier "ppppcVar38") ([ "[") (number_literal "0x30ab4") (] "]")) (+ "+") (number_literal "-0xad2")) () ")")))) () ")")) (argument_list "((code **)((int)ppcVar15 + 0x11) < ppcVar15)" (( "(") (binary_expression "(code **)((int)ppcVar15 + 0x11) < ppcVar15" (cast_expression "(code **)((int)ppcVar15 + 0x11)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar15 + 0x11)" (( "(") (binary_expression "(int)ppcVar15 + 0x11" (cast_expression "(int)ppcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar15")) (+ "+") (number_literal "0x11")) () ")"))) (< "<") (identifier "ppcVar15")) () ")"))))) (; ";")) (if_statement "if (ppcVar15 == (code **)0x0) {\n    return (code ******)&DAT_00000007;\n  }" (if "if") (parenthesized_expression "(ppcVar15 == (code **)0x0)" (( "(") (binary_expression "ppcVar15 == (code **)0x0" (identifier "ppcVar15") (== "==") (cast_expression "(code **)0x0" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return (code ******)&DAT_00000007;\n  }" ({ "{") (return_statement "return (code ******)&DAT_00000007;" (return "return") (cast_expression "(code ******)&DAT_00000007" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007"))) (; ";")) (} "}"))) (expression_statement "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);" (assignment_expression "ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" (identifier "ppppppcVar28") (= "=") (cast_expression "(code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" (identifier "FUN_000cdc54") (argument_list "(pppcVar6,0,pppcVar6[0xf],ppcVar15,0)" (( "(") (identifier "pppcVar6") (, ",") (number_literal "0") (, ",") (subscript_expression "pppcVar6[0xf]" (identifier "pppcVar6") ([ "[") (number_literal "0xf") (] "]")) (, ",") (identifier "ppcVar15") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (ppppppcVar28 == (code ******)0x0) {\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" (if "if") (parenthesized_expression "(ppppppcVar28 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar28 == (code ******)0x0" (identifier "ppppppcVar28") (== "==") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);\n    pppcVar6[4] = ppcVar15;\n    return (code ******)0x0;\n  }" ({ "{") (expression_statement "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);" (call_expression "(*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" (parenthesized_expression "(*(code *)ppppcVar38[0x30b20])" (( "(") (pointer_expression "*(code *)ppppcVar38[0x30b20]" (* "*") (cast_expression "(code *)ppppcVar38[0x30b20]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppcVar38[0x30b20]" (identifier "ppppcVar38") ([ "[") (number_literal "0x30b20") (] "]")))) () ")")) (argument_list "((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11)" (( "(") (binary_expression "(int)ppcVar15 + (int)pppcVar6[0xf]" (cast_expression "(int)ppcVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar15")) (+ "+") (cast_expression "(int)pppcVar6[0xf]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppcVar6[0xf]" (identifier "pppcVar6") ([ "[") (number_literal "0xf") (] "]")))) (, ",") (number_literal "0") (, ",") (number_literal "0x11") () ")"))) (; ";")) (expression_statement "pppcVar6[4] = ppcVar15;" (assignment_expression "pppcVar6[4] = ppcVar15" (subscript_expression "pppcVar6[4]" (identifier "pppcVar6") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "ppcVar15")) (; ";")) (return_statement "return (code ******)0x0;" (return "return") (cast_expression "(code ******)0x0" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "(*(code *)ppppcVar38[0x30a25])(ppcVar15);" (call_expression "(*(code *)ppppcVar38[0x30a25])(ppcVar15)" (parenthesized_expression "(*(code *)ppppcVar38[0x30a25])" (( "(") (pointer_expression "*(code *)ppppcVar38[0x30a25]" (* "*") (cast_expression "(code *)ppppcVar38[0x30a25]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppppcVar38[0x30a25]" (identifier "ppppcVar38") ([ "[") (number_literal "0x30a25") (] "]")))) () ")")) (argument_list "(ppcVar15)" (( "(") (identifier "ppcVar15") () ")"))) (; ";")) (return_statement "return ppppppcVar28;" (return "return") (identifier "ppppppcVar28") (; ";")) (} "}")))

int function_1(type_1 *pCur)

{
  type_2 var_15;
  type_3 var_46;
  type_4 iVar3;
  type_5 *var_12;
  type_5 *puVar5;
  type_6 *var_40;
  type_7 *pMVar7;
  type_8 var_5;
  char cVar13;
  char *pcVar8;
  type_9 uVar9;
  int var_57;
  int var_56;
  type_10 *var_61;
  type_8 **var_43;
  type_8 **var_44;
  type_11 *var_30;
  type_12 *pDVar15;
  type_7 *pMVar16;
  type_13 *psVar17;
  type_14 *var_52;
  type_1 *pCur_00;
  type_15 var_33;
  type_7 *var_16;
  type_8 **in_a2;
  type_11 *pBVar20;
  type_11 *var_38;
  type_8 *var_25;
  type_8 *puVar22;
  type_7 *unaff_s0;
  type_11 *var_14;
  type_8 *var_23;
  type_11 *var_49;
  int var_36;
  type_8 **var_47;
  type_6 *var_48;
  int *piVar29;
  int *piVar30;
  type_11 *var_13;
  int *piVar32;
  type_8 **var_18;
  type_16 *var_58;
  type_16 *var_50;
  type_8 *var_4;
  type_7 *pFrom;
  int var_45;
  type_5 *var_19;
  type_17 PVar39;
  int iVar40;
  int var_54;
  type_16 *var_55;
  type_11 *pBStack_1d8;
  int var_53;
  int var_59;
  type_1 *var_60;
  type_8 *puStack_1b0;
  int iStack_1ac;
  int *piStack_1a8;
  type_11 *pBStack_1a4;
  type_8 **ppuStack_1a0;
  type_11 *pBStack_19c;
  type_8 *puStack_198;
  type_7 *pMStack_194;
  type_17 PStack_190;
  type_6 *pcStack_18c;
  type_6 *var_41;
  type_16 auStack_170 [20];
  int *piStack_15c;
  type_11 *pBStack_158;
  type_8 **ppuStack_154;
  type_11 *pBStack_150;
  type_6 *pcStack_14c;
  type_14 *psStack_138;
  type_5 *var_32;
  type_18 *pBStack_124;
  type_16 var_31 [8];
  type_16 auStack_118 [32];
  type_7 *pMStack_f8;
  type_11 *pBStack_f4;
  type_6 *pcStack_f0;
  type_11 *pBStack_ec;
  type_8 **ppuStack_e8;
  type_11 *pBStack_e4;
  type_8 *puStack_e0;
  type_7 *pMStack_dc;
  type_1 *pBStack_d8;
  type_19 *p_Stack_d4;
  type_8 **var_37;
  type_20 var_21;
  type_7 *var_28;
  int var_7;
  type_17 var_11;
  type_8 *var_26;
  type_21 b;
  type_8 var_24 [13];
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  var_19 = var_3;
  var_18 = (type_8 **)0x0;
  var_30 = *(type_11 **)PTR___stack_chk_guard_00190e24;
  var_49 = (type_11 *)(var_1 + 0x3260);
  var_48 = (type_6 *)(var_2 + 0xee8);
  var_4 = (type_8 *)(int)pCur->iPage;
  pFrom = pCur->pPage;
  var_40 = (type_6 *)(var_3 + -0x27ec);
  var_13 = (type_11 *)((pCur->pBt->usableSize << 1) / 3);
  do {
    var_5 = pFrom->nOverflow;
    pMVar16 = var_16;
    if (var_4 == (type_8 *)0x0) {
      var_14 = (type_11 *)0x0;
      if (var_5 == '\0') break;
      var_11 = 0;
      var_26 = (type_8 *)0x0;
      var_14 = pFrom->pBt;
      var_7 = var_6(pFrom->pDbPage);
      if (var_7 == 0) {
        in_a2 = &var_26;
        var_38 = (type_11 *)pFrom->pgno;
        var_16 = (type_7 *)&var_11;
        var_7 = var_8(var_14,(type_7 **)var_16,(type_17 *)in_a2,(type_17)var_38,'\0');
        if (var_7 != 0) {
          if (var_14->autoVacuum != '\0') goto LAB_000cd368;
          goto LAB_000cd060;
        }
        in_a2 = (type_8 **)&var_7;
        var_16 = (type_7 *)var_11;
        var_9(pFrom,(type_7 *)var_11,(int *)in_a2);
        if (var_14->autoVacuum != '\0') {
LAB_000cd368:
          in_a2 = (type_8 **)&DAT_00000005;
          var_38 = (type_11 *)pFrom->pgno;
          var_16 = (type_7 *)var_26;
          var_10(var_14,(type_17)var_26,'\x05',(type_17)var_38,&var_7);
        }
        unaff_s0 = (type_7 *)var_11;
        if (var_7 != 0) goto LAB_000cd060;
        (*(type_6 *)PTR_memcpy_00190e2c)(var_11 + 0x1a,pFrom->aiOvfl,(type_15)pFrom->nOverflow << 1);
        (*(type_6 *)PTR_memcpy_00190e2c)
                  ((int)unaff_s0 + 0x24,pFrom->apOvfl,(type_15)pFrom->nOverflow << 2);
        var_12 = var_20;
        *(type_8 *)((int)unaff_s0 + 0xc) = pFrom->nOverflow;
        (*(type_6 *)(var_12 + -0x3030))(pFrom,**(type_2 **)((int)unaff_s0 + 0x38) & 0xf7);
        var_4 = pFrom->aData + pFrom->hdrOffset + 8;
        var_38 = (type_11 *)((type_15)var_26 >> 0x18);
        in_a2 = (type_8 **)((type_15)var_26 >> 0x10);
        var_16 = (type_7 *)((type_15)var_26 >> 8);
        *var_4 = (type_8)((type_15)var_26 >> 0x18);
        var_4[1] = (type_8)((type_15)var_26 >> 0x10);
        var_4[2] = (type_8)((type_15)var_26 >> 8);
        var_4[3] = (type_8)var_26;
        pCur->apPage[1] = (type_7 *)var_11;
        pMVar7 = (type_7 *)var_11;
      }
      else {
LAB_000cd060:
        unaff_s0 = (type_7 *)var_11;
        pCur->apPage[1] = (type_7 *)0x0;
        var_14 = (type_11 *)var_7;
        if ((var_11 == 0) ||
           ((*var_48)(*(type_9 *)(var_11 + 0x48)), var_14 = (type_11 *)var_7, var_7 != 0)) break;
        pMVar7 = pCur->apPage[1];
      }
      pCur->apPage[0] = pFrom;
      var_4 = (type_8 *)0x1;
      pCur->ix = 0;
      pCur->iPage = '\x01';
      pCur->aiIdx[0] = 0;
      pCur->pPage = pMVar7;
      var_5 = pMVar7->nOverflow;
      pMVar16 = var_16;
      pFrom = pMVar7;
    }
    if ((var_5 == '\0') &&
       (var_16 = pMVar16, var_14 = (type_11 *)0x0, (type_11 *)(type_15)pFrom->nFree <= var_13))
    break;
    unaff_s0 = *(type_7 **)(pCur->aiIdx + (int)(var_4 + 0xc) * 2 + -2);
    var_16 = (type_7 *)(type_15)pCur->aiIdx[(int)(var_4 + -1)];
    var_14 = (type_11 *)var_6(unaff_s0->pDbPage);
    if (var_14 != (type_11 *)0x0) {
      var_40 = (type_6 *)(var_2 + 0xee8);
      pFrom->nOverflow = '\0';
      (*var_40)(pFrom->pDbPage);
      cVar13 = pCur->iPage + -1;
      pCur->iPage = cVar13;
      pCur->pPage = pCur->apPage[cVar13];
      var_16 = pMVar16;
      break;
    }
    if ((((pFrom->intKeyLeaf == '\0') || (var_15 = pFrom->nOverflow, var_15 != 1)) ||
        (pFrom->aiOvfl[0] != pFrom->nCell)) ||
       ((unaff_s0->pgno == 1 || ((type_7 *)(type_15)unaff_s0->nCell != var_16)))) {
      var_47 = (type_8 **)(*var_40)(pCur->pBt->pageSize);
      var_38 = (type_11 *)(type_15)(var_4 == (type_8 *)0x1);
      in_a2 = var_47;
      var_14 = (type_11 *)
                var_17(unaff_s0,(int)var_16,(type_8 *)var_47,(int)var_38,pCur->hints & 1);
      if (var_18 != (type_8 **)0x0) {
        (*(type_6 *)(var_19 + 0x4e2c))(var_18);
      }
LAB_000cd308:
      pDVar15 = pFrom->pDbPage;
      var_18 = var_47;
    }
    else {
      if (pFrom->aiOvfl[0] != 0) {
        var_38 = (type_11 *)0x0;
        pBVar20 = pFrom->pBt;
        in_a2 = (type_8 **)&var_11;
        var_16 = (type_7 *)&var_28;
        var_7 = var_8(pBVar20,(type_7 **)var_16,(type_17 *)in_a2,0,'\0');
        var_47 = var_18;
        var_14 = (type_11 *)var_7;
        if ((type_11 *)var_7 == (type_11 *)0x0) {
          var_26 = pFrom->apOvfl[0];
          var_21 = (*pFrom->xCellSize)(pFrom,var_26);
          (*(type_6 *)(var_20 + -0x3030))(var_28,0xd);
          in_a2 = (type_8 **)0x1;
          var_16 = (type_7 *)0x0;
          b.apEnd[0] = pFrom->aDataEnd;
          b.apCell = &var_26;
          b.var_21 = &var_21;
          b.ixNx[0] = 2;
          var_38 = (type_11 *)var_28;
          b.nCell = (type_15)var_15;
          b.pRef = pFrom;
          var_14 = (type_11 *)(*(type_6 *)(var_20 + -0xf50))(&b);
          var_7 = (int)var_14;
          if (var_14 == (type_11 *)0x0) {
            var_28->nFree = ((-2 - var_21) - var_28->cellOffset) + (short)pBVar20->usableSize;
            if (pBVar20->autoVacuum != '\0') {
              var_10(pBVar20,var_11,'\x05',unaff_s0->pgno,&var_7);
              if (var_28->minLocal < var_21) {
                var_22(var_28,(type_7 *)&var_28->aDataEnd,var_26,&var_7);
              }
            }
            var_4 = pFrom->aData +
                      (*(type_3 *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage);
            do {
              var_23 = var_4;
              var_4 = var_23 + 1;
              if (-1 < (char)*var_23) break;
            } while (pFrom->aData +
                     (*(type_3 *)(pFrom->aCellIdx + (pFrom->nCell - 1) * 2) & pFrom->maskPage) + 9
                     != var_4);
            var_25 = var_24 + 4;
            do {
              var_26 = var_4 + 1;
              puVar22 = var_25 + 1;
              var_5 = *var_4;
              *var_25 = var_5;
              if (-1 < (char)var_5) break;
              var_4 = var_26;
              var_25 = puVar22;
            } while (var_26 < var_23 + 10);
            if (var_7 == 0) {
              var_27(unaff_s0,(type_15)unaff_s0->nCell,var_24,
                         (int)puVar22 - (int)var_24,(type_8 *)0x0,pFrom->pgno,&var_7);
              var_15 = unaff_s0->hdrOffset;
            }
            else {
              var_15 = unaff_s0->hdrOffset;
            }
            var_4 = unaff_s0->aData + var_15 + 8;
            var_38 = (type_11 *)(var_11 >> 0x18);
            in_a2 = (type_8 **)(var_11 >> 0x10);
            var_16 = (type_7 *)(var_11 >> 8);
            *var_4 = (type_8)(var_11 >> 0x18);
            var_4[1] = (type_8)(var_11 >> 0x10);
            var_4[2] = (type_8)(var_11 >> 8);
            var_4[3] = (type_8)var_11;
            var_14 = (type_11 *)var_7;
            if (var_28 == (type_7 *)0x0) goto LAB_000cd308;
          }
          else if (var_28 == (type_7 *)0x0) {
            pDVar15 = pFrom->pDbPage;
            goto LAB_000cd310;
          }
          (*var_48)(var_28->pDbPage);
          var_14 = (type_11 *)var_7;
        }
        goto LAB_000cd308;
      }
      var_38 = (type_11 *)((int)&__DT_SYMTAB[0x5e].st_name + 3);
      in_a2 = (type_8 **)(var_29 + -0x5e64);
      var_16 = (type_7 *)(var_29 + -0x6378);
      var_14 = (type_11 *)&DAT_0000000b;
      (*(type_6 *)PTR_sqlite3_log_00190be0)(0xb);
      pDVar15 = pFrom->pDbPage;
    }
LAB_000cd310:
    pFrom->nOverflow = '\0';
    (*var_48)(pDVar15);
    cVar13 = pCur->iPage + -1;
    var_4 = (type_8 *)(int)cVar13;
    pCur->iPage = cVar13;
    pFrom = *(type_7 **)(pCur->aiIdx + (int)(var_4 + 0xc) * 2);
    pCur->pPage = pFrom;
  } while (var_14 == (type_11 *)0x0);
  if (var_18 != (type_8 **)0x0) {
    (*(type_6 *)(var_3 + 0x4e2c))(var_18);
  }
  if (var_30 == *(type_11 **)puVar5) {
    return (int)var_14;
  }
  var_40 = var_34;
  var_19 = PTR___stack_chk_fail_00190df8;
  (*(type_6 *)PTR___stack_chk_fail_00190df8)();
  var_32 = var_19 + 0xcb290;
  piVar29 = *(int **)(var_19 + 0xc3794);
  auStack_118._28_4_ = *piVar29;
  pMStack_f8 = unaff_s0;
  pBStack_f4 = var_49;
  pcStack_f0 = var_48;
  pBStack_ec = var_13;
  ppuStack_e8 = var_18;
  pBStack_e4 = var_14;
  puStack_e0 = var_4;
  pMStack_dc = pFrom;
  pBStack_d8 = pCur;
  p_Stack_d4 = var_40;
  var_37 = in_a2;
  if ((type_7 *)var_30->nPage < var_16) {
    pBStack_1d8 = (type_11 *)((int)&__DT_SYMTAB[0xd5].st_name + 2);
    psStack_138 = (type_14 *)(*(int *)(var_19 + 0xc32c8) + 0x625c);
    pBVar20 = (type_11 *)(*(int *)(var_19 + 0xc32cc) + -0x5e64);
    var_16 = (type_7 *)(*(int *)(var_19 + 0xc32cc) + -0x6378);
    (**(type_6 **)(var_19 + 0xc3550))(0xb);
    var_30 = var_49;
    var_38 = var_13;
    PVar39 = 0xb;
  }
  else {
    pBVar20 = (type_11 *)var_31;
    psStack_138 = (type_14 *)0x0;
    pBStack_1d8 = (type_11 *)0x0;
    var_31._4_4_ = (*(type_6 *)(*(int *)(var_19 + 0xc354c) + -0x267c))();
    PVar39 = var_31._4_4_;
    if (var_31._4_4_ == 0) {
      if (*(type_8 *)(var_31._0_4_ + 1) == '\0') {
        *(type_8 *)(var_31._0_4_ + 1) = '\x01';
        pBStack_124 = (type_18 *)(type_15)*(type_8 *)(var_31._0_4_ + 9);
        if (*(type_20 *)(var_31._0_4_ + 0x16) == 0) {
          var_33 = 0;
        }
        else {
          var_18 = (type_8 **)0x0;
          var_14 = (type_11 *)(var_31 + 8);
          var_4 = (type_8 *)(*(int *)(var_32 + -0x7d64) + -0x2970);
          unaff_s0 = (type_7 *)(*(int *)(var_32 + -0x7d64) + -0x5428);
          var_36 = 0;
          do {
            var_31._4_4_ = 0;
            pFrom = (type_7 *)
                    (*(type_8 **)(var_31._0_4_ + 0x38) +
                    (*(type_3 *)(*(type_8 **)(var_31._0_4_ + 0x40) + (int)var_18) &
                    *(type_20 *)(var_31._0_4_ + 0x18)));
            if (*(type_8 *)(var_31._0_4_ + 8) == '\0') {
              pBVar20 = (type_11 *)0x1;
              var_33 = (type_15)&pFrom->intKeyLeaf & 3;
              var_16 = (type_7 *)
                      (*(int *)((int)pFrom - ((type_15)pFrom & 3)) << ((type_15)pFrom & 3) * 8 &
                       -1 << (var_33 + 1) * 8 |
                      *(type_15 *)(&pFrom->intKeyLeaf + -var_33) >> (3 - var_33) * 8);
              pBStack_1d8 = var_38;
              var_31._4_4_ = var_34(var_30,(type_17)var_16,1,(int *)var_38);
              if (var_31._4_4_ != 0) goto LAB_000cd7ec;
            }
            var_16 = pFrom;
            pBVar20 = var_14;
            var_31._4_4_ =
                 var_35((type_7 *)var_31._0_4_,(type_10 *)pFrom,(type_22 *)var_14);
            if (var_31._4_4_ != 0) goto LAB_000cd7ec;
            var_33 = (type_15)*(type_20 *)(var_31._0_4_ + 0x16);
            var_36 = var_36 + 1;
            var_18 = (type_8 **)((int)var_18 + 2);
          } while (var_36 < (int)var_33);
        }
        pBVar20 = (type_11 *)0x1;
        if (*(type_8 *)(var_31._0_4_ + 8) == '\0') {
          var_16 = *(type_7 **)(*(type_8 **)(var_31._0_4_ + 0x38) + (int)pBStack_124 + 8);
          pBStack_1d8 = var_38;
          var_31._4_4_ = var_34(var_30,(type_17)var_16,1,(int *)var_38);
          if (var_31._4_4_ == 0) {
            PVar39 = 0;
            if (var_37 != (type_8 **)0x0) goto LAB_000cd958;
            goto LAB_000cd96c;
          }
        }
        else {
          if (var_38 != (type_11 *)0x0) {
            var_38->pPager = (type_23 *)(var_38->pPager->dbFileVers + (var_33 - 0x68));
          }
          PVar39 = var_31._4_4_;
          if (var_37 == (type_8 **)0x0) {
LAB_000cd96c:
            var_31._4_4_ = PVar39;
            var_31._4_4_ = var_6(*(type_12 **)(var_31._0_4_ + 0x48));
            if (var_31._4_4_ == 0) {
              var_14 = (type_11 *)(*(type_8 **)(var_31._0_4_ + 0x38) + (int)pBStack_124);
              var_16 = (type_7 *)(*(type_2 *)&var_14->pPager | 8);
              (*(type_6 *)(*(int *)(var_32 + -0x7d44) + -0x3030))(var_31._0_4_);
            }
          }
          else if (var_31._4_4_ == 0) {
LAB_000cd958:
            var_16 = (type_7 *)(var_31 + 4);
            var_39((type_7 *)var_31._0_4_,(int *)var_16);
          }
        }
      }
      else {
        pBStack_1d8 = (type_11 *)((int)&__DT_SYMTAB[0xd5].st_value + 3);
        psStack_138 = (type_14 *)(*(int *)(var_32 + -0x7fc8) + 0x625c);
        pBVar20 = (type_11 *)(*(int *)(var_32 + -0x7fc4) + -0x5e64);
        var_16 = (type_7 *)(*(int *)(var_32 + -0x7fc4) + -0x6378);
        (**(type_6 **)(var_32 + -0x7d40))(0xb);
        var_31._4_4_ = 0xb;
      }
LAB_000cd7ec:
      *(type_8 *)(var_31._0_4_ + 1) = '\0';
      PVar39 = var_31._4_4_;
      if ((type_7 *)var_31._0_4_ != (type_7 *)0x0) {
        (*(type_6 *)(*(int *)(var_32 + -0x7de0) + 0xee8))(*(type_12 **)(var_31._0_4_ + 0x48))
        ;
        PVar39 = var_31._4_4_;
      }
    }
  }
  if ((type_8 *)auStack_118._28_4_ == (type_8 *)*piVar29) {
    return PVar39;
  }
  var_40 = *(type_6 **)(var_32 + -0x7b28);
  var_48 = dbpageUpdate;
  var_23 = (type_8 *)auStack_118._28_4_;
  (*var_40)();
  var_41 = var_40 + 0xcaf50;
  piVar30 = *(int **)(var_40 + 0xc3454);
  auStack_170._0_4_ = (type_23 *)0x0;
  auStack_170._4_4_ = *piVar30;
  var_49 = pBVar20;
  auStack_170._12_4_ = unaff_s0;
  auStack_170._16_4_ = var_30;
  piStack_15c = piVar29;
  pBStack_158 = var_38;
  ppuStack_154 = var_18;
  pBStack_150 = var_14;
  pcStack_14c = var_48;
  if (*(int *)(*(int *)(var_23 + 0xc) + 0x24) << 3 < 0) {
    var_47 = (type_8 **)(*(int *)(var_40 + 0xc2f8c) + -0x42a8);
LAB_000cda68:
    (**(type_6 **)(var_41 + -0x7fb4))(*(type_9 *)(var_23 + 8));
    var_36 = 1;
    pcVar8 = var_42((char *)(*(int *)(var_41 + -0x7fc4) + -0x5dfc));
    *(char **)(var_23 + 8) = pcVar8;
    pBVar20 = var_38;
  }
  else {
    if (var_16 == (type_7 *)0x1) {
      var_47 = (type_8 **)(*(int *)(var_40 + 0xc2f8c) + -0x429c);
      goto LAB_000cda68;
    }
    var_36 = *(int *)(var_40 + 0xc31d8);
    (*(type_6 *)(var_36 + 0x7f68))(pBVar20->pPager);
    (*(type_6 *)(var_36 + 0x7f68))(pBVar20->db);
    var_38 = pBVar20;
    var_18 = var_43;
    if (var_43 != var_44) {
      var_47 = (type_8 **)(*(int *)(var_41 + -0x7fc4) + -0x427c);
      goto LAB_000cda68;
    }
    var_36 = (*(type_6 *)(*(int *)(var_41 + -0x7d60) + 0x6f60))
                       (*(type_9 *)&pBVar20->openFlags,1);
    if (var_36 == 0) {
LAB_000cdb7c:
      var_47 = (type_8 **)(*(int *)(var_41 + -0x7fc4) + -0x42c8);
      goto LAB_000cda68;
    }
    var_45 = *(int *)(var_23 + 0xc);
    var_36 = (*(type_6 *)(*(int *)(var_41 + -0x7d78) + 0x2370))(var_45,var_36);
    if (var_36 < 0) goto LAB_000cdb7c;
    if (((var_43 == (type_8 **)0x0) ||
        (var_36 = *(int *)(*(int *)(var_45 + 0x10) + var_36 * 0x10 + 4), var_36 == 0)) ||
       (var_49 = *(type_11 **)(var_36 + 4), (type_8 **)var_49->nPage < var_43)) {
      var_47 = (type_8 **)(*(int *)(var_41 + -0x7fc4) + -0x42b8);
      goto LAB_000cda68;
    }
    pMVar16 = pBVar20->pPage1;
    var_46._0_1_ = pMVar16->leaf;
    var_46._1_1_ = pMVar16->hdrOffset;
    if (*(char *)((var_46 & 0x1f) + *(int *)(var_41 + -0x7fc4) + 0x6a8c) != '\x04') {
LAB_000cdb70:
      var_47 = (type_8 **)(*(int *)(var_41 + -0x7fc4) + -0x428c);
      goto LAB_000cda68;
    }
    var_14 = (type_11 *)var_49->pageSize;
    var_30 = (type_11 *)(*(type_6 *)(*(int *)(var_41 + -0x7d60) + 0x6c88))(pMVar16,1);
    if (var_14 != var_30) goto LAB_000cdb70;
    pBStack_1d8 = (type_11 *)0x0;
    var_49 = (type_11 *)auStack_170;
    var_47 = var_43;
    var_36 = (**(type_6 **)(**(int **)(var_36 + 4) + 0xcc))(**(int **)(var_36 + 4));
    if ((var_36 == 0) && (var_36 = var_6((type_24 *)auStack_170._0_4_), var_36 == 0)) {
      var_23 = *(type_8 **)(auStack_170._0_4_ + 4);
      var_47 = (type_8 **)(**(type_6 **)(var_41 + -0x7f64))(pBVar20->pPage1);
      var_49 = var_14;
      (**(type_6 **)(var_41 + -0x7af4))(var_23);
    }
    if ((type_23 *)auStack_170._0_4_ != (type_23 *)0x0) {
      (*(type_6 *)(*(int *)(var_41 + -0x7de0) + 0xee8))();
    }
  }
  if ((type_13 *)auStack_170._4_4_ == (type_13 *)*piVar30) {
    return var_36;
  }
  var_40 = *(type_6 **)(var_41 + -0x7b28);
  var_48 = var_62;
  psVar17 = (type_13 *)auStack_170._4_4_;
  (*var_40)();
  piVar29 = *(int **)(var_40 + 0xc31d0);
  var_60 = (type_1 *)*piVar29;
  var_45 = psVar17->aLimit[2];
  piVar32 = (int *)psVar17->nDb;
  puStack_1b0 = var_23;
  iStack_1ac = var_36;
  piStack_1a8 = piVar30;
  pBStack_1a4 = pBVar20;
  ppuStack_1a0 = var_18;
  pBStack_19c = var_14;
  puStack_198 = var_4;
  pMStack_194 = pFrom;
  PStack_190 = PVar39;
  pcStack_18c = var_48;
  (*(type_6 *)(*(int *)(var_40 + 0xc2eec) + 0x1604))();
  var_36 = *(int *)&psVar17->lastRowid;
  var_18 = (type_8 **)(type_15)*(type_3 *)&psVar17->szMmap;
  if ((type_15)(piVar32[9] - (int)var_18) < (type_15)(var_36 - *(int *)(var_45 + 0x38))) {
    uVar9 = 0x108be;
  }
  else {
    if (var_47 < var_18) {
      var_30 = var_49;
      if (var_18 < (type_8 **)((int)var_47 + (int)var_49)) {
        var_30 = (type_11 *)((int)var_18 - (int)var_47);
      }
      var_13 = (type_11 *)(var_36 + (int)var_47);
      if (var_41 == (type_6 *)0x0) {
        var_48 = *(type_6 **)(var_40 + 0xc31d8);
        var_14 = pBStack_1d8;
      }
      else {
        var_48 = (type_6 *)var_6(*(type_24 **)(var_45 + 0x48));
        if (var_48 != (type_6 *)0x0) goto LAB_000cdd30;
        var_48 = *(type_6 **)(var_40 + 0xc31d8);
        var_14 = var_13;
        var_13 = pBStack_1d8;
      }
      var_49 = (type_11 *)((int)var_49 - (int)var_30);
      (*var_48)(var_14,var_13,var_30);
      pBStack_1d8 = (type_11 *)((int)&pBStack_1d8->pPager + (int)var_30);
      var_58 = (type_16 *)0x0;
    }
    else {
      var_58 = (type_16 *)((int)var_47 - (int)var_18);
    }
    if (var_49 == (type_11 *)0x0) {
      var_48 = (type_6 *)0x0;
      goto LAB_000cdd30;
    }
    var_46 = *(type_3 *)&psVar17->szMmap;
    var_52 = psVar17->mutex;
    var_50 = (type_16 *)(piVar32[9] + -4);
    var_53 = *(int *)(var_36 + (type_15)var_46);
    if (((type_15)psVar17->pVfs & 0x40000) == 0) {
      iVar3 = psVar17->lastRowid;
      if (var_50 == (type_16 *)0x0) {
        var_51(7);
      }
      if (var_52 == (type_14 *)0x0) {
LAB_000cdf84:
        var_52 = (type_14 *)(*(type_6 *)(*(int *)(var_40 + 0xc2f54) + 0x354))(var_52);
        if (var_52 == (type_14 *)0x0) {
          var_48 = (type_6 *)&DAT_00000007;
          goto LAB_000cdd30;
        }
        psVar17->mutex = var_52;
      }
      else {
        var_36 = (**(type_6 **)(*(int *)(var_40 + 0xc2cf4) + -0xb40))();
        var_52 = psVar17->mutex;
        if (var_36 < (int)((type_15)(var_50 + (((int)iVar3 + -1) - (type_15)var_46)) / (type_15)var_50 << 2)
           ) goto LAB_000cdf84;
      }
      (**(type_6 **)(var_40 + 0xc3104))
                (var_52,0,(type_15)(var_50 + (((int)iVar3 + -1) - (type_15)var_46)) / (type_15)var_50 << 2)
      ;
      *(type_2 *)((int)&psVar17->pVfs + 1) = *(type_2 *)((int)&psVar17->pVfs + 1) | 4;
    }
    else {
      if (var_50 == (type_16 *)0x0) {
        var_51(7);
      }
      var_33 = (type_15)var_58 / (type_15)var_50;
      var_55 = (type_16 *)((type_15)var_58 % (type_15)var_50);
      var_36 = *(int *)((int)&var_52->mutex + var_33 * 4);
      if (var_36 != 0) goto LAB_000cddd4;
    }
    var_33 = 0;
    if (var_53 != 0) {
      var_52 = psVar17->mutex;
      var_55 = var_58;
      var_36 = var_53;
LAB_000cddd4:
      var_53 = var_36;
      uVar9 = 2;
      var_36 = *(int *)(var_40 + 0xc2eec);
      iVar40 = var_33 + 1;
      var_45 = *(int *)(var_40 + 0xc2f78);
      if (var_41 != (type_6 *)0x0) {
        uVar9 = 0;
      }
      var_54 = var_33 * 4;
      *(int *)((int)&var_52->mutex + var_54) = var_53;
      var_57 = *(int *)(var_40 + 0xc2f88);
      var_58 = (type_16 *)((int)&var_49->pPager + (int)var_55);
      var_30 = var_49;
      if (var_55 < var_50) goto LAB_000cde58;
      do {
        var_52 = psVar17->mutex;
        var_56 = *(int *)((int)&var_52->mutex + var_54 + 4);
        var_55 = var_55 + -(int)var_50;
        var_54 = iVar40;
        if (var_56 == 0) {
          var_48 = (type_6 *)(*(type_6 *)(var_57 + -0x2960))(piVar32,var_53,0,&var_53);
          goto LAB_000cdea8;
        }
        while( true ) {
          var_53 = var_56;
          iVar40 = var_54 + 1;
          var_54 = var_54 * 4;
          *(int *)((int)&var_52->mutex + var_54) = var_53;
          if (var_50 <= var_55) break;
          var_58 = (type_16 *)((int)&var_49->pPager + (int)var_55);
          var_30 = var_49;
LAB_000cde58:
          var_49 = (type_11 *)0x0;
          if (var_50 < var_58) {
            var_49 = (type_11 *)(((int)var_55 - (int)var_50) + (int)var_30);
            var_30 = (type_11 *)(var_50 + -(int)var_55);
          }
          var_48 = (type_6 *)(**(type_6 **)(*piVar32 + 0xcc))(*piVar32,var_53,&var_59,uVar9);
          var_54 = var_59;
          if (var_48 == (type_6 *)0x0) {
            var_58 = (type_16 *)((int)*(int **)(var_59 + 4) + (int)(var_55 + 4));
            var_53 = **(int **)(var_59 + 4);
            if (var_41 == (type_6 *)0x0) {
              var_55 = (type_16 *)0x0;
              (**(type_6 **)(var_40 + 0xc31d8))(pBStack_1d8,var_58,var_30);
              var_48 = var_41;
              (*(type_6 *)(var_36 + 0xee8))(var_54);
            }
            else {
              var_48 = (type_6 *)(*(type_6 *)(var_45 + 0x3260))(var_59);
              if (var_48 == (type_6 *)0x0) {
                (**(type_6 **)(var_40 + 0xc31d8))(var_58,pBStack_1d8,var_30);
              }
              var_55 = (type_16 *)0x0;
              if (var_59 != 0) {
                (*(type_6 *)(var_36 + 0xee8))(var_59);
              }
            }
          }
          if (var_49 == (type_11 *)0x0) goto LAB_000cdd30;
          pBStack_1d8 = (type_11 *)((int)&pBStack_1d8->pPager + (int)var_30);
LAB_000cdea8:
          if (var_48 != (type_6 *)0x0) goto LAB_000cdd30;
          if (var_53 == 0) goto LAB_000ce0b4;
          var_52 = psVar17->mutex;
          var_54 = iVar40;
          var_56 = var_53;
        }
      } while( true );
    }
LAB_000ce0b4:
    uVar9 = 0x1094f;
  }
  var_48 = (type_6 *)&DAT_0000000b;
  (**(type_6 **)(var_40 + 0xc2f8c))
            (0xb,*(int *)(var_40 + 0xc2d08) + -0x6378,*(int *)(var_40 + 0xc2d08) + -0x5e64,uVar9,
             *(int *)(var_40 + 0xc2d04) + 0x625c);
LAB_000cdd30:
  if (var_60 == (type_1 *)*piVar29) {
    return (int)var_48;
  }
  var_40 = *(type_6 **)(var_40 + 0xc31a4);
  pCur_00 = var_60;
  (*var_40)();
  (*(type_6 *)(*(int *)(var_40 + 0xc2a68) + 0x1604))();
  var_33 = (pCur_00->info).nPayload;
  *(type_9 *)&pCur_00->nKey = 0;
  *(type_15 *)((int)&pCur_00->nKey + 4) = var_33;
  var_61 = (type_10 *)(*(type_6 *)(*(int *)(var_40 + 0xc2ad0) + -0x2b48))(var_33 + 0x11 < var_33);
  if (var_61 == (type_10 *)0x0) {
    return 7;
  }
  var_36 = var_62(pCur_00,0,(type_25)pCur_00->nKey,var_61,0);
  if (var_36 == 0) {
    (**(type_6 **)(var_40 + 0xc2c80))(var_61 + (int)pCur_00->nKey,0,0x11);
    pCur_00->pKey = var_61;
    return 0;
  }
  (**(type_6 **)(var_40 + 0xc2894))(var_61);
  return var_36;
}


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

/* WARNING: Type propagation algorithm not settling */

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

{
  byte bVar1;
  ushort uVar2;
  undefined *puVar3;
  code *pcVar4;
  char cVar10;
  undefined1 *puVar5;
  code ***pppcVar6;
  code *******pppppppcVar7;
  code ****ppppcVar8;
  code ****ppppcVar9;
  code *******extraout_v1;
  code *******extraout_v1_00;
  code *******pppppppcVar11;
  code *******pppppppcVar12;
  undefined *puVar13;
  int iVar14;
  code **ppcVar15;
  code ******ppppppcVar16;
  int iVar17;
  char *pcVar18;
  char *pcVar19;
  code *******unaff_s0;
  code ******ppppppcVar20;
  code ******ppppppcVar21;
  undefined *puVar22;
  int iVar23;
  code ******ppppppcVar24;
  code *pcVar25;
  int *piVar26;
  int *piVar27;
  code ******ppppppcVar28;
  code *******pppppppcVar29;
  byte *pbVar30;
  byte *pbVar31;
  int iVar32;
  code *******pppppppcVar33;
  int iVar34;
  code ****ppppcVar35;
  undefined *puVar36;
  code *****pppppcVar37;
  code ****ppppcVar38;
  undefined4 uVar39;
  byte *pbVar40;
  uint uVar41;
  code ******ppppppcStack_1d8;
  int iStack_1bc;
  int iStack_1b8;
  code ***pppcStack_1b4;
  code ****ppppcStack_1b0;
  code ******ppppppcStack_1ac;
  int *piStack_1a8;
  code ******ppppppcStack_1a4;
  code *******pppppppcStack_1a0;
  code ******ppppppcStack_19c;
  int iStack_198;
  code *******pppppppcStack_194;
  code ******ppppppcStack_190;
  code *pcStack_18c;
  code ******ppppppcStack_178;
  code *****pppppcStack_170;
  int iStack_16c;
  code *******pppppppcStack_164;
  undefined *puStack_160;
  int *piStack_15c;
  code ******ppppppcStack_158;
  code *******pppppppcStack_154;
  code ******ppppppcStack_150;
  undefined4 uStack_14c;
  int iStack_138;
  undefined *puStack_130;
  uint uStack_124;
  code *****pppppcStack_120;
  code ******ppppppcStack_11c;
  code *****apppppcStack_118 [7];
  code ****ppppcStack_fc;
  code *******pppppppcStack_f8;
  undefined *puStack_f4;
  code *pcStack_f0;
  code ******ppppppcStack_ec;
  code *******pppppppcStack_e8;
  code ******ppppppcStack_e4;
  int iStack_e0;
  code *******pppppppcStack_dc;
  int iStack_d8;
  code *pcStack_d4;
  code *******pppppppcStack_c8;
  code ******local_c0;
  code ******local_bc;
  code ******local_b8;
  ushort local_8e;
  code ******local_8c;
  code ******local_88;
  code *******local_84;
  code *******local_80;
  uint local_7c;
  code *******local_78;
  code *******local_74;
  ushort *local_70;
  code ******local_6c;
  undefined4 local_54;
  undefined1 auStack_3c [4];
  char local_38 [12];
  undefined *local_2c;
  
  puVar36 = PTR___stack_chk_guard_00190e24;
  puVar13 = PTR_LAB_00190ba8;
  pppppppcVar29 = (code *******)0x0;
  local_2c = *(undefined **)PTR___stack_chk_guard_00190e24;
  puVar22 = PTR_LAB_00190bcc + 0x3260;
  pcVar25 = (code *)(PTR_LAB_00190b40 + 0xee8);
  iVar32 = (int)*(char *)(param_1 + 0x44);
  pppppppcVar33 = *(code ********)(param_1 + 0x74);
  pcVar4 = (code *)(PTR_LAB_00190ba8 + -0x27ec);
  ppppppcVar28 = (code ******)((uint)(*(int *)(*(int *)(param_1 + 0x14) + 0x24) << 1) / 3);
  do {
    cVar10 = *(char *)(pppppppcVar33 + 3);
    pppppppcVar7 = param_2;
    if (iVar32 == 0) {
      ppppppcVar20 = (code ******)0x0;
      if (cVar10 == '\0') break;
      local_84 = (code *******)0x0;
      local_80 = (code *******)0x0;
      ppppppcVar20 = pppppppcVar33[0xd];
      local_88 = (code ******)FUN_000c3260(pppppppcVar33[0x12]);
      if (local_88 == (code ******)0x0) {
        param_3 = (code *******)&local_80;
        param_4 = pppppppcVar33[1];
        param_2 = (code *******)&local_84;
        local_c0 = (code ******)0x0;
        local_88 = (code ******)FUN_000c8684(ppppppcVar20);
        if (local_88 != (code ******)0x0) {
          if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') goto LAB_000cd368;
          goto LAB_000cd060;
        }
        param_3 = &local_88;
        param_2 = local_84;
        FUN_000c969c(pppppppcVar33);
        if (*(char *)((int)ppppppcVar20 + 0x11) != '\0') {
LAB_000cd368:
          local_c0 = (code ******)&local_88;
          param_3 = (code *******)&DAT_00000005;
          param_4 = pppppppcVar33[1];
          param_2 = local_80;
          FUN_000c9144(ppppppcVar20);
        }
        unaff_s0 = local_84;
        if (local_88 != (code ******)0x0) goto LAB_000cd060;
        (*(code *)PTR_memcpy_00190e2c)
                  ((char *)((int)local_84 + 0x1a),(char *)((int)pppppppcVar33 + 0x1a),
                   (uint)*(byte *)(pppppppcVar33 + 3) << 1);
        (*(code *)PTR_memcpy_00190e2c)
                  (unaff_s0 + 9,pppppppcVar33 + 9,(uint)*(byte *)(pppppppcVar33 + 3) << 2);
        puVar3 = PTR_LAB_00190bdc;
        *(char *)(unaff_s0 + 3) = *(char *)(pppppppcVar33 + 3);
        (*(code *)(puVar3 + -0x3030))(pppppppcVar33,*(byte *)unaff_s0[0xe] & 0xf7);
        puVar5 = (undefined1 *)((int)pppppppcVar33[0xe] + *(byte *)((int)pppppppcVar33 + 9) + 8);
        param_4 = (code ******)((uint)local_80 >> 0x18);
        param_3 = (code *******)((uint)local_80 >> 0x10);
        param_2 = (code *******)((uint)local_80 >> 8);
        *puVar5 = (char)((uint)local_80 >> 0x18);
        puVar5[1] = (char)((uint)local_80 >> 0x10);
        puVar5[2] = (char)((uint)local_80 >> 8);
        puVar5[3] = (char)local_80;
        *(code ********)(param_1 + 0x7c) = local_84;
        pppppppcVar11 = local_84;
      }
      else {
LAB_000cd060:
        unaff_s0 = local_84;
        *(undefined4 *)(param_1 + 0x7c) = 0;
        ppppppcVar20 = local_88;
        if ((local_84 == (code *******)0x0) ||
           ((*pcVar25)(local_84[0x12]), ppppppcVar20 = local_88, local_88 != (code ******)0x0))
        break;
        pppppppcVar11 = *(code ********)(param_1 + 0x7c);
      }
      *(code ********)(param_1 + 0x78) = pppppppcVar33;
      iVar32 = 1;
      *(undefined2 *)(param_1 + 0x46) = 0;
      *(undefined1 *)(param_1 + 0x44) = 1;
      *(undefined2 *)(param_1 + 0x48) = 0;
      *(code ********)(param_1 + 0x74) = pppppppcVar11;
      cVar10 = *(char *)(pppppppcVar11 + 3);
      pppppppcVar7 = param_2;
      pppppppcVar33 = pppppppcVar11;
    }
    if ((cVar10 == '\0') &&
       (param_2 = pppppppcVar7, ppppppcVar20 = (code ******)0x0,
       (code ******)(uint)*(ushort *)(pppppppcVar33 + 5) <= ppppppcVar28)) break;
    unaff_s0 = *(code ********)(param_1 + (iVar32 + 0x1d) * 4);
    param_2 = (code *******)(uint)*(ushort *)(param_1 + (iVar32 + 0x23) * 2);
    ppppppcVar20 = (code ******)FUN_000c3260(unaff_s0[0x12]);
    if (ppppppcVar20 != (code ******)0x0) {
      pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);
      *(char *)(pppppppcVar33 + 3) = '\0';
      (*pcVar4)(pppppppcVar33[0x12]);
      cVar10 = *(char *)(param_1 + 0x44) + -1;
      *(char *)(param_1 + 0x44) = cVar10;
      *(undefined4 *)(param_1 + 0x74) = *(undefined4 *)(param_1 + (cVar10 + 0x1e) * 4);
      param_2 = pppppppcVar7;
      break;
    }
    if ((((*(char *)((int)pppppppcVar33 + 3) == '\0') ||
         (bVar1 = *(byte *)(pppppppcVar33 + 3), bVar1 != 1)) ||
        (*(short *)((int)pppppppcVar33 + 0x1a) != *(short *)((int)pppppppcVar33 + 0x16))) ||
       ((unaff_s0[1] == (code ******)0x1 ||
        ((code *******)(uint)*(ushort *)((int)unaff_s0 + 0x16) != param_2)))) {
      pppppppcVar7 = (code *******)(*pcVar4)(*(undefined4 *)(*(int *)(param_1 + 0x14) + 0x20));
      param_4 = (code ******)(uint)(iVar32 == 1);
      local_c0 = (code ******)(*(byte *)(param_1 + 3) & 1);
      param_3 = pppppppcVar7;
      ppppppcVar20 = (code ******)FUN_000cb308(unaff_s0);
      if (pppppppcVar29 != (code *******)0x0) {
        (*(code *)(puVar13 + 0x4e2c))(pppppppcVar29);
      }
LAB_000cd308:
      ppppppcVar16 = pppppppcVar33[0x12];
      pppppppcVar29 = pppppppcVar7;
    }
    else {
      if (*(short *)((int)pppppppcVar33 + 0x1a) != 0) {
        param_4 = (code ******)0x0;
        ppppppcVar16 = pppppppcVar33[0xd];
        param_3 = (code *******)&local_84;
        param_2 = &local_8c;
        local_c0 = (code ******)0x0;
        local_88 = (code ******)FUN_000c8684(ppppppcVar16);
        pppppppcVar7 = pppppppcVar29;
        ppppppcVar20 = local_88;
        if (local_88 == (code ******)0x0) {
          local_80 = (code *******)pppppppcVar33[9];
          local_8e = (*(code *)pppppppcVar33[0x13])(pppppppcVar33);
          (*(code *)(PTR_LAB_00190bdc + -0x3030))(local_8c,0xd);
          param_3 = (code *******)0x1;
          param_2 = (code *******)0x0;
          local_6c = pppppppcVar33[0xf];
          local_74 = (code *******)&local_80;
          local_70 = &local_8e;
          local_54 = 2;
          param_4 = local_8c;
          local_7c = (uint)bVar1;
          local_78 = pppppppcVar33;
          ppppppcVar20 = (code ******)(*(code *)(PTR_LAB_00190bdc + -0xf50))(&local_7c);
          local_88 = ppppppcVar20;
          if (ppppppcVar20 == (code ******)0x0) {
            *(ushort *)(local_8c + 5) =
                 ((-2 - local_8e) - *(short *)((int)local_8c + 0x12)) + (short)ppppppcVar16[9];
            if (*(char *)((int)ppppppcVar16 + 0x11) != '\0') {
              local_c0 = (code ******)&local_88;
              FUN_000c9144(ppppppcVar16,local_84,5,unaff_s0[1]);
              if (*(ushort *)(local_8c + 4) < local_8e) {
                FUN_000c93a0(local_8c,local_8c + 0xf,local_80,&local_88);
              }
            }
            pppppppcVar11 =
                 (code *******)
                 ((int)pppppppcVar33[0xe] +
                 (uint)(*(ushort *)
                         ((int)pppppppcVar33[0x10] +
                         (*(ushort *)((int)pppppppcVar33 + 0x16) - 1) * 2) &
                       *(ushort *)(pppppppcVar33 + 6)));
            pppppppcVar29 = pppppppcVar11;
            do {
              pppppppcVar12 = pppppppcVar29;
              pppppppcVar29 = (code *******)((int)pppppppcVar12 + 1);
              if (-1 < *(char *)pppppppcVar12) break;
            } while ((code *******)((int)pppppppcVar11 + 9) != pppppppcVar29);
            pcVar18 = local_38;
            do {
              local_80 = (code *******)((int)pppppppcVar29 + 1);
              pcVar19 = pcVar18 + 1;
              cVar10 = *(char *)pppppppcVar29;
              *pcVar18 = cVar10;
              if (-1 < cVar10) break;
              pppppppcVar29 = local_80;
              pcVar18 = pcVar19;
            } while (local_80 < (code *******)((int)pppppppcVar12 + 10));
            if (local_88 == (code ******)0x0) {
              local_bc = pppppppcVar33[1];
              local_c0 = (code ******)0x0;
              local_b8 = (code ******)&local_88;
              FUN_000caee4(unaff_s0,*(undefined2 *)((int)unaff_s0 + 0x16),auStack_3c,
                           (int)pcVar19 - (int)auStack_3c);
              bVar1 = *(byte *)((int)unaff_s0 + 9);
            }
            else {
              bVar1 = *(byte *)((int)unaff_s0 + 9);
            }
            puVar5 = (undefined1 *)((int)unaff_s0[0xe] + bVar1 + 8);
            param_4 = (code ******)((uint)local_84 >> 0x18);
            param_3 = (code *******)((uint)local_84 >> 0x10);
            param_2 = (code *******)((uint)local_84 >> 8);
            *puVar5 = (char)((uint)local_84 >> 0x18);
            puVar5[1] = (char)((uint)local_84 >> 0x10);
            puVar5[2] = (char)((uint)local_84 >> 8);
            puVar5[3] = (char)local_84;
            ppppppcVar20 = local_88;
            if (local_8c == (code ******)0x0) goto LAB_000cd308;
          }
          else if (local_8c == (code ******)0x0) {
            ppppppcVar16 = pppppppcVar33[0x12];
            goto LAB_000cd310;
          }
          (*pcVar25)(local_8c[0x12]);
          ppppppcVar20 = local_88;
        }
        goto LAB_000cd308;
      }
      param_4 = (code ******)((int)&__DT_SYMTAB[0x5e].st_name + 3);
      local_c0 = (code ******)(PTR_LAB_00190958 + 0x625c);
      param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5e64);
      param_2 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x6378);
      ppppppcVar20 = (code ******)&DAT_0000000b;
      (*(code *)PTR_sqlite3_log_00190be0)(0xb);
      ppppppcVar16 = pppppppcVar33[0x12];
    }
LAB_000cd310:
    *(char *)(pppppppcVar33 + 3) = '\0';
    (*pcVar25)(ppppppcVar16);
    cVar10 = *(char *)(param_1 + 0x44) + -1;
    iVar32 = (int)cVar10;
    *(char *)(param_1 + 0x44) = cVar10;
    pppppppcVar33 = *(code ********)(param_1 + (iVar32 + 0x1e) * 4);
    *(code ********)(param_1 + 0x74) = pppppppcVar33;
  } while (ppppppcVar20 == (code ******)0x0);
  if (pppppppcVar29 != (code *******)0x0) {
    (*(code *)(PTR_LAB_00190ba8 + 0x4e2c))(pppppppcVar29);
  }
  if (local_2c == *(undefined **)puVar36) {
    return ppppppcVar20;
  }
  pcVar4 = FUN_000cd690;
  puVar13 = local_2c;
  puVar36 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_130 = puVar36 + 0xcb290;
  piVar26 = *(int **)(puVar36 + 0xc3794);
  ppppcStack_fc = (code ****)*piVar26;
  pppppppcStack_f8 = unaff_s0;
  puStack_f4 = puVar22;
  pcStack_f0 = pcVar25;
  ppppppcStack_ec = ppppppcVar28;
  pppppppcStack_e8 = pppppppcVar29;
  ppppppcStack_e4 = ppppppcVar20;
  iStack_e0 = iVar32;
  pppppppcStack_dc = pppppppcVar33;
  iStack_d8 = param_1;
  pcStack_d4 = pcVar4;
  pppppppcStack_c8 = param_3;
  if (*(code ********)(puVar13 + 0x2c) < param_2) {
    ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_name + 2);
    iStack_138 = *(int *)(puVar36 + 0xc32c8) + 0x625c;
    ppppppcVar16 = (code ******)(*(int *)(puVar36 + 0xc32cc) + -0x5e64);
    param_2 = (code *******)(*(int *)(puVar36 + 0xc32cc) + -0x6378);
    (**(code **)(puVar36 + 0xc3550))(0xb);
    puVar13 = puVar22;
    param_4 = ppppppcVar28;
    ppppppcVar28 = (code ******)&DAT_0000000b;
  }
  else {
    ppppppcVar16 = &pppppcStack_120;
    iStack_138 = 0;
    ppppppcStack_1d8 = (code ******)0x0;
    ppppppcStack_11c = (code ******)(*(code *)(*(int *)(puVar36 + 0xc354c) + -0x267c))();
    ppppppcVar28 = ppppppcStack_11c;
    if (ppppppcStack_11c == (code ******)0x0) {
      if (*(char *)((int)pppppcStack_120 + 1) == '\0') {
        *(undefined1 *)((int)pppppcStack_120 + 1) = 1;
        uStack_124 = (uint)*(byte *)((int)pppppcStack_120 + 9);
        if (*(short *)((int)pppppcStack_120 + 0x16) == 0) {
          uVar41 = 0;
        }
        else {
          pppppppcVar29 = (code *******)0x0;
          ppppppcVar20 = apppppcStack_118;
          iVar32 = *(int *)(puStack_130 + -0x7d64) + -0x2970;
          unaff_s0 = (code *******)(*(int *)(puStack_130 + -0x7d64) + -0x5428);
          iVar23 = 0;
          do {
            ppppppcStack_11c = (code ******)0x0;
            pppppppcVar33 =
                 (code *******)
                 ((int)pppppcStack_120[0xe] +
                 (uint)(*(ushort *)((int)pppppppcVar29 + (int)pppppcStack_120[0x10]) &
                       *(ushort *)(pppppcStack_120 + 6)));
            if (*(char *)(pppppcStack_120 + 2) == '\0') {
              ppppppcVar16 = (code ******)0x1;
              uVar41 = (int)pppppppcVar33 + 3U & 3;
              param_2 = (code *******)
                        (*(int *)((int)pppppppcVar33 - ((uint)pppppppcVar33 & 3)) <<
                         ((uint)pppppppcVar33 & 3) * 8 & -1 << (uVar41 + 1) * 8 |
                        *(uint *)((char *)((int)pppppppcVar33 + 3U) + -uVar41) >> (3 - uVar41) * 8);
              ppppppcStack_1d8 = param_4;
              ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);
              if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;
            }
            param_2 = pppppppcVar33;
            ppppppcVar16 = ppppppcVar20;
            ppppppcStack_11c = (code ******)FUN_000cabd8();
            if (ppppppcStack_11c != (code ******)0x0) goto LAB_000cd7ec;
            uVar41 = (uint)*(ushort *)((int)pppppcStack_120 + 0x16);
            iVar23 = iVar23 + 1;
            pppppppcVar29 = (code *******)((int)pppppppcVar29 + 2);
          } while (iVar23 < (int)uVar41);
        }
        ppppppcVar16 = (code ******)0x1;
        if (*(char *)(pppppcStack_120 + 2) == '\0') {
          param_2 = *(code ********)((int)pppppcStack_120[0xe] + uStack_124 + 8);
          ppppppcStack_1d8 = param_4;
          ppppppcStack_11c = (code ******)FUN_000cd690(puVar13);
          if (ppppppcStack_11c == (code ******)0x0) {
            ppppppcVar28 = (code ******)0x0;
            if (pppppppcStack_c8 != (code *******)0x0) goto LAB_000cd958;
            goto LAB_000cd96c;
          }
        }
        else {
          if (param_4 != (code ******)0x0) {
            *param_4 = (code *****)((int)*param_4 + uVar41);
          }
          ppppppcVar28 = ppppppcStack_11c;
          if (pppppppcStack_c8 == (code *******)0x0) {
LAB_000cd96c:
            ppppppcStack_11c = ppppppcVar28;
            ppppppcStack_11c = (code ******)FUN_000c3260(pppppcStack_120[0x12]);
            if (ppppppcStack_11c == (code ******)0x0) {
              ppppppcVar20 = (code ******)((int)pppppcStack_120[0xe] + uStack_124);
              param_2 = (code *******)(*(byte *)ppppppcVar20 | 8);
              (*(code *)(*(int *)(puStack_130 + -0x7d44) + -0x3030))(pppppcStack_120);
            }
          }
          else if (ppppppcStack_11c == (code ******)0x0) {
LAB_000cd958:
            param_2 = &ppppppcStack_11c;
            FUN_000cae98();
          }
        }
      }
      else {
        ppppppcStack_1d8 = (code ******)((int)&__DT_SYMTAB[0xd5].st_value + 3);
        iStack_138 = *(int *)(puStack_130 + -0x7fc8) + 0x625c;
        ppppppcVar16 = (code ******)(*(int *)(puStack_130 + -0x7fc4) + -0x5e64);
        param_2 = (code *******)(*(int *)(puStack_130 + -0x7fc4) + -0x6378);
        (**(code **)(puStack_130 + -0x7d40))(0xb);
        ppppppcStack_11c = (code ******)&DAT_0000000b;
      }
LAB_000cd7ec:
      *(undefined1 *)((int)pppppcStack_120 + 1) = 0;
      ppppppcVar28 = ppppppcStack_11c;
      if (pppppcStack_120 != (code *****)0x0) {
        (*(code *)(*(int *)(puStack_130 + -0x7de0) + 0xee8))(pppppcStack_120[0x12]);
        ppppppcVar28 = ppppppcStack_11c;
      }
    }
  }
  if (ppppcStack_fc == (code ****)*piVar26) {
    return ppppppcVar28;
  }
  pcVar4 = *(code **)(puStack_130 + -0x7b28);
  uVar39 = 0xcd9d0;
  ppppcVar38 = ppppcStack_fc;
  (*pcVar4)();
  ppppppcStack_178 = (code ******)(pcVar4 + 0xcaf50);
  piVar27 = *(int **)(pcVar4 + 0xc3454);
  pppppcStack_170 = (code *****)0x0;
  iStack_16c = *piVar27;
  ppppppcVar21 = ppppppcVar16;
  pppppppcStack_164 = unaff_s0;
  puStack_160 = puVar13;
  piStack_15c = piVar26;
  ppppppcStack_158 = param_4;
  pppppppcStack_154 = pppppppcVar29;
  ppppppcStack_150 = ppppppcVar20;
  uStack_14c = uVar39;
  if ((int)ppppcVar38[3][9] << 3 < 0) {
    pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x42a8);
LAB_000cda68:
    (*(code *)ppppppcStack_178[-0x1fed])(ppppcVar38[2]);
    ppppppcVar24 = (code ******)0x1;
    pppcVar6 = (code ***)sqlite3_mprintf(ppppppcStack_178[-0x1ff1] + -0x177f);
    ppppcVar38[2] = pppcVar6;
    ppppppcVar16 = param_4;
  }
  else {
    if (param_2 == (code *******)0x1) {
      pppppppcVar7 = (code *******)(*(int *)(pcVar4 + 0xc2f8c) + -0x429c);
      goto LAB_000cda68;
    }
    iVar23 = *(int *)(pcVar4 + 0xc31d8);
    (*(code *)(iVar23 + 0x7f68))(*ppppppcVar16);
    (*(code *)(iVar23 + 0x7f68))(ppppppcVar16[1]);
    param_4 = ppppppcVar16;
    pppppppcVar29 = extraout_v1;
    if (extraout_v1 != extraout_v1_00) {
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x109f);
      goto LAB_000cda68;
    }
    iVar23 = (*(code *)(ppppppcStack_178[-0x1f58] + 0x1bd8))(ppppppcVar16[4],1);
    if (iVar23 == 0) {
LAB_000cdb7c:
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10b2);
      goto LAB_000cda68;
    }
    pppcVar6 = ppppcVar38[3];
    iVar23 = (*(code *)(ppppppcStack_178[-0x1f5e] + 0x8dc))(pppcVar6,iVar23);
    if (iVar23 < 0) goto LAB_000cdb7c;
    if (((extraout_v1 == (code *******)0x0) ||
        (iVar23 = (int)pppcVar6[4][iVar23 * 4U + 1], iVar23 == 0)) ||
       (ppppppcVar21 = *(code *******)(iVar23 + 4), ppppppcVar21[0xb] < extraout_v1)) {
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10ae);
      goto LAB_000cda68;
    }
    if (*(char *)((int)ppppppcStack_178[-0x1ff1] +
                 (*(ushort *)(ppppppcVar16[3] + 2) & 0x1f) + 0x6a8c) != '\x04') {
LAB_000cdb70:
      pppppppcVar7 = (code *******)(ppppppcStack_178[-0x1ff1] + -0x10a3);
      goto LAB_000cda68;
    }
    ppppppcVar20 = (code ******)ppppppcVar21[8];
    ppppppcVar24 = (code ******)(*(code *)(ppppppcStack_178[-0x1f58] + 0x1b22))(ppppppcVar16[3],1);
    if (ppppppcVar20 != ppppppcVar24) goto LAB_000cdb70;
    ppppppcStack_1d8 = (code ******)0x0;
    ppppppcVar21 = &pppppcStack_170;
    pppppppcVar7 = extraout_v1;
    ppppppcVar24 = (code ******)(**(code **)(**(int **)(iVar23 + 4) + 0xcc))(**(int **)(iVar23 + 4))
    ;
    if ((ppppppcVar24 == (code ******)0x0) &&
       (ppppppcVar24 = (code ******)FUN_000c3260(pppppcStack_170), ppppppcVar24 == (code ******)0x0)
       ) {
      ppppcVar38 = pppppcStack_170[1];
      pppppppcVar7 = (code *******)(*(code *)ppppppcStack_178[-0x1fd9])(ppppppcVar16[3]);
      ppppppcVar21 = ppppppcVar20;
      (*(code *)ppppppcStack_178[-0x1ebd])(ppppcVar38);
    }
    if (pppppcStack_170 != (code *****)0x0) {
      (*(code *)(ppppppcStack_178[-0x1f78] + 0x3ba))();
    }
  }
  if (iStack_16c == *piVar27) {
    return ppppppcVar24;
  }
  pppppcVar37 = ppppppcStack_178[-0x1eca];
  pcVar4 = FUN_000cdc54;
  iVar23 = iStack_16c;
  (*(code *)pppppcVar37)();
  ppppcVar8 = pppppcVar37[0x30c74];
  pppcStack_1b4 = *ppppcVar8;
  iVar34 = *(int *)(iVar23 + 0x74);
  piVar26 = *(int **)(iVar23 + 0x14);
  ppppcStack_1b0 = ppppcVar38;
  ppppppcStack_1ac = ppppppcVar24;
  piStack_1a8 = piVar27;
  ppppppcStack_1a4 = ppppppcVar16;
  pppppppcStack_1a0 = pppppppcVar29;
  ppppppcStack_19c = ppppppcVar20;
  iStack_198 = iVar32;
  pppppppcStack_194 = pppppppcVar33;
  ppppppcStack_190 = ppppppcVar28;
  pcStack_18c = pcVar4;
  (*(code *)(pppppcVar37[0x30bbb] + 0x581))();
  iVar32 = *(int *)(iVar23 + 0x28);
  pppppppcVar29 = (code *******)(uint)*(ushort *)(iVar23 + 0x30);
  if ((uint)(piVar26[9] - (int)pppppppcVar29) < (uint)(iVar32 - *(int *)(iVar34 + 0x38))) {
    uVar39 = 0x108be;
  }
  else {
    if (pppppppcVar7 < pppppppcVar29) {
      ppppppcVar28 = ppppppcVar21;
      if (pppppppcVar29 < (code *******)((int)pppppppcVar7 + (int)ppppppcVar21)) {
        ppppppcVar28 = (code ******)((int)pppppppcVar29 - (int)pppppppcVar7);
      }
      ppppppcVar20 = (code ******)((int)pppppppcVar7 + iVar32);
      if (ppppppcStack_178 == (code ******)0x0) {
        ppppcVar38 = pppppcVar37[0x30c76];
        ppppppcVar16 = ppppppcStack_1d8;
      }
      else {
        ppppppcVar16 = (code ******)FUN_000c3260(*(undefined4 *)(iVar34 + 0x48));
        if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;
        ppppcVar38 = pppppcVar37[0x30c76];
        ppppppcVar16 = ppppppcVar20;
        ppppppcVar20 = ppppppcStack_1d8;
      }
      ppppppcVar21 = (code ******)((int)ppppppcVar21 - (int)ppppppcVar28);
      (*(code *)ppppcVar38)(ppppppcVar16,ppppppcVar20,ppppppcVar28);
      ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);
      pbVar30 = (byte *)0x0;
    }
    else {
      pbVar30 = (byte *)((int)pppppppcVar7 - (int)pppppppcVar29);
    }
    if (ppppppcVar21 == (code ******)0x0) {
      ppppppcVar16 = (code ******)0x0;
      goto LAB_000cdd30;
    }
    uVar2 = *(ushort *)(iVar23 + 0x30);
    iVar34 = *(int *)(iVar23 + 0xc);
    pbVar31 = (byte *)(piVar26[9] + -4);
    iStack_1bc = *(int *)(iVar32 + (uint)uVar2);
    if ((*(byte *)(iVar23 + 1) & 4) == 0) {
      iVar32 = *(int *)(iVar23 + 0x2c);
      if (pbVar31 == (byte *)0x0) {
        trap(7);
      }
      if (iVar34 == 0) {
LAB_000cdf84:
        iVar34 = (*(code *)(pppppcVar37[0x30bd5] + 0xd5))(iVar34);
        if (iVar34 == 0) {
          ppppppcVar16 = (code ******)&DAT_00000007;
          goto LAB_000cdd30;
        }
        *(int *)(iVar23 + 0xc) = iVar34;
      }
      else {
        iVar17 = (*(code *)pppppcVar37[0x30b3d][-0x2d0])();
        iVar34 = *(int *)(iVar23 + 0xc);
        if (iVar17 < (int)((uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2))
        goto LAB_000cdf84;
      }
      (*(code *)pppppcVar37[0x30c41])
                (iVar34,0,(uint)(pbVar31 + ((iVar32 + -1) - (uint)uVar2)) / (uint)pbVar31 << 2);
      *(byte *)(iVar23 + 1) = *(byte *)(iVar23 + 1) | 4;
    }
    else {
      if (pbVar31 == (byte *)0x0) {
        trap(7);
      }
      uVar41 = (uint)pbVar30 / (uint)pbVar31;
      pbVar40 = (byte *)((uint)pbVar30 % (uint)pbVar31);
      iVar32 = *(int *)(iVar34 + uVar41 * 4);
      if (iVar32 != 0) goto LAB_000cddd4;
    }
    uVar41 = 0;
    if (iStack_1bc != 0) {
      iVar34 = *(int *)(iVar23 + 0xc);
      pbVar40 = pbVar30;
      iVar32 = iStack_1bc;
LAB_000cddd4:
      iStack_1bc = iVar32;
      uVar39 = 2;
      ppppcVar38 = pppppcVar37[0x30bbb];
      iVar32 = uVar41 + 1;
      ppppcVar35 = pppppcVar37[0x30bde];
      if (ppppppcStack_178 != (code ******)0x0) {
        uVar39 = 0;
      }
      iVar17 = iVar32 * 4;
      *(int *)(iVar34 + iVar17 + -4) = iStack_1bc;
      ppppcVar9 = pppppcVar37[0x30be2];
      pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);
      ppppppcVar28 = ppppppcVar21;
      if (pbVar40 < pbVar31) goto LAB_000cde58;
      do {
        iVar14 = *(int *)(iVar23 + 0xc);
        pbVar40 = pbVar40 + -(int)pbVar31;
        iVar34 = *(int *)(iVar14 + iVar17);
        if (*(int *)(iVar14 + iVar17) == 0) {
          ppppppcVar16 = (code ******)
                         (*(code *)(ppppcVar9 + -0xa58))(piVar26,iStack_1bc,0,&iStack_1bc);
          goto LAB_000cdea8;
        }
        while( true ) {
          iStack_1bc = iVar34;
          iVar32 = iVar32 + 1;
          iVar17 = iVar32 * 4;
          *(int *)(iVar14 + iVar17 + -4) = iStack_1bc;
          if (pbVar31 <= pbVar40) break;
          pbVar30 = (byte *)((int)ppppppcVar21 + (int)pbVar40);
          ppppppcVar28 = ppppppcVar21;
LAB_000cde58:
          ppppppcVar21 = (code ******)0x0;
          if (pbVar31 < pbVar30) {
            ppppppcVar21 = (code ******)((int)ppppppcVar28 + ((int)pbVar40 - (int)pbVar31));
            ppppppcVar28 = (code ******)(pbVar31 + -(int)pbVar40);
          }
          ppppppcVar16 = (code ******)
                         (**(code **)(*piVar26 + 0xcc))(*piVar26,iStack_1bc,&iStack_1b8,uVar39);
          iVar34 = iStack_1b8;
          if (ppppppcVar16 == (code ******)0x0) {
            pbVar30 = (byte *)((int)*(int **)(iStack_1b8 + 4) + (int)(pbVar40 + 4));
            iStack_1bc = **(int **)(iStack_1b8 + 4);
            if (ppppppcStack_178 == (code ******)0x0) {
              pbVar40 = (byte *)0x0;
              (*(code *)pppppcVar37[0x30c76])(ppppppcStack_1d8,pbVar30,ppppppcVar28);
              ppppppcVar16 = ppppppcStack_178;
              (*(code *)(ppppcVar38 + 0x3ba))(iVar34);
            }
            else {
              ppppppcVar16 = (code ******)(*(code *)(ppppcVar35 + 0xc98))(iStack_1b8);
              if (ppppppcVar16 == (code ******)0x0) {
                (*(code *)pppppcVar37[0x30c76])(pbVar30,ppppppcStack_1d8,ppppppcVar28);
              }
              pbVar40 = (byte *)0x0;
              if (iStack_1b8 != 0) {
                (*(code *)(ppppcVar38 + 0x3ba))(iStack_1b8);
              }
            }
          }
          if (ppppppcVar21 == (code ******)0x0) goto LAB_000cdd30;
          ppppppcStack_1d8 = (code ******)((int)ppppppcStack_1d8 + (int)ppppppcVar28);
LAB_000cdea8:
          if (ppppppcVar16 != (code ******)0x0) goto LAB_000cdd30;
          if (iStack_1bc == 0) goto LAB_000ce0b4;
          iVar14 = *(int *)(iVar23 + 0xc);
          iVar34 = iStack_1bc;
        }
      } while( true );
    }
LAB_000ce0b4:
    uVar39 = 0x1094f;
  }
  ppppppcVar16 = (code ******)&DAT_0000000b;
  (*(code *)pppppcVar37[0x30be3])
            (0xb,pppppcVar37[0x30b42] + -0x18de,pppppcVar37[0x30b42] + -0x1799,uVar39,
             pppppcVar37[0x30b41] + 0x1897);
LAB_000cdd30:
  if (pppcStack_1b4 == *ppppcVar8) {
    return ppppppcVar16;
  }
  ppppcVar38 = pppppcVar37[0x30c69];
  pppcVar6 = pppcStack_1b4;
  (*(code *)ppppcVar38)();
  (*(code *)(ppppcVar38[0x30a9a] + 0x581))();
  ppcVar15 = pppcVar6[0xb];
  pppcVar6[0xe] = (code **)0x0;
  pppcVar6[0xf] = ppcVar15;
  ppcVar15 = (code **)(*(code *)(ppppcVar38[0x30ab4] + -0xad2))
                                ((code **)((int)ppcVar15 + 0x11) < ppcVar15);
  if (ppcVar15 == (code **)0x0) {
    return (code ******)&DAT_00000007;
  }
  ppppppcVar28 = (code ******)FUN_000cdc54(pppcVar6,0,pppcVar6[0xf],ppcVar15,0);
  if (ppppppcVar28 == (code ******)0x0) {
    (*(code *)ppppcVar38[0x30b20])((int)ppcVar15 + (int)pppcVar6[0xf],0,0x11);
    pppcVar6[4] = ppcVar15;
    return (code ******)0x0;
  }
  (*(code *)ppppcVar38[0x30a25])(ppcVar15);
  return ppppppcVar28;
}

