
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 sqlite3BtreeBeginTrans(Btree *p,int wrflag,int *pSchemaVersion)

{
  byte bVar1;
  BtShared *pBt;
  Btree *pBVar2;
  Pager *pPVar3;
  uint uVar4;
  int *piVar5;
  Pgno PVar6;
  ushort uVar7;
  u16 uVar8;
  BtLock *pBVar9;
  uint uVar10;
  int iVar11;
  u8 *p_00;
  Pager *pWal_1;
  Pager *extraout_ECX;
  sqlite3 *psVar12;
  BtShared *extraout_EDX;
  BtShared *extraout_EDX_00;
  BtShared *extraout_EDX_01;
  BtShared *extraout_EDX_02;
  BtShared *pBt_1;
  BtShared *extraout_EDX_03;
  BtShared *extraout_EDX_04;
  BtShared *extraout_EDX_05;
  BtShared *extraout_EDX_06;
  BtShared *extraout_EDX_07;
  BtShared *extraout_EDX_08;
  BtShared *extraout_EDX_09;
  BtShared *extraout_EDX_10;
  BtShared *extraout_EDX_11;
  BtShared *extraout_EDX_12;
  BtShared *extraout_EDX_13;
  BtShared *extraout_EDX_14;
  BtShared *extraout_EDX_15;
  MemPage *pMVar13;
  uint uVar14;
  int in_GS_OFFSET;
  uint local_3c;
  Wal *local_38;
  MemPage *pPage1;
  int isOpen;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x9bd1b;
  pBt = p->pBt;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (p->sharable != '\0') {
    sqlite3BtreeEnter(p);
  }
  if (p->inTrans == '\x02') {
    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {
LAB_0009bf20:
      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);
      ((sqlite3 *)pSchemaVersion)->pVfs =
           (sqlite3_vfs *)
           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);
    }
    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {
LAB_0009bf3c:
      iVar11 = p->db->nSavepoint;
      pPVar3 = pBt->pPager;
      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {
        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);
        goto LAB_0009bf60;
      }
    }
  }
  else {
    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {
      uVar7 = pBt->btsFlags;
      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {
        if ((uVar7 & 1) == 0) goto LAB_0009bd81;
        uVar10 = 8;
        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;
LAB_0009bddc:
        if ((uVar7 & 0x80) != 0) {
LAB_0009bde0:
          psVar12 = pBt->pWriter->db;
          goto LAB_0009bde5;
        }
      }
      else {
        uVar7 = uVar7 & 0xfffe;
        pBt->btsFlags = uVar7;
LAB_0009bd81:
        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;
        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;
        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;
        pBVar2 = pBVar9->pBtree;
        if (p == pBVar2) {
          do {
            pBVar9 = pBVar9->pNext;
            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;
          } while (pBVar9->pBtree == pBVar2);
          psVar12 = pBVar9->pBtree->db;
        }
        else {
          psVar12 = pBVar2->db;
        }
LAB_0009bde5:
        if (psVar12 != (sqlite3 *)0x0) {
          uVar10 = 0x106;
          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);
          goto LAB_0009bf60;
        }
      }
LAB_0009bded:
      uVar10 = querySharedCacheTableLock(p,1,'\x01');
      if (uVar10 == 0) {
        pBt_1 = (BtShared *)pBt->nPage;
        uVar7 = pBt->btsFlags & 0xffef;
        pBt->btsFlags = uVar7;
        if (pBt_1 == (BtShared *)0x0) {
          pBt->btsFlags = uVar7 | 0x10;
        }
        pMVar13 = pBt->pPage1;
        uVar14 = uVar10;
LAB_0009be87:
        while (pMVar13 == (MemPage *)0x0) {
          uVar10 = sqlite3PagerSharedLock(pBt->pPager);
          pBt_1 = extraout_EDX_01;
          if ((uVar10 != 0) ||
             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,
             uVar14 != 0)) goto LAB_0009bfa0;
          uVar4 = pBt->pPager->dbSize;
          piVar5 = (int *)pPage1->aData;
          uVar10 = piVar5[7];
          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                            uVar10 << 0x18);
          uVar10 = (uint)pBt->db->flags & 0x2000000;
          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {
            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;
LAB_0009c02c:
            local_3c = pBt->usableSize;
            local_38 = (Wal *)0x0;
LAB_0009c03b:
            pBt->pPage1 = pPage1;
            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;
            pBt->maxLocal = (ushort)iVar11;
            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;
            pBt->minLocal = uVar8;
            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);
            pBt->minLeaf = uVar8;
            if (0x7f < (ushort)iVar11) {
              iVar11 = 0x7f;
            }
            pBt->maxLeaf = (u16)pBt_1;
            pBt->max1bytePayload = (u8)iVar11;
            pBt->nPage = (u32)local_38;
            pMVar13 = pPage1;
          }
          else {
            if (uVar10 != 0) goto LAB_0009c02c;
LAB_0009c298:
            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)
                ) || (piVar5[3] != 0x332074)) {
LAB_0009c2a4:
              uVar10 = 0x1a;
              uVar14 = 0x1a;
              sqlite3PagerUnrefPageOne(pPage1->pDbPage);
              pBt->pPage1 = (MemPage *)0x0;
              pBt_1 = extraout_EDX_08;
LAB_0009be44:
              if (pBt->inTransaction == '\0') goto LAB_0009be4e;
              goto LAB_0009bf60;
            }
            if (2 < *(byte *)((int)piVar5 + 0x12)) {
              pBt->btsFlags = pBt->btsFlags | 1;
            }
            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;
            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {
LAB_0009c3b7:
              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||
                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||
                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |
                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||
                  (0xfeff < uVar10 - 0x101)))) {
                uVar14 = 0x1a;
                uVar10 = 0x1a;
                sqlite3PagerUnrefPageOne(pPage1->pDbPage);
                pBt->pPage1 = (MemPage *)0x0;
                pBt_1 = extraout_EDX_11;
                goto LAB_0009be44;
              }
              pBt->btsFlags = pBt->btsFlags | 2;
              bVar1 = *(byte *)(piVar5 + 5);
              local_3c = uVar10 - bVar1;
              if (uVar10 == pBt->pageSize) {
                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {
                  uVar14 = 0xb;
                  uVar10 = 0xb;
                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,
                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");
                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);
                  pBt->pPage1 = (MemPage *)0x0;
                  pBt_1 = extraout_EDX_15;
                  goto LAB_0009be44;
                }
                if (local_3c < 0x1e0) goto LAB_0009c2a4;
                pBt->usableSize = local_3c;
                pBt->autoVacuum = piVar5[0xd] != 0;
                pBt->incrVacuum = piVar5[0x10] != 0;
                goto LAB_0009c03b;
              }
              sqlite3PagerUnrefPageOne(pPage1->pDbPage);
              pBt->usableSize = local_3c;
              pBt->pageSize = uVar10;
              if (pBt->pTmpSpace != (u8 *)0x0) {
                p_00 = pBt->pTmpSpace + -4;
                pBt->pTmpSpace = p_00;
                pcache1Free(p_00);
                pBt->pTmpSpace = (u8 *)0x0;
              }
              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);
              pBt_1 = extraout_EDX_14;
              if (uVar10 != 0) goto LAB_0009bfa0;
              goto LAB_0009be84;
            }
            isOpen = 0;
            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);
            if (uVar10 != 0) {
              sqlite3PagerUnrefPageOne(pPage1->pDbPage);
              pBt->pPage1 = (MemPage *)0x0;
              pBt_1 = extraout_EDX_00;
              goto LAB_0009bfa0;
            }
            if (isOpen != 0) goto LAB_0009c3b7;
            uVar14 = 0;
            sqlite3PagerUnrefPageOne(pPage1->pDbPage);
            pMVar13 = pBt->pPage1;
            pBt_1 = extraout_EDX_13;
          }
        }
        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {
          if ((pBt->btsFlags & 1) != 0) {
LAB_0009be3a:
            uVar14 = 8;
            uVar10 = 8;
            goto LAB_0009be44;
          }
          pPVar3 = pBt->pPager;
          uVar10 = pPVar3->errCode;
          if (uVar10 == 0) {
            pPVar3->subjInMemory = p->db->temp_store == '\x02';
            if (pPVar3->eState == '\x01') {
              local_38 = pPVar3->pWal;
              if (local_38 != (Wal *)0x0) {
                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {
                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {
                    uVar10 = pagerLockDb(pPVar3,4);
                    pBt_1 = extraout_EDX_10;
                    if (uVar10 != 0) goto LAB_0009c268;
                    local_38 = pPVar3->pWal;
                    pWal_1 = extraout_ECX;
                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;
                  }
                  else {
LAB_0009c17a:
                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);
                    pBt_1 = extraout_EDX_04;
                  }
                  local_38->exclusiveMode = '\x01';
                  local_38 = pPVar3->pWal;
                }
                if (local_38->readOnly != '\0') goto LAB_0009be3a;
                if ((local_38->exclusiveMode == '\0') &&
                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),
                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;
                local_38->writeLock = '\x01';
                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);
                if (iVar11 == 0) goto LAB_0009c202;
                pBt_1 = extraout_EDX_06;
                if (local_38->exclusiveMode == '\0') {
                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);
                  pBt_1 = extraout_EDX_12;
                }
                local_38->writeLock = '\0';
                goto LAB_0009c274;
              }
              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {
                uVar10 = pagerLockDb(pPVar3,2);
                pBt_1 = extraout_EDX_09;
                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;
LAB_0009c25e:
                if (uVar10 != 0) goto LAB_0009c268;
              }
              else if (1 < wrflag) {
LAB_0009c24e:
                uVar10 = pager_wait_on_lock(pPVar3,4);
                pBt_1 = extraout_EDX_07;
                goto LAB_0009c25e;
              }
LAB_0009c202:
              PVar6 = pPVar3->dbSize;
              pPVar3->eState = '\x02';
              *(undefined4 *)&pPVar3->journalOff = 0;
              pPVar3->dbHintSize = PVar6;
              pPVar3->dbFileSize = PVar6;
              pPVar3->dbOrigSize = PVar6;
              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;
            }
            if (pBt->nPage == 0) {
              uVar14 = newDatabase((BtShared *)wrflag);
              pBt_1 = extraout_EDX_03;
              goto LAB_0009be9a;
            }
            goto LAB_0009bea2;
          }
LAB_0009c268:
          if (uVar10 != 0x205) goto LAB_0009bfa0;
LAB_0009c274:
          if (pBt->inTransaction != '\0') {
            uVar10 = 0x205;
            goto LAB_0009bf60;
          }
          uVar14 = 5;
          uVar10 = 5;
LAB_0009be4e:
          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);
        }
        else {
LAB_0009be9a:
          uVar10 = uVar14;
          if (uVar14 == 0) {
LAB_0009bea2:
            if ((p->inTrans == '\0') &&
               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {
              (p->lock).eLock = '\x01';
              (p->lock).pNext = pBt->pLock;
              pBt->pLock = &p->lock;
            }
            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {
              p->inTrans = '\x01';
              if (pBt->inTransaction == '\0') {
                pBt->inTransaction = '\x01';
              }
              goto LAB_0009c0f6;
            }
            p->inTrans = '\x02';
            if (pBt->inTransaction < 2) {
              pBt->inTransaction = '\x02';
            }
            pMVar13 = pBt->pPage1;
            pBt->pWriter = p;
            uVar7 = pBt->btsFlags & 0xffbf;
            if (1 < wrflag) {
              uVar7 = uVar7 | 0x40;
            }
            pBt->btsFlags = uVar7;
            uVar10 = *(uint *)(pMVar13->aData + 0x1c);
            if (pBt->nPage !=
                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18
                )) {
              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);
              if (uVar10 != 0) goto LAB_0009bf60;
              uVar10 = pBt->nPage;
              *(uint *)(pMVar13->aData + 0x1c) =
                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
            }
            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;
            goto LAB_0009bf20;
          }
LAB_0009bfa0:
          uVar14 = uVar10 & 0xff;
          if (pBt->inTransaction == '\0') goto LAB_0009be4e;
        }
        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||
           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),
           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;
LAB_0009be84:
        pMVar13 = pBt->pPage1;
        uVar14 = uVar10;
        goto LAB_0009be87;
      }
      goto LAB_0009bf60;
    }
LAB_0009c0f6:
    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;
  }
  uVar10 = 0;
LAB_0009bf60:
  if (p->sharable != '\0') {
    piVar5 = &p->wantToLock;
    *piVar5 = *piVar5 + -1;
    if (*piVar5 == 0) {
      sqlite3BtreeLeave(p);
    }
  }
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return uVar10;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  undefined4 uVar4;
  ushort uVar5;
  short sVar6;
  undefined4 *puVar7;
  uint uVar8;
  int iVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  int in_GS_OFFSET;
  int *piVar13;
  uint local_3c;
  uint local_38;
  int local_28;
  
  piVar2 = (int *)param_1[1];
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (*(char *)((int)param_1 + 9) != '\0') {
    FUN_00048b40();
  }
  if ((char)param_1[2] == '\x02') {
    if (param_3 != (uint *)0x0) {
LAB_0009bf20:
      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);
      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
    }
    if (param_2 != 0) {
LAB_0009bf3c:
      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&
         (*(char *)(*piVar2 + 6) != '\0')) {
        uVar8 = FUN_00044380();
        goto LAB_0009bf60;
      }
    }
  }
  else {
    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {
      uVar5 = *(ushort *)((int)piVar2 + 0x16);
      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {
        if ((uVar5 & 1) == 0) goto LAB_0009bd81;
        uVar8 = 8;
        if (param_2 != 0) goto LAB_0009bf60;
LAB_0009bddc:
        if ((uVar5 & 0x80) != 0) {
LAB_0009bde0:
          iVar9 = *(int *)piVar2[0x13];
          goto LAB_0009bde5;
        }
      }
      else {
        uVar5 = uVar5 & 0xfffe;
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
LAB_0009bd81:
        if (param_2 == 0) goto LAB_0009bddc;
        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;
        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))
        goto LAB_0009bded;
        piVar13 = (int *)*puVar7;
        if (param_1 == piVar13) {
          do {
            puVar7 = (undefined4 *)puVar7[3];
            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;
          } while ((int *)*puVar7 == piVar13);
          iVar9 = *(int *)*puVar7;
        }
        else {
          iVar9 = *piVar13;
        }
LAB_0009bde5:
        if (iVar9 != 0) {
          uVar8 = 0x106;
          FUN_0003ade0();
          goto LAB_0009bf60;
        }
      }
LAB_0009bded:
      uVar8 = FUN_0003ae70();
      if (uVar8 == 0) {
        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
        if (piVar2[0xb] == 0) {
          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;
        }
        piVar13 = piVar2 + 3;
        iVar9 = piVar2[3];
LAB_0009be87:
        while (iVar9 == 0) {
          uVar8 = FUN_0009b420(param_2,param_3,piVar13);
          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;
          uVar12 = *(uint *)(*piVar2 + 0x18);
          piVar3 = *(int **)(local_28 + 0x38);
          uVar11 = piVar3[7];
          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                     uVar11 << 0x18;
          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;
          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {
            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;
LAB_0009c298:
            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)
                ) || (piVar3[3] != 0x332074)) {
LAB_0009c2a4:
              uVar8 = 0x1a;
              uVar12 = 0x1a;
              FUN_0009afc0();
              piVar2[3] = 0;
LAB_0009be44:
              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;
              goto LAB_0009bf60;
            }
            if (2 < *(byte *)((int)piVar3 + 0x12)) {
              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;
            }
            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;
            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||
               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {
              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||
                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||
                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |
                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||
                 (0xfeff < uVar11 - 0x101)) {
                uVar12 = 0x1a;
                uVar8 = 0x1a;
                FUN_0009afc0();
                piVar2[3] = 0;
                goto LAB_0009be44;
              }
              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;
              local_3c = uVar11 - *(byte *)(piVar3 + 5);
              if (uVar11 == piVar2[8]) {
                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {
                  if (0x1df < local_3c) {
                    piVar2[9] = local_3c;
                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;
                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;
                    goto LAB_0009c03b;
                  }
                  goto LAB_0009c2a4;
                }
                uVar12 = 0xb;
                uVar8 = 0xb;
                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,
                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");
                FUN_0009afc0();
                piVar2[3] = 0;
                goto LAB_0009be44;
              }
              FUN_0009afc0();
              piVar2[9] = local_3c;
              piVar2[8] = uVar11;
              if (piVar2[0x14] != 0) {
                piVar2[0x14] = piVar2[0x14] + -4;
                FUN_000474c0();
                piVar2[0x14] = 0;
              }
              uVar8 = FUN_00058170();
              if (uVar8 != 0) goto LAB_0009bfa0;
              goto LAB_0009be84;
            }
            uVar8 = FUN_000580f0();
            if (uVar8 != 0) {
              FUN_0009afc0();
              piVar2[3] = 0;
LAB_0009bfa0:
              uVar12 = uVar8 & 0xff;
              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;
              goto LAB_0009be57;
            }
            uVar8 = 0;
            FUN_0009afc0();
            iVar9 = piVar2[3];
          }
          else {
            if (uVar11 == 0) goto LAB_0009c298;
LAB_0009c02c:
            local_3c = piVar2[9];
            local_38 = 0;
LAB_0009c03b:
            piVar2[3] = local_28;
            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;
            *(ushort *)(piVar2 + 6) = (ushort)iVar9;
            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;
            *(short *)((int)piVar2 + 0x1a) = sVar6;
            *(short *)((int)piVar2 + 0x1e) = sVar6;
            if (0x7f < (ushort)iVar9) {
              iVar9 = 0x7f;
            }
            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;
            *(char *)((int)piVar2 + 0x15) = (char)iVar9;
            piVar2[0xb] = local_38;
            iVar9 = local_28;
          }
        }
        if ((uVar8 == 0) && (param_2 != 0)) {
          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {
LAB_0009be3a:
            uVar12 = 8;
            uVar8 = 8;
            goto LAB_0009be44;
          }
          iVar9 = *piVar2;
          uVar8 = *(uint *)(iVar9 + 0x28);
          if (uVar8 == 0) {
            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';
            if (*(char *)(iVar9 + 0x10) == '\x01') {
              local_38 = *(int *)(iVar9 + 0xd4);
              if (local_38 != 0) {
                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {
                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {
                    uVar8 = FUN_00047f00();
                    if (uVar8 != 0) goto LAB_0009c268;
                    local_38 = *(int *)(iVar9 + 0xd4);
                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;
                  }
                  else {
LAB_0009c17a:
                    FUN_00048380();
                  }
                  *(undefined1 *)(local_38 + 0x2b) = 1;
                  local_38 = *(int *)(iVar9 + 0xd4);
                }
                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;
                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))
                goto LAB_0009c268;
                *(undefined1 *)(local_38 + 0x2c) = 1;
                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)
                                ,0x30);
                if (iVar10 == 0) goto LAB_0009c202;
                if (*(char *)(local_38 + 0x2b) == '\0') {
                  FUN_00048420();
                }
                *(undefined1 *)(local_38 + 0x2c) = 0;
                goto LAB_0009c274;
              }
              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {
                uVar8 = FUN_00047f00();
                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;
LAB_0009c25e:
                if (uVar8 != 0) goto LAB_0009c268;
              }
              else if (1 < param_2) {
LAB_0009c24e:
                uVar8 = FUN_00048060();
                goto LAB_0009c25e;
              }
LAB_0009c202:
              uVar4 = *(undefined4 *)(iVar9 + 0x18);
              *(undefined1 *)(iVar9 + 0x10) = 2;
              *(undefined4 *)(iVar9 + 0x48) = 0;
              *(undefined4 *)(iVar9 + 0x24) = uVar4;
              *(undefined4 *)(iVar9 + 0x20) = uVar4;
              *(undefined4 *)(iVar9 + 0x1c) = uVar4;
              *(undefined4 *)(iVar9 + 0x4c) = 0;
            }
            if (piVar2[0xb] == 0) {
              uVar8 = FUN_0009bc30();
              goto LAB_0009be9a;
            }
            goto LAB_0009bea2;
          }
LAB_0009c268:
          if (uVar8 != 0x205) goto LAB_0009bfa0;
LAB_0009c274:
          if ((char)piVar2[5] != '\0') {
            uVar8 = 0x205;
            goto LAB_0009bf60;
          }
          uVar12 = 5;
          uVar8 = 5;
LAB_0009be4e:
          FUN_0009aff0();
LAB_0009be57:
          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))
          goto LAB_0009bf60;
LAB_0009be84:
          iVar9 = piVar2[3];
          goto LAB_0009be87;
        }
LAB_0009be9a:
        if (uVar8 != 0) goto LAB_0009bfa0;
LAB_0009bea2:
        if (((char)param_1[2] == '\0') &&
           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {
          *(undefined1 *)(param_1 + 10) = 1;
          param_1[0xb] = piVar2[0x12];
          piVar2[0x12] = (int)(param_1 + 8);
        }
        if (param_2 == 0) {
          *(undefined1 *)(param_1 + 2) = 1;
          if ((char)piVar2[5] == '\0') {
            *(undefined1 *)(piVar2 + 5) = 1;
          }
          goto LAB_0009c0f6;
        }
        *(undefined1 *)(param_1 + 2) = 2;
        if (*(byte *)(piVar2 + 5) < 2) {
          *(undefined1 *)(piVar2 + 5) = 2;
        }
        iVar9 = piVar2[3];
        piVar2[0x13] = (int)param_1;
        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;
        if (1 < param_2) {
          uVar5 = uVar5 | 0x40;
        }
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);
        if (piVar2[0xb] !=
            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {
          uVar8 = FUN_00098750();
          if (uVar8 != 0) goto LAB_0009bf60;
          uVar8 = piVar2[0xb];
          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =
               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
        }
        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;
        goto LAB_0009bf20;
      }
      goto LAB_0009bf60;
    }
LAB_0009c0f6:
    if (param_3 != (uint *)0x0) goto LAB_0009bf20;
  }
  uVar8 = 0;
LAB_0009bf60:
  if (*(char *)((int)param_1 + 9) != '\0') {
    param_1 = param_1 + 3;
    *param_1 = *param_1 + -1;
    if (*param_1 == 0) {
      FUN_00048bd0();
    }
  }
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar8;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00116110();
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00017230
ADD EBX,0xe010d
SUB ESP,0x3c
MOV ESI,dword ptr [EDI + 0x4]
MOV dword ptr [ESP],EDX
MOV dword ptr [ESP + 0x4],ECX
MOV dword ptr [ESP + 0xc],EBX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x2c],EAX
XOR EAX,EAX
CMP byte ptr [EDI + 0x9],0x0
JZ 0x0009bd4b
MOV EAX,EDI
CALL 0x00048b40
MOVZX EAX,byte ptr [EDI + 0x8]
CMP AL,0x2
JZ 0x0009bf18
CMP AL,0x1
JNZ 0x0009bd66
MOV EBP,dword ptr [ESP]
TEST EBP,EBP
JZ 0x0009c0f6
MOV EDX,dword ptr [EDI]
MOVZX EAX,word ptr [ESI + 0x16]
TEST byte ptr [EDX + 0x1f],0x2
JZ 0x0009bdc8
MOV EDX,dword ptr [ESI]
CMP byte ptr [EDX + 0xe],0x0
JNZ 0x0009bdc8
AND EAX,0xfffffffe
MOV word ptr [ESI + 0x16],AX
MOV ECX,dword ptr [ESP]
TEST ECX,ECX
JZ 0x0009bddc
CMP byte ptr [ESI + 0x14],0x2
JZ 0x0009bde0
TEST AL,0x80
JNZ 0x0009bde0
CMP dword ptr [ESP],0x1
JLE 0x0009bded
MOV EAX,dword ptr [ESI + 0x48]
TEST EAX,EAX
JZ 0x0009bded
MOV ECX,dword ptr [EAX]
CMP EDI,ECX
JNZ 0x0009c40b
LEA ESI,[ESI]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0009bded
MOV EDX,dword ptr [EAX]
CMP EDX,ECX
JZ 0x0009bdb0
MOV EDX,dword ptr [EDX]
JMP 0x0009bde5
TEST AL,0x1
JZ 0x0009bd81
MOV EBX,dword ptr [ESP]
MOV EBP,0x8
TEST EBX,EBX
JNZ 0x0009bf60
TEST AL,0x80
JZ 0x0009bded
MOV EAX,dword ptr [ESI + 0x4c]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JNZ 0x0009c130
MOV ECX,0x1
MOV EDX,0x1
MOV EAX,EDI
CALL 0x0003ae70
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009bf60
MOVZX EAX,word ptr [ESI + 0x16]
MOV EDX,dword ptr [ESI + 0x2c]
AND EAX,0xffffffef
MOV word ptr [ESI + 0x16],AX
TEST EDX,EDX
JZ 0x0009c110
LEA EAX,[ESI + 0xc]
MOV EBX,dword ptr [ESI + 0xc]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0009be87
TEST byte ptr [ESI + 0x16],0x1
JZ 0x0009c0a8
MOV EBX,0x8
MOV EBP,0x8
CMP byte ptr [ESI + 0x14],0x0
JNZ 0x0009bf60
MOV EAX,dword ptr [ESP + 0x8]
CALL 0x0009aff0
CMP EBX,0x5
JNZ 0x0009bf60
CMP byte ptr [ESI + 0x14],0x0
JNZ 0x0009bf60
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [EAX + 0x3c]
MOV EAX,dword ptr [ESI + 0x4]
ADD EAX,0x190
CALL 0x0003a550
TEST EAX,EAX
JZ 0x0009bf60
MOV EBX,dword ptr [ESI + 0xc]
TEST EBX,EBX
JZ 0x0009bfb8
TEST EBP,EBP
JNZ 0x0009be9a
MOV EAX,dword ptr [ESP]
TEST EAX,EAX
JNZ 0x0009be30
TEST EBP,EBP
JNZ 0x0009bfa0
CMP byte ptr [EDI + 0x8],0x0
JNZ 0x0009bec0
ADD dword ptr [ESI + 0x28],0x1
CMP byte ptr [EDI + 0x9],0x0
JNZ 0x0009c2d8
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EBP,dword ptr [ESP]
TEST EBP,EBP
JZ 0x0009c0e8
MOV byte ptr [EDI + 0x8],0x2
CMP byte ptr [ESI + 0x14],0x1
JA 0x0009bed9
MOV byte ptr [ESI + 0x14],0x2
MOVZX EAX,word ptr [ESI + 0x16]
MOV EBX,dword ptr [ESI + 0xc]
MOV dword ptr [ESI + 0x4c],EDI
AND EAX,0xffffffbf
MOV EDX,EAX
OR EDX,0x40
CMP dword ptr [ESP],0x2
CMOVGE EAX,EDX
MOV word ptr [ESI + 0x16],AX
MOV EAX,dword ptr [EBX + 0x38]
MOV EAX,dword ptr [EAX + 0x1c]
BSWAP EAX
CMP dword ptr [ESI + 0x2c],EAX
JNZ 0x0009c2f0
MOV EDX,dword ptr [ESP + 0x4]
TEST EDX,EDX
JNZ 0x0009bf20
JMP 0x0009bf3c
MOV EBX,dword ptr [ESP + 0x4]
TEST EBX,EBX
JZ 0x0009bf31
MOV EAX,dword ptr [ESI + 0xc]
MOV ECX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [EAX + 0x38]
MOV EAX,dword ptr [EAX + 0x28]
BSWAP EAX
MOV dword ptr [ECX],EAX
MOV ECX,dword ptr [ESP]
TEST ECX,ECX
JZ 0x0009c108
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [EAX + 0x1c8]
MOV EAX,dword ptr [ESI]
CMP EDX,dword ptr [EAX + 0x60]
JLE 0x0009c108
CMP byte ptr [EAX + 0x6],0x0
JZ 0x0009c108
CALL 0x00044380
MOV EBP,EAX
CMP byte ptr [EDI + 0x9],0x0
JZ 0x0009bf70
SUB dword ptr [EDI + 0xc],0x1
JZ 0x0009c120
MOV ECX,dword ptr [ESP + 0x2c]
XOR ECX,dword ptr GS:[0x14]
MOV EAX,EBP
JNZ 0x0009c59a
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x24]
MOV EBP,EBX
MOV EAX,dword ptr [EAX + 0x48]
CALL 0x0009afc0
MOV dword ptr [ESI + 0xc],0x0
MOV EAX,EBP
CMP byte ptr [ESI + 0x14],0x0
MOVZX EBX,AL
JNZ 0x0009be57
JMP 0x0009be4e
MOV EAX,dword ptr [ESI]
CALL 0x0009b420
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009bfa0
LEA ECX,[ESP + 0x24]
SUB ESP,0xc
MOV EDX,0x1
MOV EAX,ESI
PUSH 0x0
CALL 0x00038b40
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009bfa0
MOV EDX,dword ptr [ESI]
MOV EBX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x10],EDX
MOV EDX,dword ptr [EDX + 0x18]
MOV ECX,dword ptr [EBX + 0x38]
MOV dword ptr [ESP + 0x18],EDX
MOV EDX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [ECX + 0x1c]
MOV EDX,dword ptr [EDX + 0x1c]
BSWAP EAX
MOV dword ptr [ESP + 0x14],EAX
AND EDX,0x2000000
TEST EAX,EAX
JZ 0x0009c01c
MOV EAX,dword ptr [ECX + 0x5c]
CMP dword ptr [ECX + 0x18],EAX
JZ 0x0009c290
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x0009c02c
TEST EDX,EDX
JZ 0x0009c312
MOV EAX,dword ptr [ESI + 0x24]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESI + 0xc],EBX
LEA EDX,[EAX + 0x3fffff4]
MOV EAX,0x80808081
SHL EDX,0x6
MUL EDX
MOV EAX,dword ptr [ESP + 0x10]
SHR EDX,0x7
LEA ECX,[EDX + -0x17]
LEA EDX,[EAX + 0x7fffff4]
MOV EAX,0x80808081
SHL EDX,0x5
MOV word ptr [ESI + 0x18],CX
MUL EDX
SHR EDX,0x7
LEA EAX,[EDX + -0x17]
MOVZX EDX,word ptr [ESP + 0x10]
MOV word ptr [ESI + 0x1a],AX
SUB EDX,0x23
MOV word ptr [ESI + 0x1e],AX
CMP CX,0x7f
MOV EAX,0x7f
CMOVA ECX,EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV word ptr [ESI + 0x1c],DX
MOV byte ptr [ESI + 0x15],CL
MOV dword ptr [ESI + 0x2c],EAX
JMP 0x0009be87
MOV ECX,dword ptr [ESI]
MOV EBP,dword ptr [ECX + 0x28]
MOV dword ptr [ESP + 0x10],ECX
TEST EBP,EBP
JNZ 0x0009c268
MOV EAX,dword ptr [EDI]
CMP byte ptr [EAX + 0x4c],0x2
SETZ byte ptr [ECX + 0x15]
CMP byte ptr [ECX + 0x10],0x1
JZ 0x0009c148
MOV EAX,dword ptr [ESI + 0x2c]
TEST EAX,EAX
JNZ 0x0009bea2
MOV EAX,ESI
CALL 0x0009bc30
MOV EBP,EAX
JMP 0x0009be9a
MOV byte ptr [EDI + 0x8],0x1
CMP byte ptr [ESI + 0x14],0x0
JNZ 0x0009c0f6
MOV byte ptr [ESI + 0x14],0x1
MOV EAX,dword ptr [ESP + 0x4]
TEST EAX,EAX
JNZ 0x0009bf20
LEA ESI,[ESI]
XOR EBP,EBP
JMP 0x0009bf60
OR EAX,0x10
MOV word ptr [ESI + 0x16],AX
JMP 0x0009be1e
MOV EAX,EDI
CALL 0x00048bd0
JMP 0x0009bf70
MOV EAX,dword ptr [EDI]
MOV EBP,0x106
CALL 0x0003ade0
JMP 0x0009bf60
MOV EAX,dword ptr [ECX + 0xd4]
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x0009c230
CMP byte ptr [ECX + 0x4],0x0
JZ 0x0009c1a3
CMP byte ptr [EAX + 0x2b],0x0
JNZ 0x0009c1a3
MOVZX EAX,byte ptr [ECX + 0x11]
CMP AL,0x3
JBE 0x0009c346
CMP AL,0x5
JZ 0x0009c346
MOV EAX,dword ptr [ESP + 0x14]
MOVSX EDX,word ptr [EAX + 0x28]
MOV EAX,dword ptr [EAX + 0x4]
ADD EDX,0x3
CALL 0x00048380
MOV EAX,dword ptr [ESP + 0x14]
MOV byte ptr [EAX + 0x2b],0x1
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0xd4]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x2e],0x0
JNZ 0x0009be3a
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x2b],0x0
JNZ 0x0009c1d8
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,0x1
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x4]
CALL 0x000483a0
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009c268
MOV EBX,dword ptr [ESP + 0x14]
SUB ESP,0x4
MOV byte ptr [EBX + 0x2c],0x1
PUSH 0x30
MOV EAX,dword ptr [EBX + 0x20]
PUSH dword ptr [EAX]
LEA EAX,[EBX + 0x34]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x000151a0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0009c3e5
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ECX + 0x18]
MOV byte ptr [ECX + 0x10],0x2
MOV dword ptr [ECX + 0x48],0x0
MOV dword ptr [ECX + 0x24],EAX
MOV dword ptr [ECX + 0x20],EAX
MOV dword ptr [ECX + 0x1c],EAX
MOV dword ptr [ECX + 0x4c],0x0
JMP 0x0009c0c9
MOV EAX,dword ptr [ESP + 0x10]
MOVZX EAX,byte ptr [EAX + 0x11]
CMP AL,0x5
JZ 0x0009c31f
CMP AL,0x1
JBE 0x0009c31f
CMP dword ptr [ESP],0x1
JLE 0x0009c202
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,0x4
CALL 0x00048060
MOV EBP,EAX
TEST EBP,EBP
JZ 0x0009c202
LEA ESI,[ESI]
CMP EBP,0x205
JNZ 0x0009bfa0
CMP byte ptr [ESI + 0x14],0x0
JNZ 0x0009c2c8
MOV EBX,0x5
MOV EBP,0x5
JMP 0x0009be4e
TEST EDX,EDX
JNZ 0x0009c02c
CMP dword ptr [ECX],0x694c5153
JZ 0x0009c379
MOV EAX,dword ptr [EBX + 0x48]
MOV EBP,0x1a
MOV EBX,0x1a
CALL 0x0009afc0
MOV dword ptr [ESI + 0xc],0x0
JMP 0x0009be44
MOV EBP,0x205
JMP 0x0009bf60
MOV byte ptr [EDI + 0x28],0x1
MOV EAX,dword ptr [ESI + 0x48]
MOV dword ptr [EDI + 0x2c],EAX
LEA EAX,[EDI + 0x20]
MOV dword ptr [ESI + 0x48],EAX
JMP 0x0009bec0
MOV EAX,dword ptr [EBX + 0x48]
CALL 0x00098750
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009bf60
MOV EAX,dword ptr [ESI + 0x2c]
MOV EDX,dword ptr [EBX + 0x38]
BSWAP EAX
MOV dword ptr [EDX + 0x1c],EAX
JMP 0x0009bf07
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x0009c298
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,0x2
CALL 0x00047f00
CMP dword ptr [ESP],0x1
MOV EBP,EAX
JLE 0x0009c25e
TEST EAX,EAX
JNZ 0x0009c25e
JMP 0x0009c24e
MOV EBX,dword ptr [ESP + 0x10]
MOV EDX,0x4
MOV EAX,EBX
CALL 0x00047f00
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x0009c268
MOV EAX,dword ptr [EBX + 0xd4]
CMP byte ptr [EAX + 0x2b],0x0
MOV dword ptr [ESP + 0x14],EAX
JNZ 0x0009c18d
JMP 0x0009c17a
CMP dword ptr [ECX + 0x4],0x66206574
JNZ 0x0009c2a4
CMP dword ptr [ECX + 0x8],0x616d726f
JNZ 0x0009c2a4
CMP dword ptr [ECX + 0xc],0x332074
JNZ 0x0009c2a4
CMP byte ptr [ECX + 0x12],0x2
JBE 0x0009c3ab
OR word ptr [ESI + 0x16],0x1
CMP byte ptr [ECX + 0x13],0x2
JA 0x0009c2a4
JZ 0x0009c414
CMP word ptr [ECX + 0x15],0x2040
JZ 0x0009c468
MOV EAX,dword ptr [ESP + 0x24]
MOV EBX,0x1a
MOV EBP,0x1a
MOV EAX,dword ptr [EAX + 0x48]
CALL 0x0009afc0
MOV dword ptr [ESI + 0xc],0x0
JMP 0x0009be44
MOV EAX,dword ptr [ESP + 0x14]
CMP byte ptr [EAX + 0x2b],0x0
JNZ 0x0009c3fe
MOV EAX,dword ptr [EAX + 0x4]
MOV ECX,0x1
XOR EDX,EDX
CALL 0x00048420
MOV EAX,dword ptr [ESP + 0x14]
MOV byte ptr [EAX + 0x2c],0x0
JMP 0x0009c274
MOV EDX,ECX
MOV EDX,dword ptr [EDX]
JMP 0x0009bde5
TEST byte ptr [ESI + 0x16],0x20
JNZ 0x0009c3b7
MOV EAX,dword ptr [ESP + 0x10]
LEA EDX,[ESP + 0x28]
MOV dword ptr [ESP + 0x1c],ECX
MOV dword ptr [ESP + 0x28],0x0
CALL 0x000580f0
MOV ECX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
MOV EBX,EAX
JNZ 0x0009bf8b
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JNZ 0x0009c3b7
MOV EAX,dword ptr [ESP + 0x24]
XOR EBP,EBP
MOV EAX,dword ptr [EAX + 0x48]
CALL 0x0009afc0
MOV EBX,dword ptr [ESI + 0xc]
JMP 0x0009be87
CMP byte ptr [ECX + 0x17],0x20
JNZ 0x0009c3c3
MOVZX EAX,byte ptr [ECX + 0x10]
MOVZX EDX,byte ptr [ECX + 0x11]
SHL EAX,0x8
SHL EDX,0x10
OR EDX,EAX
LEA EAX,[EDX + -0x1]
TEST EAX,EDX
JNZ 0x0009c3c3
LEA EAX,[EDX + 0xfffffeff]
CMP EAX,0xfeff
JA 0x0009c3c3
OR word ptr [ESI + 0x16],0x2
MOVZX EBX,byte ptr [ECX + 0x14]
MOV EAX,EDX
SUB EAX,EBX
MOV dword ptr [ESP + 0x10],EAX
CMP EDX,dword ptr [ESI + 0x20]
JNZ 0x0009c4fb
MOV EAX,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EAX + 0x1c]
AND EAX,0x10000001
CMP EAX,0x1
JZ 0x0009c4ce
MOV EBX,dword ptr [ESP + 0x14]
CMP dword ptr [ESP + 0x18],EBX
JC 0x0009c54d
MOV EAX,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x24]
CMP EAX,0x1df
JBE 0x0009c2a4
MOV dword ptr [ESI + 0x24],EAX
MOV EAX,dword ptr [ECX + 0x34]
TEST EAX,EAX
SETNZ byte ptr [ESI + 0x11]
MOV EAX,dword ptr [ECX + 0x40]
TEST EAX,EAX
SETNZ byte ptr [ESI + 0x12]
JMP 0x0009c03b
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x14],EDX
MOV EAX,dword ptr [EAX + 0x48]
CALL 0x0009afc0
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESI + 0x24],EAX
MOV EAX,dword ptr [ESI + 0x50]
MOV dword ptr [ESI + 0x20],EDX
TEST EAX,EAX
JZ 0x0009c532
SUB EAX,0x4
MOV dword ptr [ESI + 0x50],EAX
CALL 0x000474c0
MOV dword ptr [ESI + 0x50],0x0
MOV EAX,dword ptr [ESI]
LEA EDX,[ESI + 0x20]
MOV ECX,EBX
CALL 0x00058170
MOV EBP,EAX
TEST EAX,EAX
JZ 0x0009be84
JMP 0x0009bfa0
SUB ESP,0xc
MOV EBX,0xb
MOV EBP,0xb
MOV ECX,dword ptr [ESP + 0x18]
LEA EAX,[ECX + 0xfffa0934]
PUSH EAX
LEA EAX,[ECX + 0xfffa3c05]
PUSH 0x10293
PUSH EAX
LEA EAX,[ECX + 0xfffa39ca]
PUSH EAX
PUSH 0xb
CALL 0x0006e260
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x48]
CALL 0x0009afc0
MOV dword ptr [ESI + 0xc],0x0
JMP 0x0009be44
CALL 0x00116110
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00116110();\n}\n\n" comment (function_definition "uint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00116110();\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0009bd10(int *param_1,int param_2,uint *param_3)" identifier (parameter_list "(int *param_1,int param_2,uint *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00116110();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "short sVar6;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "piVar2 = (int *)param_1[1];" (assignment_expression "piVar2 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }" if (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_00048b40();\n  }" { (expression_statement "FUN_00048b40();" (call_expression "FUN_00048b40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" if (parenthesized_expression "((char)param_1[2] == '\x02')" ( (binary_expression "(char)param_1[2] == '\x02'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }" { (if_statement "if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" if (parenthesized_expression "(param_3 != (uint *)0x0)" ( (binary_expression "param_3 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" { (labeled_statement "LAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" statement_identifier : (expression_statement "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" (assignment_expression "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" identifier = (pointer_expression "*(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" * (cast_expression "(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar2[3] + 0x38) + 0x28)" ( (binary_expression "*(int *)(piVar2[3] + 0x38) + 0x28" (pointer_expression "*(int *)(piVar2[3] + 0x38)" * (cast_expression "(int *)(piVar2[3] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[3] + 0x38)" ( (binary_expression "piVar2[3] + 0x38" (subscript_expression "piVar2[3]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (if_statement "if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" { (labeled_statement "LAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" statement_identifier : (if_statement "if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" if (parenthesized_expression "((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0'))" ( (binary_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')" (parenthesized_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8))" ( (binary_expression "*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)" (pointer_expression "*(int *)(*piVar2 + 0x60)" * (cast_expression "(int *)(*piVar2 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x60)" ( (binary_expression "*piVar2 + 0x60" (pointer_expression "*piVar2" * identifier) + number_literal) )))) < (pointer_expression "*(int *)(*param_1 + 0x1c8)" * (cast_expression "(int *)(*param_1 + 0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1c8)" ( (binary_expression "*param_1 + 0x1c8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) && (parenthesized_expression "(*(char *)(*piVar2 + 6) != '\0')" ( (binary_expression "*(char *)(*piVar2 + 6) != '\0'" (pointer_expression "*(char *)(*piVar2 + 6)" * (cast_expression "(char *)(*piVar2 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 6)" ( (binary_expression "*piVar2 + 6" (pointer_expression "*piVar2" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" { (expression_statement "uVar8 = FUN_00044380();" (assignment_expression "uVar8 = FUN_00044380()" identifier = (call_expression "FUN_00044380()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) })) }) (else_clause "else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" else (compound_statement "{\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" { (if_statement "if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" if (parenthesized_expression "(((char)param_1[2] != '\x01') || (param_2 != 0))" ( (binary_expression "((char)param_1[2] != '\x01') || (param_2 != 0)" (parenthesized_expression "((char)param_1[2] != '\x01')" ( (binary_expression "(char)param_1[2] != '\x01'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) != (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" { (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16);" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16)" identifier = (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" if (parenthesized_expression "(((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0'))" ( (binary_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')" (parenthesized_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0)" ( (binary_expression "(*(byte *)(*param_1 + 0x1f) & 2) == 0" (parenthesized_expression "(*(byte *)(*param_1 + 0x1f) & 2)" ( (binary_expression "*(byte *)(*param_1 + 0x1f) & 2" (pointer_expression "*(byte *)(*param_1 + 0x1f)" * (cast_expression "(byte *)(*param_1 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1f)" ( (binary_expression "*param_1 + 0x1f" (pointer_expression "*param_1" * identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(char *)(*piVar2 + 0xe) != '\0')" ( (binary_expression "*(char *)(*piVar2 + 0xe) != '\0'" (pointer_expression "*(char *)(*piVar2 + 0xe)" * (cast_expression "(char *)(*piVar2 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0xe)" ( (binary_expression "*piVar2 + 0xe" (pointer_expression "*piVar2" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }" { (if_statement "if ((uVar5 & 1) == 0) goto LAB_0009bd81;" if (parenthesized_expression "((uVar5 & 1) == 0)" ( (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009bd81;" goto statement_identifier ;)) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" identifier = number_literal) ;) (if_statement "if (param_2 != 0) goto LAB_0009bf60;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (labeled_statement "LAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" statement_identifier : (if_statement "if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" if (parenthesized_expression "((uVar5 & 0x80) != 0)" ( (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" ( (binary_expression "uVar5 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" { (labeled_statement "LAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];" statement_identifier : (expression_statement "iVar9 = *(int *)piVar2[0x13];" (assignment_expression "iVar9 = *(int *)piVar2[0x13]" identifier = (pointer_expression "*(int *)piVar2[0x13]" * (cast_expression "(int *)piVar2[0x13]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x13]" identifier [ number_literal ])))) ;)) (goto_statement "goto LAB_0009bde5;" goto statement_identifier ;) }))) }) (else_clause "else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" else (compound_statement "{\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" { (expression_statement "uVar5 = uVar5 & 0xfffe;" (assignment_expression "uVar5 = uVar5 & 0xfffe" identifier = (binary_expression "uVar5 & 0xfffe" identifier & number_literal)) ;) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;" statement_identifier : (if_statement "if (param_2 == 0) goto LAB_0009bddc;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009bddc;" goto statement_identifier ;))) (if_statement "if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;" if (parenthesized_expression "(((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0))" ( (binary_expression "((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)" (parenthesized_expression "((char)piVar2[5] == '\x02')" ( (binary_expression "(char)piVar2[5] == '\x02'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar5 & 0x80) != 0)" ( (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" ( (binary_expression "uVar5 & 0x80" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009bde0;" goto statement_identifier ;)) (if_statement "if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;" if (parenthesized_expression "((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))" ( (binary_expression "(param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" (parenthesized_expression "(param_2 < 2)" ( (binary_expression "param_2 < 2" identifier < number_literal) )) || (parenthesized_expression "(puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" ( (comma_expression "puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0" (assignment_expression "puVar7 = (undefined4 *)piVar2[0x12]" identifier = (cast_expression "(undefined4 *)piVar2[0x12]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x12]" identifier [ number_literal ]))) , (binary_expression "puVar7 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) (expression_statement "piVar13 = (int *)*puVar7;" (assignment_expression "piVar13 = (int *)*puVar7" identifier = (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }" if (parenthesized_expression "(param_1 == piVar13)" ( (binary_expression "param_1 == piVar13" identifier == identifier) )) (compound_statement "{\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }" { (do_statement "do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);" do (compound_statement "{\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          }" { (expression_statement "puVar7 = (undefined4 *)puVar7[3];" (assignment_expression "puVar7 = (undefined4 *)puVar7[3]" identifier = (cast_expression "(undefined4 *)puVar7[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[3]" identifier [ number_literal ]))) ;) (if_statement "if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;" if (parenthesized_expression "(puVar7 == (undefined4 *)0x0)" ( (binary_expression "puVar7 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) }) while (parenthesized_expression "((int *)*puVar7 == piVar13)" ( (binary_expression "(int *)*puVar7 == piVar13" (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)) == identifier) )) ;) (expression_statement "iVar9 = *(int *)*puVar7;" (assignment_expression "iVar9 = *(int *)*puVar7" identifier = (pointer_expression "*(int *)*puVar7" * (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)))) ;) }) (else_clause "else {\n          iVar9 = *piVar13;\n        }" else (compound_statement "{\n          iVar9 = *piVar13;\n        }" { (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) }))) (labeled_statement "LAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" statement_identifier : (if_statement "if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" { (expression_statement "uVar8 = 0x106;" (assignment_expression "uVar8 = 0x106" identifier = number_literal) ;) (expression_statement "FUN_0003ade0();" (call_expression "FUN_0003ade0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_0009bded:\n      uVar8 = FUN_0003ae70();" statement_identifier : (expression_statement "uVar8 = FUN_0003ae70();" (assignment_expression "uVar8 = FUN_0003ae70()" identifier = (call_expression "FUN_0003ae70()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" { (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef" identifier = (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffef" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" if (parenthesized_expression "(piVar2[0xb] == 0)" ( (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" { (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar5 | 0x10" identifier | number_literal)) ;) })) (expression_statement "piVar13 = piVar2 + 3;" (assignment_expression "piVar13 = piVar2 + 3" identifier = (binary_expression "piVar2 + 3" identifier + number_literal)) ;) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" statement_identifier : (while_statement "while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" { (expression_statement "uVar8 = FUN_0009b420(param_2,param_3,piVar13);" (assignment_expression "uVar8 = FUN_0009b420(param_2,param_3,piVar13)" identifier = (call_expression "FUN_0009b420(param_2,param_3,piVar13)" identifier (argument_list "(param_2,param_3,piVar13)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;" if (parenthesized_expression "((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0))" ( (binary_expression "(uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)" (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar8 = FUN_00038b40(0), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_00038b40(0), uVar8 != 0" (assignment_expression "uVar8 = FUN_00038b40(0)" identifier = (call_expression "FUN_00038b40(0)" identifier (argument_list "(0)" ( number_literal )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (expression_statement "uVar12 = *(uint *)(*piVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(*piVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(*piVar2 + 0x18)" * (cast_expression "(uint *)(*piVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x18)" ( (binary_expression "*piVar2 + 0x18" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "piVar3 = *(int **)(local_28 + 0x38);" (assignment_expression "piVar3 = *(int **)(local_28 + 0x38)" identifier = (pointer_expression "*(int **)(local_28 + 0x38)" * (cast_expression "(int **)(local_28 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0x38)" ( (binary_expression "local_28 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = piVar3[7];" (assignment_expression "uVar11 = piVar3[7]" identifier = (subscript_expression "piVar3[7]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" identifier = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;" (assignment_expression "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000" identifier = (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x2000000" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" * (cast_expression "(uint *)(piVar2[1] + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[1] + 0x1c)" ( (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (if_statement "if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" if (parenthesized_expression "((local_38 == 0) || (piVar3[6] != piVar3[0x17]))" ( (binary_expression "(local_38 == 0) || (piVar3[6] != piVar3[0x17])" (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar3[6] != piVar3[0x17])" ( (binary_expression "piVar3[6] != piVar3[0x17]" (subscript_expression "piVar3[6]" identifier [ number_literal ]) != (subscript_expression "piVar3[0x17]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }" { (if_statement "if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;" if (parenthesized_expression "((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0))" ( (binary_expression "(uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)" (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_38 = uVar12, uVar11 != 0)" ( (comma_expression "local_38 = uVar12, uVar11 != 0" (assignment_expression "local_38 = uVar12" identifier = identifier) , (binary_expression "uVar11 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009c02c;" goto statement_identifier ;)) (labeled_statement "LAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" statement_identifier : (if_statement "if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" if (parenthesized_expression "((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074))" ( (binary_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)" (parenthesized_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                )" ( (binary_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)" (parenthesized_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574))" ( (binary_expression "(*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)" (parenthesized_expression "(*piVar3 != 0x694c5153)" ( (binary_expression "*piVar3 != 0x694c5153" (pointer_expression "*piVar3" * identifier) != number_literal) )) || (parenthesized_expression "(piVar3[1] != 0x66206574)" ( (binary_expression "piVar3[1] != 0x66206574" (subscript_expression "piVar3[1]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar3[2] != 0x616d726f)" ( (binary_expression "piVar3[2] != 0x616d726f" (subscript_expression "piVar3[2]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar3[3] != 0x332074)" ( (binary_expression "piVar3[3] != 0x332074" (subscript_expression "piVar3[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" { (labeled_statement "LAB_0009c2a4:\n              uVar8 = 0x1a;" statement_identifier : (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" identifier = number_literal) ;)) (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" statement_identifier : (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;))) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" if (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x12))" ( (binary_expression "2 < *(byte *)((int)piVar3 + 0x12)" number_literal < (pointer_expression "*(byte *)((int)piVar3 + 0x12)" * (cast_expression "(byte *)((int)piVar3 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x12)" ( (binary_expression "(int)piVar3 + 0x12" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" { (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;" if (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x13))" ( (binary_expression "2 < *(byte *)((int)piVar3 + 0x13)" number_literal < (pointer_expression "*(byte *)((int)piVar3 + 0x13)" * (cast_expression "(byte *)((int)piVar3 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x13)" ( (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" if (parenthesized_expression "((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0))" ( (binary_expression "(*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x13) != 2)" ( (binary_expression "*(byte *)((int)piVar3 + 0x13) != 2" (pointer_expression "*(byte *)((int)piVar3 + 0x13)" * (cast_expression "(byte *)((int)piVar3 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x13)" ( (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20)" ( (binary_expression "*(byte *)((int)piVar2 + 0x16) & 0x20" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" * (cast_expression "(byte *)((int)piVar2 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" { (if_statement "if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" if (parenthesized_expression "(((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101))" ( (binary_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)" (parenthesized_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))))" ( (binary_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" (parenthesized_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040)" ( (binary_expression "*(short *)((int)piVar3 + 0x15) != 0x2040" (pointer_expression "*(short *)((int)piVar3 + 0x15)" * (cast_expression "(short *)((int)piVar3 + 0x15)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x15)" ( (binary_expression "(int)piVar3 + 0x15" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" ( (parenthesized_expression "(*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))" ( (binary_expression "*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" (binary_expression "*(char *)((int)piVar3 + 0x17) != ' '" (pointer_expression "*(char *)((int)piVar3 + 0x17)" * (cast_expression "(char *)((int)piVar3 + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x17)" ( (binary_expression "(int)piVar3 + 0x17" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "' '" ' character ')) || (parenthesized_expression "(uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" ( (comma_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0" (assignment_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" identifier = (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)piVar3 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x11)" ( (binary_expression "(int)piVar3 + 0x11" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)(piVar3 + 4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar3 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 4)" ( (binary_expression "piVar3 + 4" identifier + number_literal) )))) << number_literal))) , (binary_expression "(uVar11 - 1 & uVar11) != 0" (parenthesized_expression "(uVar11 - 1 & uVar11)" ( (binary_expression "uVar11 - 1 & uVar11" (binary_expression "uVar11 - 1" identifier - number_literal) & identifier) )) != number_literal)) ))) )) ))) )) || (parenthesized_expression "(0xfeff < uVar11 - 0x101)" ( (binary_expression "0xfeff < uVar11 - 0x101" number_literal < (binary_expression "uVar11 - 0x101" identifier - number_literal)) ))) )) (compound_statement "{\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" { (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" identifier = number_literal) ;) (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "local_3c = uVar11 - *(byte *)(piVar3 + 5);" (assignment_expression "local_3c = uVar11 - *(byte *)(piVar3 + 5)" identifier = (binary_expression "uVar11 - *(byte *)(piVar3 + 5)" identifier - (pointer_expression "*(byte *)(piVar3 + 5)" * (cast_expression "(byte *)(piVar3 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 5)" ( (binary_expression "piVar3 + 5" identifier + number_literal) )))))) ;) (if_statement "if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" if (parenthesized_expression "(uVar11 == piVar2[8])" ( (binary_expression "uVar11 == piVar2[8]" identifier == (subscript_expression "piVar2[8]" identifier [ number_literal ])) )) (compound_statement "{\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" { (if_statement "if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" if (parenthesized_expression "(((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12))" ( (binary_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)" (parenthesized_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1)" ( (binary_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1" (parenthesized_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001)" ( (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x10000001" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" * (cast_expression "(uint *)(piVar2[1] + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[1] + 0x1c)" ( (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(local_38 <= uVar12)" ( (binary_expression "local_38 <= uVar12" identifier <= identifier) ))) )) (compound_statement "{\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" { (if_statement "if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" if (parenthesized_expression "(0x1df < local_3c)" ( (binary_expression "0x1df < local_3c" number_literal < identifier) )) (compound_statement "{\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" { (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x11)" * (cast_expression "(bool *)((int)piVar2 + 0x11)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x11)" ( (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar3[0xd] != 0" (subscript_expression "piVar3[0xd]" identifier [ number_literal ]) != number_literal)) ;) (expression_statement "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x12)" * (cast_expression "(bool *)((int)piVar2 + 0x12)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x12)" ( (binary_expression "(int)piVar2 + 0x12" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar3[0x10] != 0" (subscript_expression "piVar3[0x10]" identifier [ number_literal ]) != number_literal)) ;) (goto_statement "goto LAB_0009c03b;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;) })) (expression_statement "uVar12 = 0xb;" (assignment_expression "uVar12 = 0xb" identifier = number_literal) ;) (expression_statement "uVar8 = 0xb;" (assignment_expression "uVar8 = 0xb" identifier = number_literal) ;) (expression_statement "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");" (call_expression "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" identifier (argument_list "(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" ( number_literal , (string_literal ""%s at line %d of [%.10s]"" " string_content ") , (string_literal ""database corruption"" " string_content ") , number_literal , (string_literal ""bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1"" " string_content ") ))) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[8] = uVar11;" (assignment_expression "piVar2[8] = uVar11" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" if (parenthesized_expression "(piVar2[0x14] != 0)" ( (binary_expression "piVar2[0x14] != 0" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" { (expression_statement "piVar2[0x14] = piVar2[0x14] + -4;" (assignment_expression "piVar2[0x14] = piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (binary_expression "piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "FUN_000474c0();" (call_expression "FUN_000474c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x14] = 0;" (assignment_expression "piVar2[0x14] = 0" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "uVar8 = FUN_00058170();" (assignment_expression "uVar8 = FUN_00058170()" identifier = (call_expression "FUN_00058170()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009be84;" goto statement_identifier ;) })) (expression_statement "uVar8 = FUN_000580f0();" (assignment_expression "uVar8 = FUN_000580f0()" identifier = (call_expression "FUN_000580f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" { (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;" statement_identifier : (expression_statement "uVar12 = uVar8 & 0xff;" (assignment_expression "uVar12 = uVar8 & 0xff" identifier = (binary_expression "uVar8 & 0xff" identifier & number_literal)) ;)) (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;)) (goto_statement "goto LAB_0009be57;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" else (compound_statement "{\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" { (if_statement "if (uVar11 == 0) goto LAB_0009c298;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009c298;" goto statement_identifier ;)) (labeled_statement "LAB_0009c02c:\n            local_3c = piVar2[9];" statement_identifier : (expression_statement "local_3c = piVar2[9];" (assignment_expression "local_3c = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0009c03b:\n            piVar2[3] = local_28;" statement_identifier : (expression_statement "piVar2[3] = local_28;" (assignment_expression "piVar2[3] = local_28" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;" (assignment_expression "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" identifier = (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff" (parenthesized_expression "((local_3c + 0x3fffff4) * 0x40)" ( (binary_expression "(local_3c + 0x3fffff4) * 0x40" (parenthesized_expression "(local_3c + 0x3fffff4)" ( (binary_expression "local_3c + 0x3fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) - number_literal)) ;) (expression_statement "*(ushort *)(piVar2 + 6) = (ushort)iVar9;" (assignment_expression "*(ushort *)(piVar2 + 6) = (ushort)iVar9" (pointer_expression "*(ushort *)(piVar2 + 6)" * (cast_expression "(ushort *)(piVar2 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = (cast_expression "(ushort)iVar9" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;" (assignment_expression "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" identifier = (binary_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" (cast_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (binary_expression "((local_3c + 0x7fffff4) * 0x20) / 0xff" (parenthesized_expression "((local_3c + 0x7fffff4) * 0x20)" ( (binary_expression "(local_3c + 0x7fffff4) * 0x20" (parenthesized_expression "(local_3c + 0x7fffff4)" ( (binary_expression "local_3c + 0x7fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) ))) + number_literal)) ;) (expression_statement "*(short *)((int)piVar2 + 0x1a) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1a) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1a)" * (cast_expression "(short *)((int)piVar2 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x1a)" ( (binary_expression "(int)piVar2 + 0x1a" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(short *)((int)piVar2 + 0x1e) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1e) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1e)" * (cast_expression "(short *)((int)piVar2 + 0x1e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x1e)" ( (binary_expression "(int)piVar2 + 0x1e" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }" if (parenthesized_expression "(0x7f < (ushort)iVar9)" ( (binary_expression "0x7f < (ushort)iVar9" number_literal < (cast_expression "(ushort)iVar9" ( (type_descriptor "ushort" type_identifier) ) identifier)) )) (compound_statement "{\n              iVar9 = 0x7f;\n            }" { (expression_statement "iVar9 = 0x7f;" (assignment_expression "iVar9 = 0x7f" identifier = number_literal) ;) })) (expression_statement "*(short *)(piVar2 + 7) = (short)local_3c + -0x23;" (assignment_expression "*(short *)(piVar2 + 7) = (short)local_3c + -0x23" (pointer_expression "*(short *)(piVar2 + 7)" * (cast_expression "(short *)(piVar2 + 7)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "(short)local_3c + -0x23" (cast_expression "(short)local_3c" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal)) ;) (expression_statement "*(char *)((int)piVar2 + 0x15) = (char)iVar9;" (assignment_expression "*(char *)((int)piVar2 + 0x15) = (char)iVar9" (pointer_expression "*(char *)((int)piVar2 + 0x15)" * (cast_expression "(char *)((int)piVar2 + 0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x15)" ( (binary_expression "(int)piVar2 + 0x15" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0xb] = local_38;" (assignment_expression "piVar2[0xb] = local_38" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar9 = local_28;" (assignment_expression "iVar9 = local_28" identifier = identifier) ;) }))) }))) (if_statement "if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" if (parenthesized_expression "((uVar8 == 0) && (param_2 != 0))" ( (binary_expression "(uVar8 == 0) && (param_2 != 0)" (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" { (if_statement "if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" if (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 1) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 1)" ( (binary_expression "*(byte *)((int)piVar2 + 0x16) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" * (cast_expression "(byte *)((int)piVar2 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" { (labeled_statement "LAB_0009be3a:\n            uVar12 = 8;" statement_identifier : (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;)) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "iVar9 = *piVar2;" (assignment_expression "iVar9 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar8 = *(uint *)(iVar9 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar9 + 0x28)" * (cast_expression "(uint *)(iVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" { (expression_statement "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';" (assignment_expression "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(bool *)(iVar9 + 0x15)" * (cast_expression "(bool *)(iVar9 + 0x15)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x15)" ( (binary_expression "iVar9 + 0x15" identifier + number_literal) )))) = (binary_expression "*(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(char *)(*param_1 + 0x4c)" * (cast_expression "(char *)(*param_1 + 0x4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x4c)" ( (binary_expression "*param_1 + 0x4c" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence '))) ;) (if_statement "if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" if (parenthesized_expression "(*(char *)(iVar9 + 0x10) == '\x01')" ( (binary_expression "*(char *)(iVar9 + 0x10) == '\x01'" (pointer_expression "*(char *)(iVar9 + 0x10)" * (cast_expression "(char *)(iVar9 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" { (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) (if_statement "if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" { (if_statement "if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" if (parenthesized_expression "((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0'))" ( (binary_expression "(*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')" (parenthesized_expression "(*(char *)(iVar9 + 4) != '\0')" ( (binary_expression "*(char *)(iVar9 + 4) != '\0'" (pointer_expression "*(char *)(iVar9 + 4)" * (cast_expression "(char *)(iVar9 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" { (if_statement "if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5))" ( (binary_expression "(*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 4)" ( (binary_expression "*(byte *)(iVar9 + 0x11) < 4" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" ( (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }" { (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" identifier = (call_expression "FUN_00047f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;" if (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009c17a;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" else (compound_statement "{\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" { (labeled_statement "LAB_0009c17a:\n                    FUN_00048380();" statement_identifier : (expression_statement "FUN_00048380();" (call_expression "FUN_00048380()" identifier (argument_list "()" ( ))) ;)) }))) (expression_statement "*(undefined1 *)(local_38 + 0x2b) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2b) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2b)" * (cast_expression "(undefined1 *)(local_38 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) })) (if_statement "if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;" if (parenthesized_expression "(*(char *)(local_38 + 0x2e) != '\0')" ( (binary_expression "*(char *)(local_38 + 0x2e) != '\0'" (pointer_expression "*(char *)(local_38 + 0x2e)" * (cast_expression "(char *)(local_38 + 0x2e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2e)" ( (binary_expression "local_38 + 0x2e" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be3a;" goto statement_identifier ;)) (if_statement "if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;" if (parenthesized_expression "((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))" ( (binary_expression "(*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0)" (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar8 = FUN_000483a0(), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_000483a0(), uVar8 != 0" (assignment_expression "uVar8 = FUN_000483a0()" identifier = (call_expression "FUN_000483a0()" identifier (argument_list "()" ( )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" * (cast_expression "(undefined1 *)(local_38 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2c)" ( (binary_expression "local_38 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);" (assignment_expression "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" identifier = (call_expression "memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" identifier (argument_list "((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" ( (cast_expression "(void *)(local_38 + 0x34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x34)" ( (binary_expression "local_38 + 0x34" identifier + number_literal) ))) , (cast_expression "(void *)**(undefined4 **)(local_38 + 0x20)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_38 + 0x20)" * (pointer_expression "*(undefined4 **)(local_38 + 0x20)" * (cast_expression "(undefined4 **)(local_38 + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0x20)" ( (binary_expression "local_38 + 0x20" identifier + number_literal) )))))) , number_literal )))) ;) (if_statement "if (iVar10 == 0) goto LAB_0009c202;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009c202;" goto statement_identifier ;)) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }" if (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  FUN_00048420();\n                }" { (expression_statement "FUN_00048420();" (call_expression "FUN_00048420()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" * (cast_expression "(undefined1 *)(local_38 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2c)" ( (binary_expression "local_38 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0009c274;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2))" ( (binary_expression "(*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" ( (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 2)" ( (binary_expression "*(byte *)(iVar9 + 0x11) < 2" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) < number_literal) ))) )) (compound_statement "{\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }" { (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" identifier = (call_expression "FUN_00047f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;" if (parenthesized_expression "((1 < param_2) && (uVar8 == 0))" ( (binary_expression "(1 < param_2) && (uVar8 == 0)" (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) && (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009c24e;" goto statement_identifier ;)) (labeled_statement "LAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;" statement_identifier : (if_statement "if (uVar8 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;))) }) (else_clause "else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" else (if_statement "if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) (compound_statement "{\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" { (labeled_statement "LAB_0009c24e:\n                uVar8 = FUN_00048060();" statement_identifier : (expression_statement "uVar8 = FUN_00048060();" (assignment_expression "uVar8 = FUN_00048060()" identifier = (call_expression "FUN_00048060()" identifier (argument_list "()" ( )))) ;)) (goto_statement "goto LAB_0009c25e;" goto statement_identifier ;) })))) (labeled_statement "LAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);" statement_identifier : (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined1 *)(iVar9 + 0x10) = 2;" (assignment_expression "*(undefined1 *)(iVar9 + 0x10) = 2" (pointer_expression "*(undefined1 *)(iVar9 + 0x10)" * (cast_expression "(undefined1 *)(iVar9 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x48)" * (cast_expression "(undefined4 *)(iVar9 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x48)" ( (binary_expression "iVar9 + 0x48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" * (cast_expression "(undefined4 *)(iVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x4c)" * (cast_expression "(undefined4 *)(iVar9 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" if (parenthesized_expression "(piVar2[0xb] == 0)" ( (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" { (expression_statement "uVar8 = FUN_0009bc30();" (assignment_expression "uVar8 = FUN_0009bc30()" identifier = (call_expression "FUN_0009bc30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0009be9a;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bea2;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;" statement_identifier : (if_statement "if (uVar8 != 0x205) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0x205)" ( (binary_expression "uVar8 != 0x205" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;))) (labeled_statement "LAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" statement_identifier : (if_statement "if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" if (parenthesized_expression "((char)piVar2[5] != '\0')" ( (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" { (expression_statement "uVar8 = 0x205;" (assignment_expression "uVar8 = 0x205" identifier = number_literal) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (expression_statement "uVar12 = 5;" (assignment_expression "uVar12 = 5" identifier = number_literal) ;) (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0009be4e:\n          FUN_0009aff0();" statement_identifier : (expression_statement "FUN_0009aff0();" (call_expression "FUN_0009aff0()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" statement_identifier : (if_statement "if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" if (parenthesized_expression "(((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))" ( (binary_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0)" (parenthesized_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0'))" ( (binary_expression "(uVar12 != 5) || ((char)piVar2[5] != '\0')" (parenthesized_expression "(uVar12 != 5)" ( (binary_expression "uVar12 != 5" identifier != number_literal) )) || (parenthesized_expression "((char)piVar2[5] != '\0')" ( (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(iVar9 = FUN_0003a550(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_0003a550(), iVar9 == 0" (assignment_expression "iVar9 = FUN_0003a550()" identifier = (call_expression "FUN_0003a550()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;))) (labeled_statement "LAB_0009be84:\n          iVar9 = piVar2[3];" statement_identifier : (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;)) (goto_statement "goto LAB_0009be87;" goto statement_identifier ;) })) (labeled_statement "LAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;" statement_identifier : (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;))) (labeled_statement "LAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" statement_identifier : (if_statement "if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" if (parenthesized_expression "(((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'))" ( (binary_expression "((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" (parenthesized_expression "((char)param_1[2] == '\0')" ( (binary_expression "(char)param_1[2] == '\0'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" ( (comma_expression "piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'" (assignment_expression "piVar2[10] = piVar2[10] + 1" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = (binary_expression "piVar2[10] + 1" (subscript_expression "piVar2[10]" identifier [ number_literal ]) + number_literal)) , (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" { (expression_statement "*(undefined1 *)(param_1 + 10) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 10) = 1" (pointer_expression "*(undefined1 *)(param_1 + 10)" * (cast_expression "(undefined1 *)(param_1 + 10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xb] = piVar2[0x12];" (assignment_expression "param_1[0xb] = piVar2[0x12]" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (subscript_expression "piVar2[0x12]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0x12] = (int)(param_1 + 8);" (assignment_expression "piVar2[0x12] = (int)(param_1 + 8)" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = (cast_expression "(int)(param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) ;) }))) (if_statement "if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" { (expression_statement "*(undefined1 *)(param_1 + 2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" { (expression_statement "*(undefined1 *)(piVar2 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar2 + 5)" * (cast_expression "(undefined1 *)(piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0009c0f6;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 2) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 2" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" if (parenthesized_expression "(*(byte *)(piVar2 + 5) < 2)" ( (binary_expression "*(byte *)(piVar2 + 5) < 2" (pointer_expression "*(byte *)(piVar2 + 5)" * (cast_expression "(byte *)(piVar2 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" { (expression_statement "*(undefined1 *)(piVar2 + 5) = 2;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 2" (pointer_expression "*(undefined1 *)(piVar2 + 5)" * (cast_expression "(undefined1 *)(piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0x13] = (int)param_1;" (assignment_expression "piVar2[0x13] = (int)param_1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf" identifier = (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }" if (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) (compound_statement "{\n          uVar5 = uVar5 | 0x40;\n        }" { (expression_statement "uVar5 = uVar5 | 0x40;" (assignment_expression "uVar5 = uVar5 | 0x40" identifier = (binary_expression "uVar5 | 0x40" identifier | number_literal)) ;) })) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);" (assignment_expression "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" ( (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" * (cast_expression "(int *)(iVar9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x38)" ( (binary_expression "iVar9 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" if (parenthesized_expression "(piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18))" ( (binary_expression "piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) != (parenthesized_expression "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" ( (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal)) ))) )) (compound_statement "{\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" { (expression_statement "uVar8 = FUN_00098750();" (assignment_expression "uVar8 = FUN_00098750()" identifier = (call_expression "FUN_00098750()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009bf60;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (expression_statement "uVar8 = piVar2[0xb];" (assignment_expression "uVar8 = piVar2[0xb]" identifier = (subscript_expression "piVar2[0xb]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" ( (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" * (cast_expression "(int *)(iVar9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x38)" ( (binary_expression "iVar9 + 0x38" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (if_statement "if (param_3 == (uint *)0x0) goto LAB_0009bf3c;" if (parenthesized_expression "(param_3 == (uint *)0x0)" ( (binary_expression "param_3 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf3c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;" statement_identifier : (if_statement "if (param_3 != (uint *)0x0) goto LAB_0009bf20;" if (parenthesized_expression "(param_3 != (uint *)0x0)" ( (binary_expression "param_3 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;))) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" statement_identifier : (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" if (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" { (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" identifier = (binary_expression "param_1 + 3" identifier + number_literal)) ;) (expression_statement "*param_1 = *param_1 + -1;" (assignment_expression "*param_1 = *param_1 + -1" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 + -1" (pointer_expression "*param_1" * identifier) + number_literal)) ;) (if_statement "if (*param_1 == 0) {\n      FUN_00048bd0();\n    }" if (parenthesized_expression "(*param_1 == 0)" ( (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n      FUN_00048bd0();\n    }" { (expression_statement "FUN_00048bd0();" (call_expression "FUN_00048bd0()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) })) comment (expression_statement "FUN_00116110();" (call_expression "FUN_00116110()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 sqlite3BtreeBeginTrans(Btree *p,int wrflag,int *pSchemaVersion)\n\n{\n  byte bVar1;\n  BtShared *pBt;\n  Btree *pBVar2;\n  Pager *pPVar3;\n  uint uVar4;\n  int *piVar5;\n  Pgno PVar6;\n  ushort uVar7;\n  u16 uVar8;\n  BtLock *pBVar9;\n  uint uVar10;\n  int iVar11;\n  u8 *p_00;\n  Pager *pWal_1;\n  Pager *extraout_ECX;\n  sqlite3 *psVar12;\n  BtShared *extraout_EDX;\n  BtShared *extraout_EDX_00;\n  BtShared *extraout_EDX_01;\n  BtShared *extraout_EDX_02;\n  BtShared *pBt_1;\n  BtShared *extraout_EDX_03;\n  BtShared *extraout_EDX_04;\n  BtShared *extraout_EDX_05;\n  BtShared *extraout_EDX_06;\n  BtShared *extraout_EDX_07;\n  BtShared *extraout_EDX_08;\n  BtShared *extraout_EDX_09;\n  BtShared *extraout_EDX_10;\n  BtShared *extraout_EDX_11;\n  BtShared *extraout_EDX_12;\n  BtShared *extraout_EDX_13;\n  BtShared *extraout_EDX_14;\n  BtShared *extraout_EDX_15;\n  MemPage *pMVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  uint local_3c;\n  Wal *local_38;\n  MemPage *pPage1;\n  int isOpen;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x9bd1b;\n  pBt = p->pBt;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (p->sharable != '\0') {\n    sqlite3BtreeEnter(p);\n  }\n  if (p->inTrans == '\x02') {\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }\n    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }\n  uVar10 = 0;\nLAB_0009bf60:\n  if (p->sharable != '\0') {\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return uVar10;\n}\n\n" comment (function_definition "int __regparm3 sqlite3BtreeBeginTrans(Btree *p,int wrflag,int *pSchemaVersion)\n\n{\n  byte bVar1;\n  BtShared *pBt;\n  Btree *pBVar2;\n  Pager *pPVar3;\n  uint uVar4;\n  int *piVar5;\n  Pgno PVar6;\n  ushort uVar7;\n  u16 uVar8;\n  BtLock *pBVar9;\n  uint uVar10;\n  int iVar11;\n  u8 *p_00;\n  Pager *pWal_1;\n  Pager *extraout_ECX;\n  sqlite3 *psVar12;\n  BtShared *extraout_EDX;\n  BtShared *extraout_EDX_00;\n  BtShared *extraout_EDX_01;\n  BtShared *extraout_EDX_02;\n  BtShared *pBt_1;\n  BtShared *extraout_EDX_03;\n  BtShared *extraout_EDX_04;\n  BtShared *extraout_EDX_05;\n  BtShared *extraout_EDX_06;\n  BtShared *extraout_EDX_07;\n  BtShared *extraout_EDX_08;\n  BtShared *extraout_EDX_09;\n  BtShared *extraout_EDX_10;\n  BtShared *extraout_EDX_11;\n  BtShared *extraout_EDX_12;\n  BtShared *extraout_EDX_13;\n  BtShared *extraout_EDX_14;\n  BtShared *extraout_EDX_15;\n  MemPage *pMVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  uint local_3c;\n  Wal *local_38;\n  MemPage *pPage1;\n  int isOpen;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x9bd1b;\n  pBt = p->pBt;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (p->sharable != '\0') {\n    sqlite3BtreeEnter(p);\n  }\n  if (p->inTrans == '\x02') {\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }\n    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }\n  uVar10 = 0;\nLAB_0009bf60:\n  if (p->sharable != '\0') {\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return uVar10;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "sqlite3BtreeBeginTrans(Btree *p,int wrflag,int *pSchemaVersion)" identifier (parameter_list "(Btree *p,int wrflag,int *pSchemaVersion)" ( (parameter_declaration "Btree *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "int wrflag" primitive_type identifier) , (parameter_declaration "int *pSchemaVersion" primitive_type (pointer_declarator "*pSchemaVersion" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  BtShared *pBt;\n  Btree *pBVar2;\n  Pager *pPVar3;\n  uint uVar4;\n  int *piVar5;\n  Pgno PVar6;\n  ushort uVar7;\n  u16 uVar8;\n  BtLock *pBVar9;\n  uint uVar10;\n  int iVar11;\n  u8 *p_00;\n  Pager *pWal_1;\n  Pager *extraout_ECX;\n  sqlite3 *psVar12;\n  BtShared *extraout_EDX;\n  BtShared *extraout_EDX_00;\n  BtShared *extraout_EDX_01;\n  BtShared *extraout_EDX_02;\n  BtShared *pBt_1;\n  BtShared *extraout_EDX_03;\n  BtShared *extraout_EDX_04;\n  BtShared *extraout_EDX_05;\n  BtShared *extraout_EDX_06;\n  BtShared *extraout_EDX_07;\n  BtShared *extraout_EDX_08;\n  BtShared *extraout_EDX_09;\n  BtShared *extraout_EDX_10;\n  BtShared *extraout_EDX_11;\n  BtShared *extraout_EDX_12;\n  BtShared *extraout_EDX_13;\n  BtShared *extraout_EDX_14;\n  BtShared *extraout_EDX_15;\n  MemPage *pMVar13;\n  uint uVar14;\n  int in_GS_OFFSET;\n  uint local_3c;\n  Wal *local_38;\n  MemPage *pPage1;\n  int isOpen;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x9bd1b;\n  pBt = p->pBt;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (p->sharable != '\0') {\n    sqlite3BtreeEnter(p);\n  }\n  if (p->inTrans == '\x02') {\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }\n    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }\n  uVar10 = 0;\nLAB_0009bf60:\n  if (p->sharable != '\0') {\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return uVar10;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "BtShared *pBt;" type_identifier (pointer_declarator "*pBt" * identifier) ;) (declaration "Btree *pBVar2;" type_identifier (pointer_declarator "*pBVar2" * identifier) ;) (declaration "Pager *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "Pgno PVar6;" type_identifier identifier ;) (declaration "ushort uVar7;" type_identifier identifier ;) (declaration "u16 uVar8;" type_identifier identifier ;) (declaration "BtLock *pBVar9;" type_identifier (pointer_declarator "*pBVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "u8 *p_00;" type_identifier (pointer_declarator "*p_00" * identifier) ;) (declaration "Pager *pWal_1;" type_identifier (pointer_declarator "*pWal_1" * identifier) ;) (declaration "Pager *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "sqlite3 *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "BtShared *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "BtShared *extraout_EDX_00;" type_identifier (pointer_declarator "*extraout_EDX_00" * identifier) ;) (declaration "BtShared *extraout_EDX_01;" type_identifier (pointer_declarator "*extraout_EDX_01" * identifier) ;) (declaration "BtShared *extraout_EDX_02;" type_identifier (pointer_declarator "*extraout_EDX_02" * identifier) ;) (declaration "BtShared *pBt_1;" type_identifier (pointer_declarator "*pBt_1" * identifier) ;) (declaration "BtShared *extraout_EDX_03;" type_identifier (pointer_declarator "*extraout_EDX_03" * identifier) ;) (declaration "BtShared *extraout_EDX_04;" type_identifier (pointer_declarator "*extraout_EDX_04" * identifier) ;) (declaration "BtShared *extraout_EDX_05;" type_identifier (pointer_declarator "*extraout_EDX_05" * identifier) ;) (declaration "BtShared *extraout_EDX_06;" type_identifier (pointer_declarator "*extraout_EDX_06" * identifier) ;) (declaration "BtShared *extraout_EDX_07;" type_identifier (pointer_declarator "*extraout_EDX_07" * identifier) ;) (declaration "BtShared *extraout_EDX_08;" type_identifier (pointer_declarator "*extraout_EDX_08" * identifier) ;) (declaration "BtShared *extraout_EDX_09;" type_identifier (pointer_declarator "*extraout_EDX_09" * identifier) ;) (declaration "BtShared *extraout_EDX_10;" type_identifier (pointer_declarator "*extraout_EDX_10" * identifier) ;) (declaration "BtShared *extraout_EDX_11;" type_identifier (pointer_declarator "*extraout_EDX_11" * identifier) ;) (declaration "BtShared *extraout_EDX_12;" type_identifier (pointer_declarator "*extraout_EDX_12" * identifier) ;) (declaration "BtShared *extraout_EDX_13;" type_identifier (pointer_declarator "*extraout_EDX_13" * identifier) ;) (declaration "BtShared *extraout_EDX_14;" type_identifier (pointer_declarator "*extraout_EDX_14" * identifier) ;) (declaration "BtShared *extraout_EDX_15;" type_identifier (pointer_declarator "*extraout_EDX_15" * identifier) ;) (declaration "MemPage *pMVar13;" type_identifier (pointer_declarator "*pMVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "Wal *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "MemPage *pPage1;" type_identifier (pointer_declarator "*pPage1" * identifier) ;) (declaration "int isOpen;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x9bd1b;" (assignment_expression "uStack_14 = 0x9bd1b" identifier = number_literal) ;) (expression_statement "pBt = p->pBt;" (assignment_expression "pBt = p->pBt" identifier = (field_expression "p->pBt" identifier -> field_identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (p->sharable != '\0') {\n    sqlite3BtreeEnter(p);\n  }" if (parenthesized_expression "(p->sharable != '\0')" ( (binary_expression "p->sharable != '\0'" (field_expression "p->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    sqlite3BtreeEnter(p);\n  }" { (expression_statement "sqlite3BtreeEnter(p);" (call_expression "sqlite3BtreeEnter(p)" identifier (argument_list "(p)" ( identifier ))) ;) })) (if_statement "if (p->inTrans == '\x02') {\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }\n    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }" if (parenthesized_expression "(p->inTrans == '\x02')" ( (binary_expression "p->inTrans == '\x02'" (field_expression "p->inTrans" identifier -> field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }\n    if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }\n  }" { (if_statement "if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) {\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }" if (parenthesized_expression "((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)pSchemaVersion != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)pSchemaVersion" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);\n      ((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);\n    }" { (labeled_statement "LAB_0009bf20:\n      uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);" statement_identifier : (expression_statement "uVar10 = *(uint *)(pBt->pPage1->aData + 0x28);" (assignment_expression "uVar10 = *(uint *)(pBt->pPage1->aData + 0x28)" identifier = (pointer_expression "*(uint *)(pBt->pPage1->aData + 0x28)" * (cast_expression "(uint *)(pBt->pPage1->aData + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pBt->pPage1->aData + 0x28)" ( (binary_expression "pBt->pPage1->aData + 0x28" (field_expression "pBt->pPage1->aData" (field_expression "pBt->pPage1" identifier -> field_identifier) -> field_identifier) + number_literal) ))))) ;)) (expression_statement "((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18);" (assignment_expression "((sqlite3 *)pSchemaVersion)->pVfs =\n           (sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18)" (field_expression "((sqlite3 *)pSchemaVersion)->pVfs" (parenthesized_expression "((sqlite3 *)pSchemaVersion)" ( (cast_expression "(sqlite3 *)pSchemaVersion" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = (cast_expression "(sqlite3_vfs *)\n           (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) )))) ;) })) (if_statement "if ((sqlite3 *)wrflag != (sqlite3 *)0x0) {\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }" if (parenthesized_expression "((sqlite3 *)wrflag != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;\n      pPVar3 = pBt->pPager;\n      if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }\n    }" { (labeled_statement "LAB_0009bf3c:\n      iVar11 = p->db->nSavepoint;" statement_identifier : (expression_statement "iVar11 = p->db->nSavepoint;" (assignment_expression "iVar11 = p->db->nSavepoint" identifier = (field_expression "p->db->nSavepoint" (field_expression "p->db" identifier -> field_identifier) -> field_identifier)) ;)) (expression_statement "pPVar3 = pBt->pPager;" (assignment_expression "pPVar3 = pBt->pPager" identifier = (field_expression "pBt->pPager" identifier -> field_identifier)) ;) (if_statement "if ((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')) {\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }" if (parenthesized_expression "((pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0'))" ( (binary_expression "(pPVar3->nSavepoint < iVar11) && (pPVar3->useJournal != '\0')" (parenthesized_expression "(pPVar3->nSavepoint < iVar11)" ( (binary_expression "pPVar3->nSavepoint < iVar11" (field_expression "pPVar3->nSavepoint" identifier -> field_identifier) < identifier) )) && (parenthesized_expression "(pPVar3->useJournal != '\0')" ( (binary_expression "pPVar3->useJournal != '\0'" (field_expression "pPVar3->useJournal" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        uVar10 = pagerOpenSavepoint(pPVar3,iVar11);\n        goto LAB_0009bf60;\n      }" { (expression_statement "uVar10 = pagerOpenSavepoint(pPVar3,iVar11);" (assignment_expression "uVar10 = pagerOpenSavepoint(pPVar3,iVar11)" identifier = (call_expression "pagerOpenSavepoint(pPVar3,iVar11)" identifier (argument_list "(pPVar3,iVar11)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) })) })) }) (else_clause "else {\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }" else (compound_statement "{\n    if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;\n  }" { (if_statement "if ((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }" if (parenthesized_expression "((p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0))" ( (binary_expression "(p->inTrans != '\x01') || ((sqlite3 *)wrflag != (sqlite3 *)0x0)" (parenthesized_expression "(p->inTrans != '\x01')" ( (binary_expression "p->inTrans != '\x01'" (field_expression "p->inTrans" identifier -> field_identifier) != (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "((sqlite3 *)wrflag != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      uVar7 = pBt->btsFlags;\n      if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');\n      if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }\n      goto LAB_0009bf60;\n    }" { (expression_statement "uVar7 = pBt->btsFlags;" (assignment_expression "uVar7 = pBt->btsFlags" identifier = (field_expression "pBt->btsFlags" identifier -> field_identifier)) ;) (if_statement "if (((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }" if (parenthesized_expression "(((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0'))" ( (binary_expression "((p->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')" (parenthesized_expression "((p->db->flags & 0x2000000) == 0)" ( (binary_expression "(p->db->flags & 0x2000000) == 0" (parenthesized_expression "(p->db->flags & 0x2000000)" ( (binary_expression "p->db->flags & 0x2000000" (field_expression "p->db->flags" (field_expression "p->db" identifier -> field_identifier) -> field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(pBt->pPager->readOnly != '\0')" ( (binary_expression "pBt->pPager->readOnly != '\0'" (field_expression "pBt->pPager->readOnly" (field_expression "pBt->pPager" identifier -> field_identifier) -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((uVar7 & 1) == 0) goto LAB_0009bd81;\n        uVar10 = 8;\n        if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }\n      }" { (if_statement "if ((uVar7 & 1) == 0) goto LAB_0009bd81;" if (parenthesized_expression "((uVar7 & 1) == 0)" ( (binary_expression "(uVar7 & 1) == 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009bd81;" goto statement_identifier ;)) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (if_statement "if ((sqlite3 *)wrflag != (sqlite3 *)0x0) goto LAB_0009bf60;" if (parenthesized_expression "((sqlite3 *)wrflag != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (labeled_statement "LAB_0009bddc:\n        if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }" statement_identifier : (if_statement "if ((uVar7 & 0x80) != 0) {\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }" if (parenthesized_expression "((uVar7 & 0x80) != 0)" ( (binary_expression "(uVar7 & 0x80) != 0" (parenthesized_expression "(uVar7 & 0x80)" ( (binary_expression "uVar7 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009bde0:\n          psVar12 = pBt->pWriter->db;\n          goto LAB_0009bde5;\n        }" { (labeled_statement "LAB_0009bde0:\n          psVar12 = pBt->pWriter->db;" statement_identifier : (expression_statement "psVar12 = pBt->pWriter->db;" (assignment_expression "psVar12 = pBt->pWriter->db" identifier = (field_expression "pBt->pWriter->db" (field_expression "pBt->pWriter" identifier -> field_identifier) -> field_identifier)) ;)) (goto_statement "goto LAB_0009bde5;" goto statement_identifier ;) }))) }) (else_clause "else {\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }" else (compound_statement "{\n        uVar7 = uVar7 & 0xfffe;\n        pBt->btsFlags = uVar7;\nLAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;\n        if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;\n        pBVar2 = pBVar9->pBtree;\n        if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }\nLAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }\n      }" { (expression_statement "uVar7 = uVar7 & 0xfffe;" (assignment_expression "uVar7 = uVar7 & 0xfffe" identifier = (binary_expression "uVar7 & 0xfffe" identifier & number_literal)) ;) (expression_statement "pBt->btsFlags = uVar7;" (assignment_expression "pBt->btsFlags = uVar7" (field_expression "pBt->btsFlags" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_0009bd81:\n        if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;" statement_identifier : (if_statement "if ((sqlite3 *)wrflag == (sqlite3 *)0x0) goto LAB_0009bddc;" if (parenthesized_expression "((sqlite3 *)wrflag == (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag == (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bddc;" goto statement_identifier ;))) (if_statement "if ((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)) goto LAB_0009bde0;" if (parenthesized_expression "((pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0))" ( (binary_expression "(pBt->inTransaction == '\x02') || ((uVar7 & 0x80) != 0)" (parenthesized_expression "(pBt->inTransaction == '\x02')" ( (binary_expression "pBt->inTransaction == '\x02'" (field_expression "pBt->inTransaction" identifier -> field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar7 & 0x80) != 0)" ( (binary_expression "(uVar7 & 0x80) != 0" (parenthesized_expression "(uVar7 & 0x80)" ( (binary_expression "uVar7 & 0x80" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009bde0;" goto statement_identifier ;)) (if_statement "if ((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)) goto LAB_0009bded;" if (parenthesized_expression "((wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0))" ( (binary_expression "(wrflag < 2) || (pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)" (parenthesized_expression "(wrflag < 2)" ( (binary_expression "wrflag < 2" identifier < number_literal) )) || (parenthesized_expression "(pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0)" ( (comma_expression "pBVar9 = pBt->pLock, pBVar9 == (BtLock *)0x0" (assignment_expression "pBVar9 = pBt->pLock" identifier = (field_expression "pBt->pLock" identifier -> field_identifier)) , (binary_expression "pBVar9 == (BtLock *)0x0" identifier == (cast_expression "(BtLock *)0x0" ( (type_descriptor "BtLock *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) (expression_statement "pBVar2 = pBVar9->pBtree;" (assignment_expression "pBVar2 = pBVar9->pBtree" identifier = (field_expression "pBVar9->pBtree" identifier -> field_identifier)) ;) (if_statement "if (p == pBVar2) {\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }\n        else {\n          psVar12 = pBVar2->db;\n        }" if (parenthesized_expression "(p == pBVar2)" ( (binary_expression "p == pBVar2" identifier == identifier) )) (compound_statement "{\n          do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);\n          psVar12 = pBVar9->pBtree->db;\n        }" { (do_statement "do {\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          } while (pBVar9->pBtree == pBVar2);" do (compound_statement "{\n            pBVar9 = pBVar9->pNext;\n            if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;\n          }" { (expression_statement "pBVar9 = pBVar9->pNext;" (assignment_expression "pBVar9 = pBVar9->pNext" identifier = (field_expression "pBVar9->pNext" identifier -> field_identifier)) ;) (if_statement "if (pBVar9 == (BtLock *)0x0) goto LAB_0009bded;" if (parenthesized_expression "(pBVar9 == (BtLock *)0x0)" ( (binary_expression "pBVar9 == (BtLock *)0x0" identifier == (cast_expression "(BtLock *)0x0" ( (type_descriptor "BtLock *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) }) while (parenthesized_expression "(pBVar9->pBtree == pBVar2)" ( (binary_expression "pBVar9->pBtree == pBVar2" (field_expression "pBVar9->pBtree" identifier -> field_identifier) == identifier) )) ;) (expression_statement "psVar12 = pBVar9->pBtree->db;" (assignment_expression "psVar12 = pBVar9->pBtree->db" identifier = (field_expression "pBVar9->pBtree->db" (field_expression "pBVar9->pBtree" identifier -> field_identifier) -> field_identifier)) ;) }) (else_clause "else {\n          psVar12 = pBVar2->db;\n        }" else (compound_statement "{\n          psVar12 = pBVar2->db;\n        }" { (expression_statement "psVar12 = pBVar2->db;" (assignment_expression "psVar12 = pBVar2->db" identifier = (field_expression "pBVar2->db" identifier -> field_identifier)) ;) }))) (labeled_statement "LAB_0009bde5:\n        if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }" statement_identifier : (if_statement "if (psVar12 != (sqlite3 *)0x0) {\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }" if (parenthesized_expression "(psVar12 != (sqlite3 *)0x0)" ( (binary_expression "psVar12 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = 0x106;\n          sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);\n          goto LAB_0009bf60;\n        }" { (expression_statement "uVar10 = 0x106;" (assignment_expression "uVar10 = 0x106" identifier = number_literal) ;) (expression_statement "sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion);" (call_expression "sqlite3ConnectionBlocked((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion)" identifier (argument_list "((sqlite3 *)wrflag,(sqlite3 *)pSchemaVersion)" ( (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(sqlite3 *)pSchemaVersion" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_0009bded:\n      uVar10 = querySharedCacheTableLock(p,1,'\x01');" statement_identifier : (expression_statement "uVar10 = querySharedCacheTableLock(p,1,'\x01');" (assignment_expression "uVar10 = querySharedCacheTableLock(p,1,'\x01')" identifier = (call_expression "querySharedCacheTableLock(p,1,'\x01')" identifier (argument_list "(p,1,'\x01')" ( identifier , number_literal , (char_literal "'\x01'" ' escape_sequence ') )))) ;)) (if_statement "if (uVar10 == 0) {\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        pBt_1 = (BtShared *)pBt->nPage;\n        uVar7 = pBt->btsFlags & 0xffef;\n        pBt->btsFlags = uVar7;\n        if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\nLAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }\n        if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }\n        if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;\nLAB_0009be84:\n        pMVar13 = pBt->pPage1;\n        uVar14 = uVar10;\n        goto LAB_0009be87;\n      }" { (expression_statement "pBt_1 = (BtShared *)pBt->nPage;" (assignment_expression "pBt_1 = (BtShared *)pBt->nPage" identifier = (cast_expression "(BtShared *)pBt->nPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBt->nPage" identifier -> field_identifier))) ;) (expression_statement "uVar7 = pBt->btsFlags & 0xffef;" (assignment_expression "uVar7 = pBt->btsFlags & 0xffef" identifier = (binary_expression "pBt->btsFlags & 0xffef" (field_expression "pBt->btsFlags" identifier -> field_identifier) & number_literal)) ;) (expression_statement "pBt->btsFlags = uVar7;" (assignment_expression "pBt->btsFlags = uVar7" (field_expression "pBt->btsFlags" identifier -> field_identifier) = identifier) ;) (if_statement "if (pBt_1 == (BtShared *)0x0) {\n          pBt->btsFlags = uVar7 | 0x10;\n        }" if (parenthesized_expression "(pBt_1 == (BtShared *)0x0)" ( (binary_expression "pBt_1 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pBt->btsFlags = uVar7 | 0x10;\n        }" { (expression_statement "pBt->btsFlags = uVar7 | 0x10;" (assignment_expression "pBt->btsFlags = uVar7 | 0x10" (field_expression "pBt->btsFlags" identifier -> field_identifier) = (binary_expression "uVar7 | 0x10" identifier | number_literal)) ;) })) (expression_statement "pMVar13 = pBt->pPage1;" (assignment_expression "pMVar13 = pBt->pPage1" identifier = (field_expression "pBt->pPage1" identifier -> field_identifier)) ;) (expression_statement "uVar14 = uVar10;" (assignment_expression "uVar14 = uVar10" identifier = identifier) ;) (labeled_statement "LAB_0009be87:\n        while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }" statement_identifier : (while_statement "while (pMVar13 == (MemPage *)0x0) {\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }" while (parenthesized_expression "(pMVar13 == (MemPage *)0x0)" ( (binary_expression "pMVar13 == (MemPage *)0x0" identifier == (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = sqlite3PagerSharedLock(pBt->pPager);\n          pBt_1 = extraout_EDX_01;\n          if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;\n          uVar4 = pBt->pPager->dbSize;\n          piVar5 = (int *)pPage1->aData;\n          uVar10 = piVar5[7];\n          local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);\n          uVar10 = (uint)pBt->db->flags & 0x2000000;\n          if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }\n        }" { (expression_statement "uVar10 = sqlite3PagerSharedLock(pBt->pPager);" (assignment_expression "uVar10 = sqlite3PagerSharedLock(pBt->pPager)" identifier = (call_expression "sqlite3PagerSharedLock(pBt->pPager)" identifier (argument_list "(pBt->pPager)" ( (field_expression "pBt->pPager" identifier -> field_identifier) )))) ;) (expression_statement "pBt_1 = extraout_EDX_01;" (assignment_expression "pBt_1 = extraout_EDX_01" identifier = identifier) ;) (if_statement "if ((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)) goto LAB_0009bfa0;" if (parenthesized_expression "((uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0))" ( (binary_expression "(uVar10 != 0) ||\n             (uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0)" ( (comma_expression "uVar14 = btreeGetPage(pBt,1,&pPage1,0), pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0" (assignment_expression "uVar14 = btreeGetPage(pBt,1,&pPage1,0)" identifier = (call_expression "btreeGetPage(pBt,1,&pPage1,0)" identifier (argument_list "(pBt,1,&pPage1,0)" ( identifier , number_literal , (pointer_expression "&pPage1" & identifier) , number_literal )))) , (comma_expression "pBt_1 = extraout_EDX_02, uVar10 = uVar14,\n             uVar14 != 0" (assignment_expression "pBt_1 = extraout_EDX_02" identifier = identifier) , (comma_expression "uVar10 = uVar14,\n             uVar14 != 0" (assignment_expression "uVar10 = uVar14" identifier = identifier) , (binary_expression "uVar14 != 0" identifier != number_literal)))) ))) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (expression_statement "uVar4 = pBt->pPager->dbSize;" (assignment_expression "uVar4 = pBt->pPager->dbSize" identifier = (field_expression "pBt->pPager->dbSize" (field_expression "pBt->pPager" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "piVar5 = (int *)pPage1->aData;" (assignment_expression "piVar5 = (int *)pPage1->aData" identifier = (cast_expression "(int *)pPage1->aData" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pPage1->aData" identifier -> field_identifier))) ;) (expression_statement "uVar10 = piVar5[7];" (assignment_expression "uVar10 = piVar5[7]" identifier = (subscript_expression "piVar5[7]" identifier [ number_literal ])) ;) (expression_statement "local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18);" (assignment_expression "local_38 = (Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18)" identifier = (cast_expression "(Wal *)(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18)" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18)" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                            uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "uVar10 = (uint)pBt->db->flags & 0x2000000;" (assignment_expression "uVar10 = (uint)pBt->db->flags & 0x2000000" identifier = (binary_expression "(uint)pBt->db->flags & 0x2000000" (cast_expression "(uint)pBt->db->flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "pBt->db->flags" (field_expression "pBt->db" identifier -> field_identifier) -> field_identifier)) & number_literal)) ;) (if_statement "if ((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])) {\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }\n          else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }" if (parenthesized_expression "((local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17]))" ( (binary_expression "(local_38 == (Wal *)0x0) || (piVar5[6] != piVar5[0x17])" (parenthesized_expression "(local_38 == (Wal *)0x0)" ( (binary_expression "local_38 == (Wal *)0x0" identifier == (cast_expression "(Wal *)0x0" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(piVar5[6] != piVar5[0x17])" ( (binary_expression "piVar5[6] != piVar5[0x17]" (subscript_expression "piVar5[6]" identifier [ number_literal ]) != (subscript_expression "piVar5[0x17]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = pBt->usableSize;\n            local_38 = (Wal *)0x0;\nLAB_0009c03b:\n            pBt->pPage1 = pPage1;\n            iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            pBt->maxLocal = (ushort)iVar11;\n            uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;\n            pBt->minLocal = uVar8;\n            pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);\n            pBt->minLeaf = uVar8;\n            if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }\n            pBt->maxLeaf = (u16)pBt_1;\n            pBt->max1bytePayload = (u8)iVar11;\n            pBt->nPage = (u32)local_38;\n            pMVar13 = pPage1;\n          }" { (if_statement "if ((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)) goto LAB_0009c298;" if (parenthesized_expression "((uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0))" ( (binary_expression "(uVar4 != 0) && (local_38 = (Wal *)uVar4, uVar10 == 0)" (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_38 = (Wal *)uVar4, uVar10 == 0)" ( (comma_expression "local_38 = (Wal *)uVar4, uVar10 == 0" (assignment_expression "local_38 = (Wal *)uVar4" identifier = (cast_expression "(Wal *)uVar4" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "uVar10 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0009c298;" goto statement_identifier ;)) (labeled_statement "LAB_0009c02c:\n            local_3c = pBt->usableSize;" statement_identifier : (expression_statement "local_3c = pBt->usableSize;" (assignment_expression "local_3c = pBt->usableSize" identifier = (field_expression "pBt->usableSize" identifier -> field_identifier)) ;)) (expression_statement "local_38 = (Wal *)0x0;" (assignment_expression "local_38 = (Wal *)0x0" identifier = (cast_expression "(Wal *)0x0" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0009c03b:\n            pBt->pPage1 = pPage1;" statement_identifier : (expression_statement "pBt->pPage1 = pPage1;" (assignment_expression "pBt->pPage1 = pPage1" (field_expression "pBt->pPage1" identifier -> field_identifier) = identifier) ;)) (expression_statement "iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;" (assignment_expression "iVar11 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" identifier = (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff" (parenthesized_expression "((local_3c + 0x3fffff4) * 0x40)" ( (binary_expression "(local_3c + 0x3fffff4) * 0x40" (parenthesized_expression "(local_3c + 0x3fffff4)" ( (binary_expression "local_3c + 0x3fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) - number_literal)) ;) (expression_statement "pBt->maxLocal = (ushort)iVar11;" (assignment_expression "pBt->maxLocal = (ushort)iVar11" (field_expression "pBt->maxLocal" identifier -> field_identifier) = (cast_expression "(ushort)iVar11" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17;" (assignment_expression "uVar8 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17" identifier = (binary_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) - 0x17" (cast_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (binary_expression "((local_3c + 0x7fffff4) * 0x20) / 0xff" (parenthesized_expression "((local_3c + 0x7fffff4) * 0x20)" ( (binary_expression "(local_3c + 0x7fffff4) * 0x20" (parenthesized_expression "(local_3c + 0x7fffff4)" ( (binary_expression "local_3c + 0x7fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) ))) - number_literal)) ;) (expression_statement "pBt->minLocal = uVar8;" (assignment_expression "pBt->minLocal = uVar8" (field_expression "pBt->minLocal" identifier -> field_identifier) = identifier) ;) (expression_statement "pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23);" (assignment_expression "pBt_1 = (BtShared *)((local_3c & 0xffff) - 0x23)" identifier = (cast_expression "(BtShared *)((local_3c & 0xffff) - 0x23)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_3c & 0xffff) - 0x23)" ( (binary_expression "(local_3c & 0xffff) - 0x23" (parenthesized_expression "(local_3c & 0xffff)" ( (binary_expression "local_3c & 0xffff" identifier & number_literal) )) - number_literal) )))) ;) (expression_statement "pBt->minLeaf = uVar8;" (assignment_expression "pBt->minLeaf = uVar8" (field_expression "pBt->minLeaf" identifier -> field_identifier) = identifier) ;) (if_statement "if (0x7f < (ushort)iVar11) {\n              iVar11 = 0x7f;\n            }" if (parenthesized_expression "(0x7f < (ushort)iVar11)" ( (binary_expression "0x7f < (ushort)iVar11" number_literal < (cast_expression "(ushort)iVar11" ( (type_descriptor "ushort" type_identifier) ) identifier)) )) (compound_statement "{\n              iVar11 = 0x7f;\n            }" { (expression_statement "iVar11 = 0x7f;" (assignment_expression "iVar11 = 0x7f" identifier = number_literal) ;) })) (expression_statement "pBt->maxLeaf = (u16)pBt_1;" (assignment_expression "pBt->maxLeaf = (u16)pBt_1" (field_expression "pBt->maxLeaf" identifier -> field_identifier) = (cast_expression "(u16)pBt_1" ( (type_descriptor "u16" type_identifier) ) identifier)) ;) (expression_statement "pBt->max1bytePayload = (u8)iVar11;" (assignment_expression "pBt->max1bytePayload = (u8)iVar11" (field_expression "pBt->max1bytePayload" identifier -> field_identifier) = (cast_expression "(u8)iVar11" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "pBt->nPage = (u32)local_38;" (assignment_expression "pBt->nPage = (u32)local_38" (field_expression "pBt->nPage" identifier -> field_identifier) = (cast_expression "(u32)local_38" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pMVar13 = pPage1;" (assignment_expression "pMVar13 = pPage1" identifier = identifier) ;) }) (else_clause "else {\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }" else (compound_statement "{\n            if (uVar10 != 0) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }\n            if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            isOpen = 0;\n            uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);\n            if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }\n            if (isOpen != 0) goto LAB_0009c3b7;\n            uVar14 = 0;\n            sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n            pMVar13 = pBt->pPage1;\n            pBt_1 = extraout_EDX_13;\n          }" { (if_statement "if (uVar10 != 0) goto LAB_0009c02c;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c02c;" goto statement_identifier ;)) (labeled_statement "LAB_0009c298:\n            if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" statement_identifier : (if_statement "if ((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" if (parenthesized_expression "((((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074))" ( (binary_expression "(((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                ) || (piVar5[3] != 0x332074)" (parenthesized_expression "(((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)\n                )" ( (binary_expression "((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)) || (piVar5[2] != 0x616d726f)" (parenthesized_expression "((*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574))" ( (binary_expression "(*piVar5 != 0x694c5153) || (piVar5[1] != 0x66206574)" (parenthesized_expression "(*piVar5 != 0x694c5153)" ( (binary_expression "*piVar5 != 0x694c5153" (pointer_expression "*piVar5" * identifier) != number_literal) )) || (parenthesized_expression "(piVar5[1] != 0x66206574)" ( (binary_expression "piVar5[1] != 0x66206574" (subscript_expression "piVar5[1]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar5[2] != 0x616d726f)" ( (binary_expression "piVar5[2] != 0x616d726f" (subscript_expression "piVar5[2]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar5[3] != 0x332074)" ( (binary_expression "piVar5[3] != 0x332074" (subscript_expression "piVar5[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0009c2a4:\n              uVar10 = 0x1a;\n              uVar14 = 0x1a;\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_08;\nLAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" { (labeled_statement "LAB_0009c2a4:\n              uVar10 = 0x1a;" statement_identifier : (expression_statement "uVar10 = 0x1a;" (assignment_expression "uVar10 = 0x1a" identifier = number_literal) ;)) (expression_statement "uVar14 = 0x1a;" (assignment_expression "uVar14 = 0x1a" identifier = number_literal) ;) (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBt->pPage1 = (MemPage *)0x0;" (assignment_expression "pBt->pPage1 = (MemPage *)0x0" (field_expression "pBt->pPage1" identifier -> field_identifier) = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBt_1 = extraout_EDX_08;" (assignment_expression "pBt_1 = extraout_EDX_08" identifier = identifier) ;) (labeled_statement "LAB_0009be44:\n              if (pBt->inTransaction == '\0') goto LAB_0009be4e;" statement_identifier : (if_statement "if (pBt->inTransaction == '\0') goto LAB_0009be4e;" if (parenthesized_expression "(pBt->inTransaction == '\0')" ( (binary_expression "pBt->inTransaction == '\0'" (field_expression "pBt->inTransaction" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;))) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (if_statement "if (2 < *(byte *)((int)piVar5 + 0x12)) {\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }" if (parenthesized_expression "(2 < *(byte *)((int)piVar5 + 0x12))" ( (binary_expression "2 < *(byte *)((int)piVar5 + 0x12)" number_literal < (pointer_expression "*(byte *)((int)piVar5 + 0x12)" * (cast_expression "(byte *)((int)piVar5 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x12)" ( (binary_expression "(int)piVar5 + 0x12" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n              pBt->btsFlags = pBt->btsFlags | 1;\n            }" { (expression_statement "pBt->btsFlags = pBt->btsFlags | 1;" (assignment_expression "pBt->btsFlags = pBt->btsFlags | 1" (field_expression "pBt->btsFlags" identifier -> field_identifier) = (binary_expression "pBt->btsFlags | 1" (field_expression "pBt->btsFlags" identifier -> field_identifier) | number_literal)) ;) })) (if_statement "if (2 < *(byte *)((int)piVar5 + 0x13)) goto LAB_0009c2a4;" if (parenthesized_expression "(2 < *(byte *)((int)piVar5 + 0x13))" ( (binary_expression "2 < *(byte *)((int)piVar5 + 0x13)" number_literal < (pointer_expression "*(byte *)((int)piVar5 + 0x13)" * (cast_expression "(byte *)((int)piVar5 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x13)" ( (binary_expression "(int)piVar5 + 0x13" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" if (parenthesized_expression "((*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0))" ( (binary_expression "(*(byte *)((int)piVar5 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)" (parenthesized_expression "(*(byte *)((int)piVar5 + 0x13) != 2)" ( (binary_expression "*(byte *)((int)piVar5 + 0x13) != 2" (pointer_expression "*(byte *)((int)piVar5 + 0x13)" * (cast_expression "(byte *)((int)piVar5 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x13)" ( (binary_expression "(int)piVar5 + 0x13" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "((pBt->btsFlags & 0x20) != 0)" ( (binary_expression "(pBt->btsFlags & 0x20) != 0" (parenthesized_expression "(pBt->btsFlags & 0x20)" ( (binary_expression "pBt->btsFlags & 0x20" (field_expression "pBt->btsFlags" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }\n              pBt->btsFlags = pBt->btsFlags | 2;\n              bVar1 = *(byte *)(piVar5 + 5);\n              local_3c = uVar10 - bVar1;\n              if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->usableSize = local_3c;\n              pBt->pageSize = uVar10;\n              if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }\n              uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);\n              pBt_1 = extraout_EDX_14;\n              if (uVar10 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" { (labeled_statement "LAB_0009c3b7:\n              if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }" statement_identifier : (if_statement "if (((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))) {\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }" if (parenthesized_expression "(((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101))))" ( (binary_expression "((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')) ||\n                 ((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))" (parenthesized_expression "((*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' '))" ( (binary_expression "(*(short *)((int)piVar5 + 0x15) != 0x2040) ||\n                  (*(char *)((int)piVar5 + 0x17) != ' ')" (parenthesized_expression "(*(short *)((int)piVar5 + 0x15) != 0x2040)" ( (binary_expression "*(short *)((int)piVar5 + 0x15) != 0x2040" (pointer_expression "*(short *)((int)piVar5 + 0x15)" * (cast_expression "(short *)((int)piVar5 + 0x15)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x15)" ( (binary_expression "(int)piVar5 + 0x15" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(*(char *)((int)piVar5 + 0x17) != ' ')" ( (binary_expression "*(char *)((int)piVar5 + 0x17) != ' '" (pointer_expression "*(char *)((int)piVar5 + 0x17)" * (cast_expression "(char *)((int)piVar5 + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x17)" ( (binary_expression "(int)piVar5 + 0x17" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "((uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)))" ( (parenthesized_expression "(uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101))" ( (comma_expression "uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8, (uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)" (assignment_expression "uVar10 = (uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8" identifier = (binary_expression "(uint)*(byte *)((int)piVar5 + 0x11) << 0x10 |\n                            (uint)*(byte *)(piVar5 + 4) << 8" (binary_expression "(uint)*(byte *)((int)piVar5 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)piVar5 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)piVar5 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x11)" ( (binary_expression "(int)piVar5 + 0x11" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(piVar5 + 4) << 8" (binary_expression "(uint)*(byte *)(piVar5 + 4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar5 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 4)" ( (binary_expression "piVar5 + 4" identifier + number_literal) )))) << number_literal))) , (binary_expression "(uVar10 - 1 & uVar10) != 0 ||\n                  (0xfeff < uVar10 - 0x101)" (binary_expression "(uVar10 - 1 & uVar10) != 0" (parenthesized_expression "(uVar10 - 1 & uVar10)" ( (binary_expression "uVar10 - 1 & uVar10" (binary_expression "uVar10 - 1" identifier - number_literal) & identifier) )) != number_literal) || (parenthesized_expression "(0xfeff < uVar10 - 0x101)" ( (binary_expression "0xfeff < uVar10 - 0x101" number_literal < (binary_expression "uVar10 - 0x101" identifier - number_literal)) )))) )) ))) )) (compound_statement "{\n                uVar14 = 0x1a;\n                uVar10 = 0x1a;\n                sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                pBt->pPage1 = (MemPage *)0x0;\n                pBt_1 = extraout_EDX_11;\n                goto LAB_0009be44;\n              }" { (expression_statement "uVar14 = 0x1a;" (assignment_expression "uVar14 = 0x1a" identifier = number_literal) ;) (expression_statement "uVar10 = 0x1a;" (assignment_expression "uVar10 = 0x1a" identifier = number_literal) ;) (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBt->pPage1 = (MemPage *)0x0;" (assignment_expression "pBt->pPage1 = (MemPage *)0x0" (field_expression "pBt->pPage1" identifier -> field_identifier) = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBt_1 = extraout_EDX_11;" (assignment_expression "pBt_1 = extraout_EDX_11" identifier = identifier) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) }))) (expression_statement "pBt->btsFlags = pBt->btsFlags | 2;" (assignment_expression "pBt->btsFlags = pBt->btsFlags | 2" (field_expression "pBt->btsFlags" identifier -> field_identifier) = (binary_expression "pBt->btsFlags | 2" (field_expression "pBt->btsFlags" identifier -> field_identifier) | number_literal)) ;) (expression_statement "bVar1 = *(byte *)(piVar5 + 5);" (assignment_expression "bVar1 = *(byte *)(piVar5 + 5)" identifier = (pointer_expression "*(byte *)(piVar5 + 5)" * (cast_expression "(byte *)(piVar5 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 5)" ( (binary_expression "piVar5 + 5" identifier + number_literal) ))))) ;) (expression_statement "local_3c = uVar10 - bVar1;" (assignment_expression "local_3c = uVar10 - bVar1" identifier = (binary_expression "uVar10 - bVar1" identifier - identifier)) ;) (if_statement "if (uVar10 == pBt->pageSize) {\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }" if (parenthesized_expression "(uVar10 == pBt->pageSize)" ( (binary_expression "uVar10 == pBt->pageSize" identifier == (field_expression "pBt->pageSize" identifier -> field_identifier)) )) (compound_statement "{\n                if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }\n                if (local_3c < 0x1e0) goto LAB_0009c2a4;\n                pBt->usableSize = local_3c;\n                pBt->autoVacuum = piVar5[0xd] != 0;\n                pBt->incrVacuum = piVar5[0x10] != 0;\n                goto LAB_0009c03b;\n              }" { (if_statement "if (((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)) {\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }" if (parenthesized_expression "(((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38))" ( (binary_expression "((pBt->db->flags & 0x10000001) != 1) && (uVar4 < local_38)" (parenthesized_expression "((pBt->db->flags & 0x10000001) != 1)" ( (binary_expression "(pBt->db->flags & 0x10000001) != 1" (parenthesized_expression "(pBt->db->flags & 0x10000001)" ( (binary_expression "pBt->db->flags & 0x10000001" (field_expression "pBt->db->flags" (field_expression "pBt->db" identifier -> field_identifier) -> field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar4 < local_38)" ( (binary_expression "uVar4 < local_38" identifier < identifier) ))) )) (compound_statement "{\n                  uVar14 = 0xb;\n                  uVar10 = 0xb;\n                  sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                  sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n                  pBt->pPage1 = (MemPage *)0x0;\n                  pBt_1 = extraout_EDX_15;\n                  goto LAB_0009be44;\n                }" { (expression_statement "uVar14 = 0xb;" (assignment_expression "uVar14 = 0xb" identifier = number_literal) ;) (expression_statement "uVar10 = 0xb;" (assignment_expression "uVar10 = 0xb" identifier = number_literal) ;) (expression_statement "sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");" (call_expression "sqlite3_log(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" identifier (argument_list "(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" ( number_literal , (string_literal ""%s at line %d of [%.10s]"" " string_content ") , (string_literal ""database corruption"" " string_content ") , number_literal , (string_literal ""bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1"" " string_content ") ))) ;) (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBt->pPage1 = (MemPage *)0x0;" (assignment_expression "pBt->pPage1 = (MemPage *)0x0" (field_expression "pBt->pPage1" identifier -> field_identifier) = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBt_1 = extraout_EDX_15;" (assignment_expression "pBt_1 = extraout_EDX_15" identifier = identifier) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (if_statement "if (local_3c < 0x1e0) goto LAB_0009c2a4;" if (parenthesized_expression "(local_3c < 0x1e0)" ( (binary_expression "local_3c < 0x1e0" identifier < number_literal) )) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;)) (expression_statement "pBt->usableSize = local_3c;" (assignment_expression "pBt->usableSize = local_3c" (field_expression "pBt->usableSize" identifier -> field_identifier) = identifier) ;) (expression_statement "pBt->autoVacuum = piVar5[0xd] != 0;" (assignment_expression "pBt->autoVacuum = piVar5[0xd] != 0" (field_expression "pBt->autoVacuum" identifier -> field_identifier) = (binary_expression "piVar5[0xd] != 0" (subscript_expression "piVar5[0xd]" identifier [ number_literal ]) != number_literal)) ;) (expression_statement "pBt->incrVacuum = piVar5[0x10] != 0;" (assignment_expression "pBt->incrVacuum = piVar5[0x10] != 0" (field_expression "pBt->incrVacuum" identifier -> field_identifier) = (binary_expression "piVar5[0x10] != 0" (subscript_expression "piVar5[0x10]" identifier [ number_literal ]) != number_literal)) ;) (goto_statement "goto LAB_0009c03b;" goto statement_identifier ;) })) (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBt->usableSize = local_3c;" (assignment_expression "pBt->usableSize = local_3c" (field_expression "pBt->usableSize" identifier -> field_identifier) = identifier) ;) (expression_statement "pBt->pageSize = uVar10;" (assignment_expression "pBt->pageSize = uVar10" (field_expression "pBt->pageSize" identifier -> field_identifier) = identifier) ;) (if_statement "if (pBt->pTmpSpace != (u8 *)0x0) {\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }" if (parenthesized_expression "(pBt->pTmpSpace != (u8 *)0x0)" ( (binary_expression "pBt->pTmpSpace != (u8 *)0x0" (field_expression "pBt->pTmpSpace" identifier -> field_identifier) != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                p_00 = pBt->pTmpSpace + -4;\n                pBt->pTmpSpace = p_00;\n                pcache1Free(p_00);\n                pBt->pTmpSpace = (u8 *)0x0;\n              }" { (expression_statement "p_00 = pBt->pTmpSpace + -4;" (assignment_expression "p_00 = pBt->pTmpSpace + -4" identifier = (binary_expression "pBt->pTmpSpace + -4" (field_expression "pBt->pTmpSpace" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pBt->pTmpSpace = p_00;" (assignment_expression "pBt->pTmpSpace = p_00" (field_expression "pBt->pTmpSpace" identifier -> field_identifier) = identifier) ;) (expression_statement "pcache1Free(p_00);" (call_expression "pcache1Free(p_00)" identifier (argument_list "(p_00)" ( identifier ))) ;) (expression_statement "pBt->pTmpSpace = (u8 *)0x0;" (assignment_expression "pBt->pTmpSpace = (u8 *)0x0" (field_expression "pBt->pTmpSpace" identifier -> field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1);" (assignment_expression "uVar10 = sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1)" identifier = (call_expression "sqlite3PagerSetPagesize(pBt->pPager,&pBt->pageSize,(uint)bVar1)" identifier (argument_list "(pBt->pPager,&pBt->pageSize,(uint)bVar1)" ( (field_expression "pBt->pPager" identifier -> field_identifier) , (pointer_expression "&pBt->pageSize" & (field_expression "pBt->pageSize" identifier -> field_identifier)) , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pBt_1 = extraout_EDX_14;" (assignment_expression "pBt_1 = extraout_EDX_14" identifier = identifier) ;) (if_statement "if (uVar10 != 0) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009be84;" goto statement_identifier ;) })) (expression_statement "isOpen = 0;" (assignment_expression "isOpen = 0" identifier = number_literal) ;) (expression_statement "uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen);" (assignment_expression "uVar10 = sqlite3PagerOpenWal(pBt->pPager,&isOpen)" identifier = (call_expression "sqlite3PagerOpenWal(pBt->pPager,&isOpen)" identifier (argument_list "(pBt->pPager,&isOpen)" ( (field_expression "pBt->pPager" identifier -> field_identifier) , (pointer_expression "&isOpen" & identifier) )))) ;) (if_statement "if (uVar10 != 0) {\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              sqlite3PagerUnrefPageOne(pPage1->pDbPage);\n              pBt->pPage1 = (MemPage *)0x0;\n              pBt_1 = extraout_EDX_00;\n              goto LAB_0009bfa0;\n            }" { (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pBt->pPage1 = (MemPage *)0x0;" (assignment_expression "pBt->pPage1 = (MemPage *)0x0" (field_expression "pBt->pPage1" identifier -> field_identifier) = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBt_1 = extraout_EDX_00;" (assignment_expression "pBt_1 = extraout_EDX_00" identifier = identifier) ;) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;) })) (if_statement "if (isOpen != 0) goto LAB_0009c3b7;" if (parenthesized_expression "(isOpen != 0)" ( (binary_expression "isOpen != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c3b7;" goto statement_identifier ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "sqlite3PagerUnrefPageOne(pPage1->pDbPage);" (call_expression "sqlite3PagerUnrefPageOne(pPage1->pDbPage)" identifier (argument_list "(pPage1->pDbPage)" ( (field_expression "pPage1->pDbPage" identifier -> field_identifier) ))) ;) (expression_statement "pMVar13 = pBt->pPage1;" (assignment_expression "pMVar13 = pBt->pPage1" identifier = (field_expression "pBt->pPage1" identifier -> field_identifier)) ;) (expression_statement "pBt_1 = extraout_EDX_13;" (assignment_expression "pBt_1 = extraout_EDX_13" identifier = identifier) ;) }))) }))) (if_statement "if ((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)) {\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }\n        else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }" if (parenthesized_expression "((uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0))" ( (binary_expression "(uVar14 == 0) && ((sqlite3 *)wrflag != (sqlite3 *)0x0)" (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) && (parenthesized_expression "((sqlite3 *)wrflag != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }\n          pPVar3 = pBt->pPager;\n          uVar10 = pPVar3->errCode;\n          if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar14 = 5;\n          uVar10 = 5;\nLAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);\n        }" { (if_statement "if ((pBt->btsFlags & 1) != 0) {\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }" if (parenthesized_expression "((pBt->btsFlags & 1) != 0)" ( (binary_expression "(pBt->btsFlags & 1) != 0" (parenthesized_expression "(pBt->btsFlags & 1)" ( (binary_expression "pBt->btsFlags & 1" (field_expression "pBt->btsFlags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009be3a:\n            uVar14 = 8;\n            uVar10 = 8;\n            goto LAB_0009be44;\n          }" { (labeled_statement "LAB_0009be3a:\n            uVar14 = 8;" statement_identifier : (expression_statement "uVar14 = 8;" (assignment_expression "uVar14 = 8" identifier = number_literal) ;)) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "pPVar3 = pBt->pPager;" (assignment_expression "pPVar3 = pBt->pPager" identifier = (field_expression "pBt->pPager" identifier -> field_identifier)) ;) (expression_statement "uVar10 = pPVar3->errCode;" (assignment_expression "uVar10 = pPVar3->errCode" identifier = (field_expression "pPVar3->errCode" identifier -> field_identifier)) ;) (if_statement "if (uVar10 == 0) {\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            pPVar3->subjInMemory = p->db->temp_store == '\x02';\n            if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }\n            if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" { (expression_statement "pPVar3->subjInMemory = p->db->temp_store == '\x02';" (assignment_expression "pPVar3->subjInMemory = p->db->temp_store == '\x02'" (field_expression "pPVar3->subjInMemory" identifier -> field_identifier) = (binary_expression "p->db->temp_store == '\x02'" (field_expression "p->db->temp_store" (field_expression "p->db" identifier -> field_identifier) -> field_identifier) == (char_literal "'\x02'" ' escape_sequence '))) ;) (if_statement "if (pPVar3->eState == '\x01') {\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }" if (parenthesized_expression "(pPVar3->eState == '\x01')" ( (binary_expression "pPVar3->eState == '\x01'" (field_expression "pPVar3->eState" identifier -> field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n              local_38 = pPVar3->pWal;\n              if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }\n              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              PVar6 = pPVar3->dbSize;\n              pPVar3->eState = '\x02';\n              *(undefined4 *)&pPVar3->journalOff = 0;\n              pPVar3->dbHintSize = PVar6;\n              pPVar3->dbFileSize = PVar6;\n              pPVar3->dbOrigSize = PVar6;\n              *(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;\n            }" { (expression_statement "local_38 = pPVar3->pWal;" (assignment_expression "local_38 = pPVar3->pWal" identifier = (field_expression "pPVar3->pWal" identifier -> field_identifier)) ;) (if_statement "if (local_38 != (Wal *)0x0) {\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }" if (parenthesized_expression "(local_38 != (Wal *)0x0)" ( (binary_expression "local_38 != (Wal *)0x0" identifier != (cast_expression "(Wal *)0x0" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }\n                if (local_38->readOnly != '\0') goto LAB_0009be3a;\n                if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;\n                local_38->writeLock = '\x01';\n                iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);\n                if (iVar11 == 0) goto LAB_0009c202;\n                pBt_1 = extraout_EDX_06;\n                if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }\n                local_38->writeLock = '\0';\n                goto LAB_0009c274;\n              }" { (if_statement "if ((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')) {\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }" if (parenthesized_expression "((pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0'))" ( (binary_expression "(pPVar3->exclusiveMode != '\0') && (local_38->exclusiveMode == '\0')" (parenthesized_expression "(pPVar3->exclusiveMode != '\0')" ( (binary_expression "pPVar3->exclusiveMode != '\0'" (field_expression "pPVar3->exclusiveMode" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_38->exclusiveMode == '\0')" ( (binary_expression "local_38->exclusiveMode == '\0'" (field_expression "local_38->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }\n                  local_38->exclusiveMode = '\x01';\n                  local_38 = pPVar3->pWal;\n                }" { (if_statement "if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }" if (parenthesized_expression "((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5))" ( (binary_expression "(pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)" (parenthesized_expression "(pPVar3->eLock < 4)" ( (binary_expression "pPVar3->eLock < 4" (field_expression "pPVar3->eLock" identifier -> field_identifier) < number_literal) )) || (parenthesized_expression "(pWal_1 = pPVar3, pPVar3->eLock == 5)" ( (comma_expression "pWal_1 = pPVar3, pPVar3->eLock == 5" (assignment_expression "pWal_1 = pPVar3" identifier = identifier) , (binary_expression "pPVar3->eLock == 5" (field_expression "pPVar3->eLock" identifier -> field_identifier) == number_literal)) ))) )) (compound_statement "{\n                    uVar10 = pagerLockDb(pPVar3,4);\n                    pBt_1 = extraout_EDX_10;\n                    if (uVar10 != 0) goto LAB_0009c268;\n                    local_38 = pPVar3->pWal;\n                    pWal_1 = extraout_ECX;\n                    if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;\n                  }" { (expression_statement "uVar10 = pagerLockDb(pPVar3,4);" (assignment_expression "uVar10 = pagerLockDb(pPVar3,4)" identifier = (call_expression "pagerLockDb(pPVar3,4)" identifier (argument_list "(pPVar3,4)" ( identifier , number_literal )))) ;) (expression_statement "pBt_1 = extraout_EDX_10;" (assignment_expression "pBt_1 = extraout_EDX_10" identifier = identifier) ;) (if_statement "if (uVar10 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "local_38 = pPVar3->pWal;" (assignment_expression "local_38 = pPVar3->pWal" identifier = (field_expression "pPVar3->pWal" identifier -> field_identifier)) ;) (expression_statement "pWal_1 = extraout_ECX;" (assignment_expression "pWal_1 = extraout_ECX" identifier = identifier) ;) (if_statement "if (local_38->exclusiveMode == '\0') goto LAB_0009c17a;" if (parenthesized_expression "(local_38->exclusiveMode == '\0')" ( (binary_expression "local_38->exclusiveMode == '\0'" (field_expression "local_38->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009c17a;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }" else (compound_statement "{\nLAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);\n                    pBt_1 = extraout_EDX_04;\n                  }" { (labeled_statement "LAB_0009c17a:\n                    walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);" statement_identifier : (expression_statement "walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1);" (call_expression "walUnlockShared((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1)" identifier (argument_list "((Wal *)local_38->pDbFd,local_38->readLock + 3,(Wal *)pWal_1)" ( (cast_expression "(Wal *)local_38->pDbFd" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38->pDbFd" identifier -> field_identifier)) , (binary_expression "local_38->readLock + 3" (field_expression "local_38->readLock" identifier -> field_identifier) + number_literal) , (cast_expression "(Wal *)pWal_1" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "pBt_1 = extraout_EDX_04;" (assignment_expression "pBt_1 = extraout_EDX_04" identifier = identifier) ;) }))) (expression_statement "local_38->exclusiveMode = '\x01';" (assignment_expression "local_38->exclusiveMode = '\x01'" (field_expression "local_38->exclusiveMode" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_38 = pPVar3->pWal;" (assignment_expression "local_38 = pPVar3->pWal" identifier = (field_expression "pPVar3->pWal" identifier -> field_identifier)) ;) })) (if_statement "if (local_38->readOnly != '\0') goto LAB_0009be3a;" if (parenthesized_expression "(local_38->readOnly != '\0')" ( (binary_expression "local_38->readOnly != '\0'" (field_expression "local_38->readOnly" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be3a;" goto statement_identifier ;)) (if_statement "if ((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)) goto LAB_0009c268;" if (parenthesized_expression "((local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0))" ( (binary_expression "(local_38->exclusiveMode == '\0') &&\n                   (uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)" (parenthesized_expression "(local_38->exclusiveMode == '\0')" ( (binary_expression "local_38->exclusiveMode == '\0'" (field_expression "local_38->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0)" ( (comma_expression "uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag),\n                   pBt_1 = extraout_EDX_05, uVar10 != 0" (assignment_expression "uVar10 = walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag)" identifier = (call_expression "walLockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag)" identifier (argument_list "((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag)" ( (cast_expression "(Wal *)local_38->pDbFd" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38->pDbFd" identifier -> field_identifier)) , number_literal , number_literal , (cast_expression "(Wal *)wrflag" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) , (comma_expression "pBt_1 = extraout_EDX_05, uVar10 != 0" (assignment_expression "pBt_1 = extraout_EDX_05" identifier = identifier) , (binary_expression "uVar10 != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "local_38->writeLock = '\x01';" (assignment_expression "local_38->writeLock = '\x01'" (field_expression "local_38->writeLock" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30);" (assignment_expression "iVar11 = memcmp(&local_38->hdr,*local_38->apWiData,0x30)" identifier = (call_expression "memcmp(&local_38->hdr,*local_38->apWiData,0x30)" identifier (argument_list "(&local_38->hdr,*local_38->apWiData,0x30)" ( (pointer_expression "&local_38->hdr" & (field_expression "local_38->hdr" identifier -> field_identifier)) , (pointer_expression "*local_38->apWiData" * (field_expression "local_38->apWiData" identifier -> field_identifier)) , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_0009c202;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009c202;" goto statement_identifier ;)) (expression_statement "pBt_1 = extraout_EDX_06;" (assignment_expression "pBt_1 = extraout_EDX_06" identifier = identifier) ;) (if_statement "if (local_38->exclusiveMode == '\0') {\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }" if (parenthesized_expression "(local_38->exclusiveMode == '\0')" ( (binary_expression "local_38->exclusiveMode == '\0'" (field_expression "local_38->exclusiveMode" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);\n                  pBt_1 = extraout_EDX_12;\n                }" { (expression_statement "walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag);" (call_expression "walUnlockExclusive((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag)" identifier (argument_list "((Wal *)local_38->pDbFd,0,1,(Wal *)wrflag)" ( (cast_expression "(Wal *)local_38->pDbFd" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38->pDbFd" identifier -> field_identifier)) , number_literal , number_literal , (cast_expression "(Wal *)wrflag" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pBt_1 = extraout_EDX_12;" (assignment_expression "pBt_1 = extraout_EDX_12" identifier = identifier) ;) })) (expression_statement "local_38->writeLock = '\0';" (assignment_expression "local_38->writeLock = '\0'" (field_expression "local_38->writeLock" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_0009c274;" goto statement_identifier ;) })) (if_statement "if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }\n              else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "((pPVar3->eLock == 5) || (pPVar3->eLock < 2))" ( (binary_expression "(pPVar3->eLock == 5) || (pPVar3->eLock < 2)" (parenthesized_expression "(pPVar3->eLock == 5)" ( (binary_expression "pPVar3->eLock == 5" (field_expression "pPVar3->eLock" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(pPVar3->eLock < 2)" ( (binary_expression "pPVar3->eLock < 2" (field_expression "pPVar3->eLock" identifier -> field_identifier) < number_literal) ))) )) (compound_statement "{\n                uVar10 = pagerLockDb(pPVar3,2);\n                pBt_1 = extraout_EDX_09;\n                if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;\n              }" { (expression_statement "uVar10 = pagerLockDb(pPVar3,2);" (assignment_expression "uVar10 = pagerLockDb(pPVar3,2)" identifier = (call_expression "pagerLockDb(pPVar3,2)" identifier (argument_list "(pPVar3,2)" ( identifier , number_literal )))) ;) (expression_statement "pBt_1 = extraout_EDX_09;" (assignment_expression "pBt_1 = extraout_EDX_09" identifier = identifier) ;) (if_statement "if ((1 < wrflag) && (uVar10 == 0)) goto LAB_0009c24e;" if (parenthesized_expression "((1 < wrflag) && (uVar10 == 0))" ( (binary_expression "(1 < wrflag) && (uVar10 == 0)" (parenthesized_expression "(1 < wrflag)" ( (binary_expression "1 < wrflag" number_literal < identifier) )) && (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009c24e;" goto statement_identifier ;)) (labeled_statement "LAB_0009c25e:\n                if (uVar10 != 0) goto LAB_0009c268;" statement_identifier : (if_statement "if (uVar10 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;))) }) (else_clause "else if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }" else (if_statement "if (1 < wrflag) {\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "(1 < wrflag)" ( (binary_expression "1 < wrflag" number_literal < identifier) )) (compound_statement "{\nLAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);\n                pBt_1 = extraout_EDX_07;\n                goto LAB_0009c25e;\n              }" { (labeled_statement "LAB_0009c24e:\n                uVar10 = pager_wait_on_lock(pPVar3,4);" statement_identifier : (expression_statement "uVar10 = pager_wait_on_lock(pPVar3,4);" (assignment_expression "uVar10 = pager_wait_on_lock(pPVar3,4)" identifier = (call_expression "pager_wait_on_lock(pPVar3,4)" identifier (argument_list "(pPVar3,4)" ( identifier , number_literal )))) ;)) (expression_statement "pBt_1 = extraout_EDX_07;" (assignment_expression "pBt_1 = extraout_EDX_07" identifier = identifier) ;) (goto_statement "goto LAB_0009c25e;" goto statement_identifier ;) })))) (labeled_statement "LAB_0009c202:\n              PVar6 = pPVar3->dbSize;" statement_identifier : (expression_statement "PVar6 = pPVar3->dbSize;" (assignment_expression "PVar6 = pPVar3->dbSize" identifier = (field_expression "pPVar3->dbSize" identifier -> field_identifier)) ;)) (expression_statement "pPVar3->eState = '\x02';" (assignment_expression "pPVar3->eState = '\x02'" (field_expression "pPVar3->eState" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "*(undefined4 *)&pPVar3->journalOff = 0;" (assignment_expression "*(undefined4 *)&pPVar3->journalOff = 0" (pointer_expression "*(undefined4 *)&pPVar3->journalOff" * (cast_expression "(undefined4 *)&pPVar3->journalOff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPVar3->journalOff" & (field_expression "pPVar3->journalOff" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pPVar3->dbHintSize = PVar6;" (assignment_expression "pPVar3->dbHintSize = PVar6" (field_expression "pPVar3->dbHintSize" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar3->dbFileSize = PVar6;" (assignment_expression "pPVar3->dbFileSize = PVar6" (field_expression "pPVar3->dbFileSize" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar3->dbOrigSize = PVar6;" (assignment_expression "pPVar3->dbOrigSize = PVar6" (field_expression "pPVar3->dbOrigSize" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pPVar3->journalOff + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pPVar3->journalOff + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pPVar3->journalOff + 4)" * (cast_expression "(undefined4 *)((int)&pPVar3->journalOff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar3->journalOff + 4)" ( (binary_expression "(int)&pPVar3->journalOff + 4" (cast_expression "(int)&pPVar3->journalOff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar3->journalOff" & (field_expression "pPVar3->journalOff" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) })) (if_statement "if (pBt->nPage == 0) {\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }" if (parenthesized_expression "(pBt->nPage == 0)" ( (binary_expression "pBt->nPage == 0" (field_expression "pBt->nPage" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              uVar14 = newDatabase((BtShared *)wrflag);\n              pBt_1 = extraout_EDX_03;\n              goto LAB_0009be9a;\n            }" { (expression_statement "uVar14 = newDatabase((BtShared *)wrflag);" (assignment_expression "uVar14 = newDatabase((BtShared *)wrflag)" identifier = (call_expression "newDatabase((BtShared *)wrflag)" identifier (argument_list "((BtShared *)wrflag)" ( (cast_expression "(BtShared *)wrflag" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pBt_1 = extraout_EDX_03;" (assignment_expression "pBt_1 = extraout_EDX_03" identifier = identifier) ;) (goto_statement "goto LAB_0009be9a;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bea2;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c268:\n          if (uVar10 != 0x205) goto LAB_0009bfa0;" statement_identifier : (if_statement "if (uVar10 != 0x205) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar10 != 0x205)" ( (binary_expression "uVar10 != 0x205" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;))) (labeled_statement "LAB_0009c274:\n          if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }" statement_identifier : (if_statement "if (pBt->inTransaction != '\0') {\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }" if (parenthesized_expression "(pBt->inTransaction != '\0')" ( (binary_expression "pBt->inTransaction != '\0'" (field_expression "pBt->inTransaction" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar10 = 0x205;\n            goto LAB_0009bf60;\n          }" { (expression_statement "uVar10 = 0x205;" (assignment_expression "uVar10 = 0x205" identifier = number_literal) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (expression_statement "uVar14 = 5;" (assignment_expression "uVar14 = 5" identifier = number_literal) ;) (expression_statement "uVar10 = 5;" (assignment_expression "uVar10 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0009be4e:\n          unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);" statement_identifier : (expression_statement "unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1);" (call_expression "unlockBtreeIfUnused((BtShared *)&pBt->pPage1,pBt_1)" identifier (argument_list "((BtShared *)&pBt->pPage1,pBt_1)" ( (cast_expression "(BtShared *)&pBt->pPage1" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBt->pPage1" & (field_expression "pBt->pPage1" identifier -> field_identifier))) , identifier ))) ;)) }) (else_clause "else {\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }" else (compound_statement "{\nLAB_0009be9a:\n          uVar10 = uVar14;\n          if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }\nLAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;\n          if (pBt->inTransaction == '\0') goto LAB_0009be4e;\n        }" { (labeled_statement "LAB_0009be9a:\n          uVar10 = uVar14;" statement_identifier : (expression_statement "uVar10 = uVar14;" (assignment_expression "uVar10 = uVar14" identifier = identifier) ;)) (if_statement "if (uVar14 == 0) {\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }\n            if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }\n            p->inTrans = '\x02';\n            if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }\n            pMVar13 = pBt->pPage1;\n            pBt->pWriter = p;\n            uVar7 = pBt->btsFlags & 0xffbf;\n            if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }\n            pBt->btsFlags = uVar7;\n            uVar10 = *(uint *)(pMVar13->aData + 0x1c);\n            if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }\n            if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;\n            goto LAB_0009bf20;\n          }" { (labeled_statement "LAB_0009bea2:\n            if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }" statement_identifier : (if_statement "if ((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')) {\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }" if (parenthesized_expression "((p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0'))" ( (binary_expression "(p->inTrans == '\0') &&\n               (pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')" (parenthesized_expression "(p->inTrans == '\0')" ( (binary_expression "p->inTrans == '\0'" (field_expression "p->inTrans" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0')" ( (comma_expression "pBt->nTransaction = pBt->nTransaction + 1, p->sharable != '\0'" (assignment_expression "pBt->nTransaction = pBt->nTransaction + 1" (field_expression "pBt->nTransaction" identifier -> field_identifier) = (binary_expression "pBt->nTransaction + 1" (field_expression "pBt->nTransaction" identifier -> field_identifier) + number_literal)) , (binary_expression "p->sharable != '\0'" (field_expression "p->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n              (p->lock).eLock = '\x01';\n              (p->lock).pNext = pBt->pLock;\n              pBt->pLock = &p->lock;\n            }" { (expression_statement "(p->lock).eLock = '\x01';" (assignment_expression "(p->lock).eLock = '\x01'" (field_expression "(p->lock).eLock" (parenthesized_expression "(p->lock)" ( (field_expression "p->lock" identifier -> field_identifier) )) . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "(p->lock).pNext = pBt->pLock;" (assignment_expression "(p->lock).pNext = pBt->pLock" (field_expression "(p->lock).pNext" (parenthesized_expression "(p->lock)" ( (field_expression "p->lock" identifier -> field_identifier) )) . field_identifier) = (field_expression "pBt->pLock" identifier -> field_identifier)) ;) (expression_statement "pBt->pLock = &p->lock;" (assignment_expression "pBt->pLock = &p->lock" (field_expression "pBt->pLock" identifier -> field_identifier) = (pointer_expression "&p->lock" & (field_expression "p->lock" identifier -> field_identifier))) ;) }))) (if_statement "if ((sqlite3 *)wrflag == (sqlite3 *)0x0) {\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }" if (parenthesized_expression "((sqlite3 *)wrflag == (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)wrflag == (sqlite3 *)0x0" (cast_expression "(sqlite3 *)wrflag" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              p->inTrans = '\x01';\n              if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }\n              goto LAB_0009c0f6;\n            }" { (expression_statement "p->inTrans = '\x01';" (assignment_expression "p->inTrans = '\x01'" (field_expression "p->inTrans" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (pBt->inTransaction == '\0') {\n                pBt->inTransaction = '\x01';\n              }" if (parenthesized_expression "(pBt->inTransaction == '\0')" ( (binary_expression "pBt->inTransaction == '\0'" (field_expression "pBt->inTransaction" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                pBt->inTransaction = '\x01';\n              }" { (expression_statement "pBt->inTransaction = '\x01';" (assignment_expression "pBt->inTransaction = '\x01'" (field_expression "pBt->inTransaction" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (goto_statement "goto LAB_0009c0f6;" goto statement_identifier ;) })) (expression_statement "p->inTrans = '\x02';" (assignment_expression "p->inTrans = '\x02'" (field_expression "p->inTrans" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) (if_statement "if (pBt->inTransaction < 2) {\n              pBt->inTransaction = '\x02';\n            }" if (parenthesized_expression "(pBt->inTransaction < 2)" ( (binary_expression "pBt->inTransaction < 2" (field_expression "pBt->inTransaction" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n              pBt->inTransaction = '\x02';\n            }" { (expression_statement "pBt->inTransaction = '\x02';" (assignment_expression "pBt->inTransaction = '\x02'" (field_expression "pBt->inTransaction" identifier -> field_identifier) = (char_literal "'\x02'" ' escape_sequence ')) ;) })) (expression_statement "pMVar13 = pBt->pPage1;" (assignment_expression "pMVar13 = pBt->pPage1" identifier = (field_expression "pBt->pPage1" identifier -> field_identifier)) ;) (expression_statement "pBt->pWriter = p;" (assignment_expression "pBt->pWriter = p" (field_expression "pBt->pWriter" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar7 = pBt->btsFlags & 0xffbf;" (assignment_expression "uVar7 = pBt->btsFlags & 0xffbf" identifier = (binary_expression "pBt->btsFlags & 0xffbf" (field_expression "pBt->btsFlags" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (1 < wrflag) {\n              uVar7 = uVar7 | 0x40;\n            }" if (parenthesized_expression "(1 < wrflag)" ( (binary_expression "1 < wrflag" number_literal < identifier) )) (compound_statement "{\n              uVar7 = uVar7 | 0x40;\n            }" { (expression_statement "uVar7 = uVar7 | 0x40;" (assignment_expression "uVar7 = uVar7 | 0x40" identifier = (binary_expression "uVar7 | 0x40" identifier | number_literal)) ;) })) (expression_statement "pBt->btsFlags = uVar7;" (assignment_expression "pBt->btsFlags = uVar7" (field_expression "pBt->btsFlags" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar10 = *(uint *)(pMVar13->aData + 0x1c);" (assignment_expression "uVar10 = *(uint *)(pMVar13->aData + 0x1c)" identifier = (pointer_expression "*(uint *)(pMVar13->aData + 0x1c)" * (cast_expression "(uint *)(pMVar13->aData + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pMVar13->aData + 0x1c)" ( (binary_expression "pMVar13->aData + 0x1c" (field_expression "pMVar13->aData" identifier -> field_identifier) + number_literal) ))))) ;) (if_statement "if (pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )) {\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }" if (parenthesized_expression "(pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                ))" ( (binary_expression "pBt->nPage !=\n                (uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )" (field_expression "pBt->nPage" identifier -> field_identifier) != (parenthesized_expression "(uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n                )" ( (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal)) ))) )) (compound_statement "{\n              uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);\n              if (uVar10 != 0) goto LAB_0009bf60;\n              uVar10 = pBt->nPage;\n              *(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n            }" { (expression_statement "uVar10 = sqlite3PagerWrite(pMVar13->pDbPage);" (assignment_expression "uVar10 = sqlite3PagerWrite(pMVar13->pDbPage)" identifier = (call_expression "sqlite3PagerWrite(pMVar13->pDbPage)" identifier (argument_list "(pMVar13->pDbPage)" ( (field_expression "pMVar13->pDbPage" identifier -> field_identifier) )))) ;) (if_statement "if (uVar10 != 0) goto LAB_0009bf60;" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (expression_statement "uVar10 = pBt->nPage;" (assignment_expression "uVar10 = pBt->nPage" identifier = (field_expression "pBt->nPage" identifier -> field_identifier)) ;) (expression_statement "*(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "*(uint *)(pMVar13->aData + 0x1c) =\n                   uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (pointer_expression "*(uint *)(pMVar13->aData + 0x1c)" * (cast_expression "(uint *)(pMVar13->aData + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pMVar13->aData + 0x1c)" ( (binary_expression "pMVar13->aData + 0x1c" (field_expression "pMVar13->aData" identifier -> field_identifier) + number_literal) )))) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) })) (if_statement "if ((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0) goto LAB_0009bf3c;" if (parenthesized_expression "((sqlite3 *)pSchemaVersion == (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)pSchemaVersion == (sqlite3 *)0x0" (cast_expression "(sqlite3 *)pSchemaVersion" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf3c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;) })) (labeled_statement "LAB_0009bfa0:\n          uVar14 = uVar10 & 0xff;" statement_identifier : (expression_statement "uVar14 = uVar10 & 0xff;" (assignment_expression "uVar14 = uVar10 & 0xff" identifier = (binary_expression "uVar10 & 0xff" identifier & number_literal)) ;)) (if_statement "if (pBt->inTransaction == '\0') goto LAB_0009be4e;" if (parenthesized_expression "(pBt->inTransaction == '\0')" ( (binary_expression "pBt->inTransaction == '\0'" (field_expression "pBt->inTransaction" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;)) }))) (if_statement "if (((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)) goto LAB_0009bf60;" if (parenthesized_expression "(((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0))" ( (binary_expression "((uVar14 != 5) || (pBt->inTransaction != '\0')) ||\n           (iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)" (parenthesized_expression "((uVar14 != 5) || (pBt->inTransaction != '\0'))" ( (binary_expression "(uVar14 != 5) || (pBt->inTransaction != '\0')" (parenthesized_expression "(uVar14 != 5)" ( (binary_expression "uVar14 != 5" identifier != number_literal) )) || (parenthesized_expression "(pBt->inTransaction != '\0')" ( (binary_expression "pBt->inTransaction != '\0'" (field_expression "pBt->inTransaction" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0)" ( (comma_expression "iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd),\n           pBt_1 = extraout_EDX, iVar11 == 0" (assignment_expression "iVar11 = sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd)" identifier = (call_expression "sqlite3InvokeBusyHandler(&pBt->db->busyHandler,pBt->pPager->fd)" identifier (argument_list "(&pBt->db->busyHandler,pBt->pPager->fd)" ( (pointer_expression "&pBt->db->busyHandler" & (field_expression "pBt->db->busyHandler" (field_expression "pBt->db" identifier -> field_identifier) -> field_identifier)) , (field_expression "pBt->pPager->fd" (field_expression "pBt->pPager" identifier -> field_identifier) -> field_identifier) )))) , (comma_expression "pBt_1 = extraout_EDX, iVar11 == 0" (assignment_expression "pBt_1 = extraout_EDX" identifier = identifier) , (binary_expression "iVar11 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (labeled_statement "LAB_0009be84:\n        pMVar13 = pBt->pPage1;" statement_identifier : (expression_statement "pMVar13 = pBt->pPage1;" (assignment_expression "pMVar13 = pBt->pPage1" identifier = (field_expression "pBt->pPage1" identifier -> field_identifier)) ;)) (expression_statement "uVar14 = uVar10;" (assignment_expression "uVar14 = uVar10" identifier = identifier) ;) (goto_statement "goto LAB_0009be87;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c0f6:\n    if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;" statement_identifier : (if_statement "if ((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0) goto LAB_0009bf20;" if (parenthesized_expression "((sqlite3 *)pSchemaVersion != (sqlite3 *)0x0)" ( (binary_expression "(sqlite3 *)pSchemaVersion != (sqlite3 *)0x0" (cast_expression "(sqlite3 *)pSchemaVersion" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;))) }))) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0009bf60:\n  if (p->sharable != '\0') {\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }" statement_identifier : (if_statement "if (p->sharable != '\0') {\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }" if (parenthesized_expression "(p->sharable != '\0')" ( (binary_expression "p->sharable != '\0'" (field_expression "p->sharable" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    piVar5 = &p->wantToLock;\n    *piVar5 = *piVar5 + -1;\n    if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }\n  }" { (expression_statement "piVar5 = &p->wantToLock;" (assignment_expression "piVar5 = &p->wantToLock" identifier = (pointer_expression "&p->wantToLock" & (field_expression "p->wantToLock" identifier -> field_identifier))) ;) (expression_statement "*piVar5 = *piVar5 + -1;" (assignment_expression "*piVar5 = *piVar5 + -1" (pointer_expression "*piVar5" * identifier) = (binary_expression "*piVar5 + -1" (pointer_expression "*piVar5" * identifier) + number_literal)) ;) (if_statement "if (*piVar5 == 0) {\n      sqlite3BtreeLeave(p);\n    }" if (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n      sqlite3BtreeLeave(p);\n    }" { (expression_statement "sqlite3BtreeLeave(p);" (call_expression "sqlite3BtreeLeave(p)" identifier (argument_list "(p)" ( identifier ))) ;) })) }))) (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return uVar10;" return identifier ;) })))
(translation_unit "uint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    \n  FUN_00116110();\n}\n\n" (function_definition "uint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    \n  FUN_00116110();\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0009bd10(int *param_1,int param_2,uint *param_3)" identifier (parameter_list "(int *param_1,int param_2,uint *param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    \n  FUN_00116110();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "short sVar6;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "piVar2 = (int *)param_1[1];" (assignment_expression "piVar2 = (int *)param_1[1]" identifier = (cast_expression "(int *)param_1[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }" if (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_00048b40();\n  }" { (expression_statement "FUN_00048b40();" (call_expression "FUN_00048b40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" if (parenthesized_expression "((char)param_1[2] == '\x02')" ( (binary_expression "(char)param_1[2] == '\x02'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }" { (if_statement "if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" if (parenthesized_expression "(param_3 != (uint *)0x0)" ( (binary_expression "param_3 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" { (labeled_statement "LAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" statement_identifier : (expression_statement "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" (assignment_expression "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" identifier = (pointer_expression "*(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" * (cast_expression "(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar2[3] + 0x38) + 0x28)" ( (binary_expression "*(int *)(piVar2[3] + 0x38) + 0x28" (pointer_expression "*(int *)(piVar2[3] + 0x38)" * (cast_expression "(int *)(piVar2[3] + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[3] + 0x38)" ( (binary_expression "piVar2[3] + 0x38" (subscript_expression "piVar2[3]" identifier [ number_literal ]) + number_literal) )))) + number_literal) ))))) ;)) (expression_statement "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (if_statement "if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" { (labeled_statement "LAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" statement_identifier : (if_statement "if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" if (parenthesized_expression "((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0'))" ( (binary_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')" (parenthesized_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8))" ( (binary_expression "*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)" (pointer_expression "*(int *)(*piVar2 + 0x60)" * (cast_expression "(int *)(*piVar2 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x60)" ( (binary_expression "*piVar2 + 0x60" (pointer_expression "*piVar2" * identifier) + number_literal) )))) < (pointer_expression "*(int *)(*param_1 + 0x1c8)" * (cast_expression "(int *)(*param_1 + 0x1c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1c8)" ( (binary_expression "*param_1 + 0x1c8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) && (parenthesized_expression "(*(char *)(*piVar2 + 6) != '\0')" ( (binary_expression "*(char *)(*piVar2 + 6) != '\0'" (pointer_expression "*(char *)(*piVar2 + 6)" * (cast_expression "(char *)(*piVar2 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 6)" ( (binary_expression "*piVar2 + 6" (pointer_expression "*piVar2" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" { (expression_statement "uVar8 = FUN_00044380();" (assignment_expression "uVar8 = FUN_00044380()" identifier = (call_expression "FUN_00044380()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) })) }) (else_clause "else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" else (compound_statement "{\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" { (if_statement "if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" if (parenthesized_expression "(((char)param_1[2] != '\x01') || (param_2 != 0))" ( (binary_expression "((char)param_1[2] != '\x01') || (param_2 != 0)" (parenthesized_expression "((char)param_1[2] != '\x01')" ( (binary_expression "(char)param_1[2] != '\x01'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) != (char_literal "'\x01'" ' escape_sequence ')) )) || (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" { (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16);" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16)" identifier = (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" if (parenthesized_expression "(((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0'))" ( (binary_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')" (parenthesized_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0)" ( (binary_expression "(*(byte *)(*param_1 + 0x1f) & 2) == 0" (parenthesized_expression "(*(byte *)(*param_1 + 0x1f) & 2)" ( (binary_expression "*(byte *)(*param_1 + 0x1f) & 2" (pointer_expression "*(byte *)(*param_1 + 0x1f)" * (cast_expression "(byte *)(*param_1 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x1f)" ( (binary_expression "*param_1 + 0x1f" (pointer_expression "*param_1" * identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(char *)(*piVar2 + 0xe) != '\0')" ( (binary_expression "*(char *)(*piVar2 + 0xe) != '\0'" (pointer_expression "*(char *)(*piVar2 + 0xe)" * (cast_expression "(char *)(*piVar2 + 0xe)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0xe)" ( (binary_expression "*piVar2 + 0xe" (pointer_expression "*piVar2" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }" { (if_statement "if ((uVar5 & 1) == 0) goto LAB_0009bd81;" if (parenthesized_expression "((uVar5 & 1) == 0)" ( (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0009bd81;" goto statement_identifier ;)) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" identifier = number_literal) ;) (if_statement "if (param_2 != 0) goto LAB_0009bf60;" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (labeled_statement "LAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" statement_identifier : (if_statement "if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" if (parenthesized_expression "((uVar5 & 0x80) != 0)" ( (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" ( (binary_expression "uVar5 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" { (labeled_statement "LAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];" statement_identifier : (expression_statement "iVar9 = *(int *)piVar2[0x13];" (assignment_expression "iVar9 = *(int *)piVar2[0x13]" identifier = (pointer_expression "*(int *)piVar2[0x13]" * (cast_expression "(int *)piVar2[0x13]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x13]" identifier [ number_literal ])))) ;)) (goto_statement "goto LAB_0009bde5;" goto statement_identifier ;) }))) }) (else_clause "else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" else (compound_statement "{\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" { (expression_statement "uVar5 = uVar5 & 0xfffe;" (assignment_expression "uVar5 = uVar5 & 0xfffe" identifier = (binary_expression "uVar5 & 0xfffe" identifier & number_literal)) ;) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;" statement_identifier : (if_statement "if (param_2 == 0) goto LAB_0009bddc;" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009bddc;" goto statement_identifier ;))) (if_statement "if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;" if (parenthesized_expression "(((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0))" ( (binary_expression "((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)" (parenthesized_expression "((char)piVar2[5] == '\x02')" ( (binary_expression "(char)piVar2[5] == '\x02'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "((uVar5 & 0x80) != 0)" ( (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" ( (binary_expression "uVar5 & 0x80" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0009bde0;" goto statement_identifier ;)) (if_statement "if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;" if (parenthesized_expression "((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))" ( (binary_expression "(param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" (parenthesized_expression "(param_2 < 2)" ( (binary_expression "param_2 < 2" identifier < number_literal) )) || (parenthesized_expression "(puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" ( (comma_expression "puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0" (assignment_expression "puVar7 = (undefined4 *)piVar2[0x12]" identifier = (cast_expression "(undefined4 *)piVar2[0x12]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0x12]" identifier [ number_literal ]))) , (binary_expression "puVar7 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) (expression_statement "piVar13 = (int *)*puVar7;" (assignment_expression "piVar13 = (int *)*puVar7" identifier = (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }" if (parenthesized_expression "(param_1 == piVar13)" ( (binary_expression "param_1 == piVar13" identifier == identifier) )) (compound_statement "{\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }" { (do_statement "do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);" do (compound_statement "{\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          }" { (expression_statement "puVar7 = (undefined4 *)puVar7[3];" (assignment_expression "puVar7 = (undefined4 *)puVar7[3]" identifier = (cast_expression "(undefined4 *)puVar7[3]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar7[3]" identifier [ number_literal ]))) ;) (if_statement "if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;" if (parenthesized_expression "(puVar7 == (undefined4 *)0x0)" ( (binary_expression "puVar7 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bded;" goto statement_identifier ;)) }) while (parenthesized_expression "((int *)*puVar7 == piVar13)" ( (binary_expression "(int *)*puVar7 == piVar13" (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)) == identifier) )) ;) (expression_statement "iVar9 = *(int *)*puVar7;" (assignment_expression "iVar9 = *(int *)*puVar7" identifier = (pointer_expression "*(int *)*puVar7" * (cast_expression "(int *)*puVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier)))) ;) }) (else_clause "else {\n          iVar9 = *piVar13;\n        }" else (compound_statement "{\n          iVar9 = *piVar13;\n        }" { (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) }))) (labeled_statement "LAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" statement_identifier : (if_statement "if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" { (expression_statement "uVar8 = 0x106;" (assignment_expression "uVar8 = 0x106" identifier = number_literal) ;) (expression_statement "FUN_0003ade0();" (call_expression "FUN_0003ade0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_0009bded:\n      uVar8 = FUN_0003ae70();" statement_identifier : (expression_statement "uVar8 = FUN_0003ae70();" (assignment_expression "uVar8 = FUN_0003ae70()" identifier = (call_expression "FUN_0003ae70()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" { (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef" identifier = (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffef" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" if (parenthesized_expression "(piVar2[0xb] == 0)" ( (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" { (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar5 | 0x10" identifier | number_literal)) ;) })) (expression_statement "piVar13 = piVar2 + 3;" (assignment_expression "piVar13 = piVar2 + 3" identifier = (binary_expression "piVar2 + 3" identifier + number_literal)) ;) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" statement_identifier : (while_statement "while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" { (expression_statement "uVar8 = FUN_0009b420(param_2,param_3,piVar13);" (assignment_expression "uVar8 = FUN_0009b420(param_2,param_3,piVar13)" identifier = (call_expression "FUN_0009b420(param_2,param_3,piVar13)" identifier (argument_list "(param_2,param_3,piVar13)" ( identifier , identifier , identifier )))) ;) (if_statement "if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;" if (parenthesized_expression "((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0))" ( (binary_expression "(uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)" (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) || (parenthesized_expression "(uVar8 = FUN_00038b40(0), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_00038b40(0), uVar8 != 0" (assignment_expression "uVar8 = FUN_00038b40(0)" identifier = (call_expression "FUN_00038b40(0)" identifier (argument_list "(0)" ( number_literal )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (expression_statement "uVar12 = *(uint *)(*piVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(*piVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(*piVar2 + 0x18)" * (cast_expression "(uint *)(*piVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + 0x18)" ( (binary_expression "*piVar2 + 0x18" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) ;) (expression_statement "piVar3 = *(int **)(local_28 + 0x38);" (assignment_expression "piVar3 = *(int **)(local_28 + 0x38)" identifier = (pointer_expression "*(int **)(local_28 + 0x38)" * (cast_expression "(int **)(local_28 + 0x38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_28 + 0x38)" ( (binary_expression "local_28 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = piVar3[7];" (assignment_expression "uVar11 = piVar3[7]" identifier = (subscript_expression "piVar3[7]" identifier [ number_literal ])) ;) (expression_statement "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" identifier = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;" (assignment_expression "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000" identifier = (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x2000000" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" * (cast_expression "(uint *)(piVar2[1] + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[1] + 0x1c)" ( (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal)) ;) (if_statement "if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" if (parenthesized_expression "((local_38 == 0) || (piVar3[6] != piVar3[0x17]))" ( (binary_expression "(local_38 == 0) || (piVar3[6] != piVar3[0x17])" (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) || (parenthesized_expression "(piVar3[6] != piVar3[0x17])" ( (binary_expression "piVar3[6] != piVar3[0x17]" (subscript_expression "piVar3[6]" identifier [ number_literal ]) != (subscript_expression "piVar3[0x17]" identifier [ number_literal ])) ))) )) (compound_statement "{\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }" { (if_statement "if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;" if (parenthesized_expression "((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0))" ( (binary_expression "(uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)" (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_38 = uVar12, uVar11 != 0)" ( (comma_expression "local_38 = uVar12, uVar11 != 0" (assignment_expression "local_38 = uVar12" identifier = identifier) , (binary_expression "uVar11 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009c02c;" goto statement_identifier ;)) (labeled_statement "LAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" statement_identifier : (if_statement "if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" if (parenthesized_expression "((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074))" ( (binary_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)" (parenthesized_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                )" ( (binary_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)" (parenthesized_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574))" ( (binary_expression "(*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)" (parenthesized_expression "(*piVar3 != 0x694c5153)" ( (binary_expression "*piVar3 != 0x694c5153" (pointer_expression "*piVar3" * identifier) != number_literal) )) || (parenthesized_expression "(piVar3[1] != 0x66206574)" ( (binary_expression "piVar3[1] != 0x66206574" (subscript_expression "piVar3[1]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar3[2] != 0x616d726f)" ( (binary_expression "piVar3[2] != 0x616d726f" (subscript_expression "piVar3[2]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar3[3] != 0x332074)" ( (binary_expression "piVar3[3] != 0x332074" (subscript_expression "piVar3[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" { (labeled_statement "LAB_0009c2a4:\n              uVar8 = 0x1a;" statement_identifier : (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" identifier = number_literal) ;)) (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" statement_identifier : (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;))) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" if (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x12))" ( (binary_expression "2 < *(byte *)((int)piVar3 + 0x12)" number_literal < (pointer_expression "*(byte *)((int)piVar3 + 0x12)" * (cast_expression "(byte *)((int)piVar3 + 0x12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x12)" ( (binary_expression "(int)piVar3 + 0x12" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" { (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;" if (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x13))" ( (binary_expression "2 < *(byte *)((int)piVar3 + 0x13)" number_literal < (pointer_expression "*(byte *)((int)piVar3 + 0x13)" * (cast_expression "(byte *)((int)piVar3 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x13)" ( (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" if (parenthesized_expression "((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0))" ( (binary_expression "(*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x13) != 2)" ( (binary_expression "*(byte *)((int)piVar3 + 0x13) != 2" (pointer_expression "*(byte *)((int)piVar3 + 0x13)" * (cast_expression "(byte *)((int)piVar3 + 0x13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x13)" ( (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20)" ( (binary_expression "*(byte *)((int)piVar2 + 0x16) & 0x20" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" * (cast_expression "(byte *)((int)piVar2 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" { (if_statement "if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" if (parenthesized_expression "(((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101))" ( (binary_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)" (parenthesized_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))))" ( (binary_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" (parenthesized_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040)" ( (binary_expression "*(short *)((int)piVar3 + 0x15) != 0x2040" (pointer_expression "*(short *)((int)piVar3 + 0x15)" * (cast_expression "(short *)((int)piVar3 + 0x15)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x15)" ( (binary_expression "(int)piVar3 + 0x15" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" ( (parenthesized_expression "(*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))" ( (binary_expression "*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" (binary_expression "*(char *)((int)piVar3 + 0x17) != ' '" (pointer_expression "*(char *)((int)piVar3 + 0x17)" * (cast_expression "(char *)((int)piVar3 + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x17)" ( (binary_expression "(int)piVar3 + 0x17" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "' '" ' character ')) || (parenthesized_expression "(uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" ( (comma_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0" (assignment_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" identifier = (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)piVar3 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar3 + 0x11)" ( (binary_expression "(int)piVar3 + 0x11" (cast_expression "(int)piVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "(uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)(piVar3 + 4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(piVar3 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 4)" ( (binary_expression "piVar3 + 4" identifier + number_literal) )))) << number_literal))) , (binary_expression "(uVar11 - 1 & uVar11) != 0" (parenthesized_expression "(uVar11 - 1 & uVar11)" ( (binary_expression "uVar11 - 1 & uVar11" (binary_expression "uVar11 - 1" identifier - number_literal) & identifier) )) != number_literal)) ))) )) ))) )) || (parenthesized_expression "(0xfeff < uVar11 - 0x101)" ( (binary_expression "0xfeff < uVar11 - 0x101" number_literal < (binary_expression "uVar11 - 0x101" identifier - number_literal)) ))) )) (compound_statement "{\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" { (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" identifier = number_literal) ;) (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "local_3c = uVar11 - *(byte *)(piVar3 + 5);" (assignment_expression "local_3c = uVar11 - *(byte *)(piVar3 + 5)" identifier = (binary_expression "uVar11 - *(byte *)(piVar3 + 5)" identifier - (pointer_expression "*(byte *)(piVar3 + 5)" * (cast_expression "(byte *)(piVar3 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3 + 5)" ( (binary_expression "piVar3 + 5" identifier + number_literal) )))))) ;) (if_statement "if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" if (parenthesized_expression "(uVar11 == piVar2[8])" ( (binary_expression "uVar11 == piVar2[8]" identifier == (subscript_expression "piVar2[8]" identifier [ number_literal ])) )) (compound_statement "{\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" { (if_statement "if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" if (parenthesized_expression "(((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12))" ( (binary_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)" (parenthesized_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1)" ( (binary_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1" (parenthesized_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001)" ( (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x10000001" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" * (cast_expression "(uint *)(piVar2[1] + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[1] + 0x1c)" ( (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(local_38 <= uVar12)" ( (binary_expression "local_38 <= uVar12" identifier <= identifier) ))) )) (compound_statement "{\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" { (if_statement "if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" if (parenthesized_expression "(0x1df < local_3c)" ( (binary_expression "0x1df < local_3c" number_literal < identifier) )) (compound_statement "{\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" { (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x11)" * (cast_expression "(bool *)((int)piVar2 + 0x11)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x11)" ( (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar3[0xd] != 0" (subscript_expression "piVar3[0xd]" identifier [ number_literal ]) != number_literal)) ;) (expression_statement "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x12)" * (cast_expression "(bool *)((int)piVar2 + 0x12)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x12)" ( (binary_expression "(int)piVar2 + 0x12" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar3[0x10] != 0" (subscript_expression "piVar3[0x10]" identifier [ number_literal ]) != number_literal)) ;) (goto_statement "goto LAB_0009c03b;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009c2a4;" goto statement_identifier ;) })) (expression_statement "uVar12 = 0xb;" (assignment_expression "uVar12 = 0xb" identifier = number_literal) ;) (expression_statement "uVar8 = 0xb;" (assignment_expression "uVar8 = 0xb" identifier = number_literal) ;) (expression_statement "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");" (call_expression "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" identifier (argument_list "(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" ( number_literal , (string_literal ""%s at line %d of [%.10s]"" " string_content ") , (string_literal ""database corruption"" " string_content ") , number_literal , (string_literal ""bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1"" " string_content ") ))) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[8] = uVar11;" (assignment_expression "piVar2[8] = uVar11" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" if (parenthesized_expression "(piVar2[0x14] != 0)" ( (binary_expression "piVar2[0x14] != 0" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" { (expression_statement "piVar2[0x14] = piVar2[0x14] + -4;" (assignment_expression "piVar2[0x14] = piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (binary_expression "piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "FUN_000474c0();" (call_expression "FUN_000474c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[0x14] = 0;" (assignment_expression "piVar2[0x14] = 0" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "uVar8 = FUN_00058170();" (assignment_expression "uVar8 = FUN_00058170()" identifier = (call_expression "FUN_00058170()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;)) (goto_statement "goto LAB_0009be84;" goto statement_identifier ;) })) (expression_statement "uVar8 = FUN_000580f0();" (assignment_expression "uVar8 = FUN_000580f0()" identifier = (call_expression "FUN_000580f0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" { (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;" statement_identifier : (expression_statement "uVar12 = uVar8 & 0xff;" (assignment_expression "uVar12 = uVar8 & 0xff" identifier = (binary_expression "uVar8 & 0xff" identifier & number_literal)) ;)) (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be4e;" goto statement_identifier ;)) (goto_statement "goto LAB_0009be57;" goto statement_identifier ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" else (compound_statement "{\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" { (if_statement "if (uVar11 == 0) goto LAB_0009c298;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009c298;" goto statement_identifier ;)) (labeled_statement "LAB_0009c02c:\n            local_3c = piVar2[9];" statement_identifier : (expression_statement "local_3c = piVar2[9];" (assignment_expression "local_3c = piVar2[9]" identifier = (subscript_expression "piVar2[9]" identifier [ number_literal ])) ;)) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0009c03b:\n            piVar2[3] = local_28;" statement_identifier : (expression_statement "piVar2[3] = local_28;" (assignment_expression "piVar2[3] = local_28" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;" (assignment_expression "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" identifier = (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff" (parenthesized_expression "((local_3c + 0x3fffff4) * 0x40)" ( (binary_expression "(local_3c + 0x3fffff4) * 0x40" (parenthesized_expression "(local_3c + 0x3fffff4)" ( (binary_expression "local_3c + 0x3fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) - number_literal)) ;) (expression_statement "*(ushort *)(piVar2 + 6) = (ushort)iVar9;" (assignment_expression "*(ushort *)(piVar2 + 6) = (ushort)iVar9" (pointer_expression "*(ushort *)(piVar2 + 6)" * (cast_expression "(ushort *)(piVar2 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 6)" ( (binary_expression "piVar2 + 6" identifier + number_literal) )))) = (cast_expression "(ushort)iVar9" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;" (assignment_expression "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" identifier = (binary_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" (cast_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(((local_3c + 0x7fffff4) * 0x20) / 0xff)" ( (binary_expression "((local_3c + 0x7fffff4) * 0x20) / 0xff" (parenthesized_expression "((local_3c + 0x7fffff4) * 0x20)" ( (binary_expression "(local_3c + 0x7fffff4) * 0x20" (parenthesized_expression "(local_3c + 0x7fffff4)" ( (binary_expression "local_3c + 0x7fffff4" identifier + number_literal) )) * number_literal) )) / number_literal) ))) + number_literal)) ;) (expression_statement "*(short *)((int)piVar2 + 0x1a) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1a) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1a)" * (cast_expression "(short *)((int)piVar2 + 0x1a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x1a)" ( (binary_expression "(int)piVar2 + 0x1a" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(short *)((int)piVar2 + 0x1e) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1e) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1e)" * (cast_expression "(short *)((int)piVar2 + 0x1e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x1e)" ( (binary_expression "(int)piVar2 + 0x1e" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }" if (parenthesized_expression "(0x7f < (ushort)iVar9)" ( (binary_expression "0x7f < (ushort)iVar9" number_literal < (cast_expression "(ushort)iVar9" ( (type_descriptor "ushort" type_identifier) ) identifier)) )) (compound_statement "{\n              iVar9 = 0x7f;\n            }" { (expression_statement "iVar9 = 0x7f;" (assignment_expression "iVar9 = 0x7f" identifier = number_literal) ;) })) (expression_statement "*(short *)(piVar2 + 7) = (short)local_3c + -0x23;" (assignment_expression "*(short *)(piVar2 + 7) = (short)local_3c + -0x23" (pointer_expression "*(short *)(piVar2 + 7)" * (cast_expression "(short *)(piVar2 + 7)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "(short)local_3c + -0x23" (cast_expression "(short)local_3c" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) + number_literal)) ;) (expression_statement "*(char *)((int)piVar2 + 0x15) = (char)iVar9;" (assignment_expression "*(char *)((int)piVar2 + 0x15) = (char)iVar9" (pointer_expression "*(char *)((int)piVar2 + 0x15)" * (cast_expression "(char *)((int)piVar2 + 0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x15)" ( (binary_expression "(int)piVar2 + 0x15" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0xb] = local_38;" (assignment_expression "piVar2[0xb] = local_38" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar9 = local_28;" (assignment_expression "iVar9 = local_28" identifier = identifier) ;) }))) }))) (if_statement "if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" if (parenthesized_expression "((uVar8 == 0) && (param_2 != 0))" ( (binary_expression "(uVar8 == 0) && (param_2 != 0)" (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" { (if_statement "if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" if (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 1) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 1)" ( (binary_expression "*(byte *)((int)piVar2 + 0x16) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" * (cast_expression "(byte *)((int)piVar2 + 0x16)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" { (labeled_statement "LAB_0009be3a:\n            uVar12 = 8;" statement_identifier : (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;)) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0009be44;" goto statement_identifier ;) })) (expression_statement "iVar9 = *piVar2;" (assignment_expression "iVar9 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "uVar8 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar8 = *(uint *)(iVar9 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar9 + 0x28)" * (cast_expression "(uint *)(iVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x28)" ( (binary_expression "iVar9 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" { (expression_statement "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';" (assignment_expression "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(bool *)(iVar9 + 0x15)" * (cast_expression "(bool *)(iVar9 + 0x15)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x15)" ( (binary_expression "iVar9 + 0x15" identifier + number_literal) )))) = (binary_expression "*(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(char *)(*param_1 + 0x4c)" * (cast_expression "(char *)(*param_1 + 0x4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x4c)" ( (binary_expression "*param_1 + 0x4c" (pointer_expression "*param_1" * identifier) + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence '))) ;) (if_statement "if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" if (parenthesized_expression "(*(char *)(iVar9 + 0x10) == '\x01')" ( (binary_expression "*(char *)(iVar9 + 0x10) == '\x01'" (pointer_expression "*(char *)(iVar9 + 0x10)" * (cast_expression "(char *)(iVar9 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" { (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) (if_statement "if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" { (if_statement "if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" if (parenthesized_expression "((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0'))" ( (binary_expression "(*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')" (parenthesized_expression "(*(char *)(iVar9 + 4) != '\0')" ( (binary_expression "*(char *)(iVar9 + 4) != '\0'" (pointer_expression "*(char *)(iVar9 + 4)" * (cast_expression "(char *)(iVar9 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" { (if_statement "if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5))" ( (binary_expression "(*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 4)" ( (binary_expression "*(byte *)(iVar9 + 0x11) < 4" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) < number_literal) )) || (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" ( (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }" { (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" identifier = (call_expression "FUN_00047f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;" if (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009c17a;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" else (compound_statement "{\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" { (labeled_statement "LAB_0009c17a:\n                    FUN_00048380();" statement_identifier : (expression_statement "FUN_00048380();" (call_expression "FUN_00048380()" identifier (argument_list "()" ( ))) ;)) }))) (expression_statement "*(undefined1 *)(local_38 + 0x2b) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2b) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2b)" * (cast_expression "(undefined1 *)(local_38 + 0x2b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xd4)" * (cast_expression "(int *)(iVar9 + 0xd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xd4)" ( (binary_expression "iVar9 + 0xd4" identifier + number_literal) ))))) ;) })) (if_statement "if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;" if (parenthesized_expression "(*(char *)(local_38 + 0x2e) != '\0')" ( (binary_expression "*(char *)(local_38 + 0x2e) != '\0'" (pointer_expression "*(char *)(local_38 + 0x2e)" * (cast_expression "(char *)(local_38 + 0x2e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2e)" ( (binary_expression "local_38 + 0x2e" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0009be3a;" goto statement_identifier ;)) (if_statement "if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;" if (parenthesized_expression "((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))" ( (binary_expression "(*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0)" (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(uVar8 = FUN_000483a0(), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_000483a0(), uVar8 != 0" (assignment_expression "uVar8 = FUN_000483a0()" identifier = (call_expression "FUN_000483a0()" identifier (argument_list "()" ( )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" * (cast_expression "(undefined1 *)(local_38 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2c)" ( (binary_expression "local_38 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);" (assignment_expression "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" identifier = (call_expression "memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" identifier (argument_list "((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" ( (cast_expression "(void *)(local_38 + 0x34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x34)" ( (binary_expression "local_38 + 0x34" identifier + number_literal) ))) , (cast_expression "(void *)**(undefined4 **)(local_38 + 0x20)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(local_38 + 0x20)" * (pointer_expression "*(undefined4 **)(local_38 + 0x20)" * (cast_expression "(undefined4 **)(local_38 + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_38 + 0x20)" ( (binary_expression "local_38 + 0x20" identifier + number_literal) )))))) , number_literal )))) ;) (if_statement "if (iVar10 == 0) goto LAB_0009c202;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0009c202;" goto statement_identifier ;)) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }" if (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" ( (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" * (cast_expression "(char *)(local_38 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2b)" ( (binary_expression "local_38 + 0x2b" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  FUN_00048420();\n                }" { (expression_statement "FUN_00048420();" (call_expression "FUN_00048420()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" * (cast_expression "(undefined1 *)(local_38 + 0x2c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 0x2c)" ( (binary_expression "local_38 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0009c274;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2))" ( (binary_expression "(*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" ( (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 2)" ( (binary_expression "*(byte *)(iVar9 + 0x11) < 2" (pointer_expression "*(byte *)(iVar9 + 0x11)" * (cast_expression "(byte *)(iVar9 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x11)" ( (binary_expression "iVar9 + 0x11" identifier + number_literal) )))) < number_literal) ))) )) (compound_statement "{\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }" { (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" identifier = (call_expression "FUN_00047f00()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;" if (parenthesized_expression "((1 < param_2) && (uVar8 == 0))" ( (binary_expression "(1 < param_2) && (uVar8 == 0)" (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) && (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_0009c24e;" goto statement_identifier ;)) (labeled_statement "LAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;" statement_identifier : (if_statement "if (uVar8 != 0) goto LAB_0009c268;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009c268;" goto statement_identifier ;))) }) (else_clause "else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" else (if_statement "if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" if (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) (compound_statement "{\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" { (labeled_statement "LAB_0009c24e:\n                uVar8 = FUN_00048060();" statement_identifier : (expression_statement "uVar8 = FUN_00048060();" (assignment_expression "uVar8 = FUN_00048060()" identifier = (call_expression "FUN_00048060()" identifier (argument_list "()" ( )))) ;)) (goto_statement "goto LAB_0009c25e;" goto statement_identifier ;) })))) (labeled_statement "LAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);" statement_identifier : (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined1 *)(iVar9 + 0x10) = 2;" (assignment_expression "*(undefined1 *)(iVar9 + 0x10) = 2" (pointer_expression "*(undefined1 *)(iVar9 + 0x10)" * (cast_expression "(undefined1 *)(iVar9 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x48)" * (cast_expression "(undefined4 *)(iVar9 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x48)" ( (binary_expression "iVar9 + 0x48" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" * (cast_expression "(undefined4 *)(iVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x4c)" * (cast_expression "(undefined4 *)(iVar9 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" if (parenthesized_expression "(piVar2[0xb] == 0)" ( (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" { (expression_statement "uVar8 = FUN_0009bc30();" (assignment_expression "uVar8 = FUN_0009bc30()" identifier = (call_expression "FUN_0009bc30()" identifier (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0009be9a;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bea2;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;" statement_identifier : (if_statement "if (uVar8 != 0x205) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0x205)" ( (binary_expression "uVar8 != 0x205" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;))) (labeled_statement "LAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" statement_identifier : (if_statement "if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" if (parenthesized_expression "((char)piVar2[5] != '\0')" ( (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" { (expression_statement "uVar8 = 0x205;" (assignment_expression "uVar8 = 0x205" identifier = number_literal) ;) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) }))) (expression_statement "uVar12 = 5;" (assignment_expression "uVar12 = 5" identifier = number_literal) ;) (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0009be4e:\n          FUN_0009aff0();" statement_identifier : (expression_statement "FUN_0009aff0();" (call_expression "FUN_0009aff0()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" statement_identifier : (if_statement "if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" if (parenthesized_expression "(((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))" ( (binary_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0)" (parenthesized_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0'))" ( (binary_expression "(uVar12 != 5) || ((char)piVar2[5] != '\0')" (parenthesized_expression "(uVar12 != 5)" ( (binary_expression "uVar12 != 5" identifier != number_literal) )) || (parenthesized_expression "((char)piVar2[5] != '\0')" ( (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(iVar9 = FUN_0003a550(), iVar9 == 0)" ( (comma_expression "iVar9 = FUN_0003a550(), iVar9 == 0" (assignment_expression "iVar9 = FUN_0003a550()" identifier = (call_expression "FUN_0003a550()" identifier (argument_list "()" ( )))) , (binary_expression "iVar9 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;))) (labeled_statement "LAB_0009be84:\n          iVar9 = piVar2[3];" statement_identifier : (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;)) (goto_statement "goto LAB_0009be87;" goto statement_identifier ;) })) (labeled_statement "LAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;" statement_identifier : (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bfa0;" goto statement_identifier ;))) (labeled_statement "LAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" statement_identifier : (if_statement "if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" if (parenthesized_expression "(((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'))" ( (binary_expression "((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" (parenthesized_expression "((char)param_1[2] == '\0')" ( (binary_expression "(char)param_1[2] == '\0'" (cast_expression "(char)param_1[2]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[2]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" ( (comma_expression "piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'" (assignment_expression "piVar2[10] = piVar2[10] + 1" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = (binary_expression "piVar2[10] + 1" (subscript_expression "piVar2[10]" identifier [ number_literal ]) + number_literal)) , (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" { (expression_statement "*(undefined1 *)(param_1 + 10) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 10) = 1" (pointer_expression "*(undefined1 *)(param_1 + 10)" * (cast_expression "(undefined1 *)(param_1 + 10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[0xb] = piVar2[0x12];" (assignment_expression "param_1[0xb] = piVar2[0x12]" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (subscript_expression "piVar2[0x12]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0x12] = (int)(param_1 + 8);" (assignment_expression "piVar2[0x12] = (int)(param_1 + 8)" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = (cast_expression "(int)(param_1 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) ;) }))) (if_statement "if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" { (expression_statement "*(undefined1 *)(param_1 + 2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" if (parenthesized_expression "((char)piVar2[5] == '\0')" ( (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[5]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" { (expression_statement "*(undefined1 *)(piVar2 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar2 + 5)" * (cast_expression "(undefined1 *)(piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0009c0f6;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 2) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 2" (pointer_expression "*(undefined1 *)(param_1 + 2)" * (cast_expression "(undefined1 *)(param_1 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" if (parenthesized_expression "(*(byte *)(piVar2 + 5) < 2)" ( (binary_expression "*(byte *)(piVar2 + 5) < 2" (pointer_expression "*(byte *)(piVar2 + 5)" * (cast_expression "(byte *)(piVar2 + 5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" { (expression_statement "*(undefined1 *)(piVar2 + 5) = 2;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 2" (pointer_expression "*(undefined1 *)(piVar2 + 5)" * (cast_expression "(undefined1 *)(piVar2 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 5)" ( (binary_expression "piVar2 + 5" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" identifier = (subscript_expression "piVar2[3]" identifier [ number_literal ])) ;) (expression_statement "piVar2[0x13] = (int)param_1;" (assignment_expression "piVar2[0x13] = (int)param_1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf" identifier = (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }" if (parenthesized_expression "(1 < param_2)" ( (binary_expression "1 < param_2" number_literal < identifier) )) (compound_statement "{\n          uVar5 = uVar5 | 0x40;\n        }" { (expression_statement "uVar5 = uVar5 | 0x40;" (assignment_expression "uVar5 = uVar5 | 0x40" identifier = (binary_expression "uVar5 | 0x40" identifier | number_literal)) ;) })) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" * (cast_expression "(ushort *)((int)piVar2 + 0x16)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x16)" ( (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);" (assignment_expression "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" ( (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" * (cast_expression "(int *)(iVar9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x38)" ( (binary_expression "iVar9 + 0x38" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" if (parenthesized_expression "(piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18))" ( (binary_expression "piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" (subscript_expression "piVar2[0xb]" identifier [ number_literal ]) != (parenthesized_expression "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" ( (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal)) ))) )) (compound_statement "{\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" { (expression_statement "uVar8 = FUN_00098750();" (assignment_expression "uVar8 = FUN_00098750()" identifier = (call_expression "FUN_00098750()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar8 != 0) goto LAB_0009bf60;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;)) (expression_statement "uVar8 = piVar2[0xb];" (assignment_expression "uVar8 = piVar2[0xb]" identifier = (subscript_expression "piVar2[0xb]" identifier [ number_literal ])) ;) (expression_statement "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" ( (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" * (cast_expression "(int *)(iVar9 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x38)" ( (binary_expression "iVar9 + 0x38" identifier + number_literal) )))) + number_literal) )))) = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (if_statement "if (param_3 == (uint *)0x0) goto LAB_0009bf3c;" if (parenthesized_expression "(param_3 == (uint *)0x0)" ( (binary_expression "param_3 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf3c;" goto statement_identifier ;)) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;) })) (goto_statement "goto LAB_0009bf60;" goto statement_identifier ;) })) (labeled_statement "LAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;" statement_identifier : (if_statement "if (param_3 != (uint *)0x0) goto LAB_0009bf20;" if (parenthesized_expression "(param_3 != (uint *)0x0)" ( (binary_expression "param_3 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0009bf20;" goto statement_identifier ;))) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" statement_identifier : (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" if (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" ( (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" * (cast_expression "(char *)((int)param_1 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 9)" ( (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" { (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" identifier = (binary_expression "param_1 + 3" identifier + number_literal)) ;) (expression_statement "*param_1 = *param_1 + -1;" (assignment_expression "*param_1 = *param_1 + -1" (pointer_expression "*param_1" * identifier) = (binary_expression "*param_1 + -1" (pointer_expression "*param_1" * identifier) + number_literal)) ;) (if_statement "if (*param_1 == 0) {\n      FUN_00048bd0();\n    }" if (parenthesized_expression "(*param_1 == 0)" ( (binary_expression "*param_1 == 0" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n      FUN_00048bd0();\n    }" { (expression_statement "FUN_00048bd0();" (call_expression "FUN_00048bd0()" identifier (argument_list "()" ( ))) ;) })) }))) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar8;\n  }" { (return_statement "return uVar8;" return identifier ;) })) (expression_statement "FUN_00116110();" (call_expression "FUN_00116110()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) }))) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) || (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (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 (pointer_expression * IDENT) + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;)) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) , (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 (pointer_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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) | LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) || (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) )))) & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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) )) || (parenthesized_expression ( (parenthesized_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) + LIT) )))) != (char_literal ' character ')) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT))) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & IDENT) )) != LIT)) ))) )) ))) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto 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) )))) = (binary_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 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 == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (if_statement if (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )) / LIT) - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) )) / LIT) ))) + LIT)) ;) (expression_statement (assignment_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) )))) = IDENT) ;) (expression_statement (assignment_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) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence '))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (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 { (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) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) ))))) ;) (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 ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }))) (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 = (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 ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (goto_statement goto statement_identifier ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (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) )))) = 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 (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) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_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) ) 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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression 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 IDENT + LIT) )))) = LIT) ;) })) (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) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "uint __regparm3 FUN_0009bd10(int *param_1,int param_2,uint *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    \n  FUN_00116110();\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0009bd10(int *param_1,int param_2,uint *param_3)" (identifier "FUN_0009bd10") (parameter_list "(int *param_1,int param_2,uint *param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  int *piVar3;\n  undefined4 uVar4;\n  ushort uVar5;\n  short sVar6;\n  undefined4 *puVar7;\n  uint uVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  uint uVar12;\n  int in_GS_OFFSET;\n  int *piVar13;\n  uint local_3c;\n  uint local_38;\n  int local_28;\n  \n  piVar2 = (int *)param_1[1];\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }\n  if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }\n  uVar8 = 0;\nLAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }\n                    \n  FUN_00116110();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "ushort uVar5;" (type_identifier "ushort") (identifier "uVar5") (; ";")) (declaration "short sVar6;" (sized_type_specifier "short" (short "short")) (identifier "sVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "piVar2 = (int *)param_1[1];" (assignment_expression "piVar2 = (int *)param_1[1]" (identifier "piVar2") (= "=") (cast_expression "(int *)param_1[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    FUN_00048b40();\n  }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" (* "*") (cast_expression "(char *)((int)param_1 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 9)" (( "(") (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    FUN_00048b40();\n  }" ({ "{") (expression_statement "FUN_00048b40();" (call_expression "FUN_00048b40()" (identifier "FUN_00048b40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)param_1[2] == '\x02') {\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }\n  else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" (if "if") (parenthesized_expression "((char)param_1[2] == '\x02')" (( "(") (binary_expression "(char)param_1[2] == '\x02'" (cast_expression "(char)param_1[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n    if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }\n    if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }\n  }" ({ "{") (if_statement "if (param_3 != (uint *)0x0) {\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" (if "if") (parenthesized_expression "(param_3 != (uint *)0x0)" (( "(") (binary_expression "param_3 != (uint *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);\n      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n    }" ({ "{") (labeled_statement "LAB_0009bf20:\n      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" (statement_identifier "LAB_0009bf20") (: ":") (expression_statement "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);" (assignment_expression "uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" (* "*") (cast_expression "(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar2[3] + 0x38) + 0x28)" (( "(") (binary_expression "*(int *)(piVar2[3] + 0x38) + 0x28" (pointer_expression "*(int *)(piVar2[3] + 0x38)" (* "*") (cast_expression "(int *)(piVar2[3] + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2[3] + 0x38)" (( "(") (binary_expression "piVar2[3] + 0x38" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x28")) () ")"))))) (; ";"))) (expression_statement "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar8 << 0x18" (identifier "uVar8") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (if_statement "if (param_2 != 0) {\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }\n    }" ({ "{") (labeled_statement "LAB_0009bf3c:\n      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" (statement_identifier "LAB_0009bf3c") (: ":") (if_statement "if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')) {\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" (if "if") (parenthesized_expression "((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0'))" (( "(") (binary_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&\n         (*(char *)(*piVar2 + 6) != '\0')" (parenthesized_expression "(*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8))" (( "(") (binary_expression "*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)" (pointer_expression "*(int *)(*piVar2 + 0x60)" (* "*") (cast_expression "(int *)(*piVar2 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0x60)" (( "(") (binary_expression "*piVar2 + 0x60" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x60")) () ")")))) (< "<") (pointer_expression "*(int *)(*param_1 + 0x1c8)" (* "*") (cast_expression "(int *)(*param_1 + 0x1c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x1c8)" (( "(") (binary_expression "*param_1 + 0x1c8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x1c8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(*piVar2 + 6) != '\0')" (( "(") (binary_expression "*(char *)(*piVar2 + 6) != '\0'" (pointer_expression "*(char *)(*piVar2 + 6)" (* "*") (cast_expression "(char *)(*piVar2 + 6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 6)" (( "(") (binary_expression "*piVar2 + 6" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "6")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        uVar8 = FUN_00044380();\n        goto LAB_0009bf60;\n      }" ({ "{") (expression_statement "uVar8 = FUN_00044380();" (assignment_expression "uVar8 = FUN_00044380()" (identifier "uVar8") (= "=") (call_expression "FUN_00044380()" (identifier "FUN_00044380") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" (else "else") (compound_statement "{\n    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }\nLAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;\n  }" ({ "{") (if_statement "if (((char)param_1[2] != '\x01') || (param_2 != 0)) {\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" (if "if") (parenthesized_expression "(((char)param_1[2] != '\x01') || (param_2 != 0))" (( "(") (binary_expression "((char)param_1[2] != '\x01') || (param_2 != 0)" (parenthesized_expression "((char)param_1[2] != '\x01')" (( "(") (binary_expression "(char)param_1[2] != '\x01'" (cast_expression "(char)param_1[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar5 = *(ushort *)((int)piVar2 + 0x16);\n      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }\nLAB_0009bded:\n      uVar8 = FUN_0003ae70();\n      if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }\n      goto LAB_0009bf60;\n    }" ({ "{") (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16);" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16)" (identifier "uVar5") (= "=") (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")"))))) (; ";")) (if_statement "if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }\n      else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" (if "if") (parenthesized_expression "(((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0'))" (( "(") (binary_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')" (parenthesized_expression "((*(byte *)(*param_1 + 0x1f) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(*param_1 + 0x1f) & 2) == 0" (parenthesized_expression "(*(byte *)(*param_1 + 0x1f) & 2)" (( "(") (binary_expression "*(byte *)(*param_1 + 0x1f) & 2" (pointer_expression "*(byte *)(*param_1 + 0x1f)" (* "*") (cast_expression "(byte *)(*param_1 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x1f)" (( "(") (binary_expression "*param_1 + 0x1f" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x1f")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(*piVar2 + 0xe) != '\0')" (( "(") (binary_expression "*(char *)(*piVar2 + 0xe) != '\0'" (pointer_expression "*(char *)(*piVar2 + 0xe)" (* "*") (cast_expression "(char *)(*piVar2 + 0xe)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0xe)" (( "(") (binary_expression "*piVar2 + 0xe" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0xe")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if ((uVar5 & 1) == 0) goto LAB_0009bd81;\n        uVar8 = 8;\n        if (param_2 != 0) goto LAB_0009bf60;\nLAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }\n      }" ({ "{") (if_statement "if ((uVar5 & 1) == 0) goto LAB_0009bd81;" (if "if") (parenthesized_expression "((uVar5 & 1) == 0)" (( "(") (binary_expression "(uVar5 & 1) == 0" (parenthesized_expression "(uVar5 & 1)" (( "(") (binary_expression "uVar5 & 1" (identifier "uVar5") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bd81;" (goto "goto") (statement_identifier "LAB_0009bd81") (; ";"))) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" (identifier "uVar8") (= "=") (number_literal "8")) (; ";")) (if_statement "if (param_2 != 0) goto LAB_0009bf60;" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";"))) (labeled_statement "LAB_0009bddc:\n        if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" (statement_identifier "LAB_0009bddc") (: ":") (if_statement "if ((uVar5 & 0x80) != 0) {\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" (if "if") (parenthesized_expression "((uVar5 & 0x80) != 0)" (( "(") (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" (( "(") (binary_expression "uVar5 & 0x80" (identifier "uVar5") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];\n          goto LAB_0009bde5;\n        }" ({ "{") (labeled_statement "LAB_0009bde0:\n          iVar9 = *(int *)piVar2[0x13];" (statement_identifier "LAB_0009bde0") (: ":") (expression_statement "iVar9 = *(int *)piVar2[0x13];" (assignment_expression "iVar9 = *(int *)piVar2[0x13]" (identifier "iVar9") (= "=") (pointer_expression "*(int *)piVar2[0x13]" (* "*") (cast_expression "(int *)piVar2[0x13]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]"))))) (; ";"))) (goto_statement "goto LAB_0009bde5;" (goto "goto") (statement_identifier "LAB_0009bde5") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" (else "else") (compound_statement "{\n        uVar5 = uVar5 & 0xfffe;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\nLAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;\n        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;\n        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;\n        piVar13 = (int *)*puVar7;\n        if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }\nLAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }\n      }" ({ "{") (expression_statement "uVar5 = uVar5 & 0xfffe;" (assignment_expression "uVar5 = uVar5 & 0xfffe" (identifier "uVar5") (= "=") (binary_expression "uVar5 & 0xfffe" (identifier "uVar5") (& "&") (number_literal "0xfffe"))) (; ";")) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (labeled_statement "LAB_0009bd81:\n        if (param_2 == 0) goto LAB_0009bddc;" (statement_identifier "LAB_0009bd81") (: ":") (if_statement "if (param_2 == 0) goto LAB_0009bddc;" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bddc;" (goto "goto") (statement_identifier "LAB_0009bddc") (; ";")))) (if_statement "if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;" (if "if") (parenthesized_expression "(((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0))" (( "(") (binary_expression "((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)" (parenthesized_expression "((char)piVar2[5] == '\x02')" (( "(") (binary_expression "(char)piVar2[5] == '\x02'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((uVar5 & 0x80) != 0)" (( "(") (binary_expression "(uVar5 & 0x80) != 0" (parenthesized_expression "(uVar5 & 0x80)" (( "(") (binary_expression "uVar5 & 0x80" (identifier "uVar5") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009bde0;" (goto "goto") (statement_identifier "LAB_0009bde0") (; ";"))) (if_statement "if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))\n        goto LAB_0009bded;" (if "if") (parenthesized_expression "((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))" (( "(") (binary_expression "(param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" (parenthesized_expression "(param_2 < 2)" (( "(") (binary_expression "param_2 < 2" (identifier "param_2") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0" (assignment_expression "puVar7 = (undefined4 *)piVar2[0x12]" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)piVar2[0x12]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")))) (, ",") (binary_expression "puVar7 == (undefined4 *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0009bded;" (goto "goto") (statement_identifier "LAB_0009bded") (; ";"))) (expression_statement "piVar13 = (int *)*puVar7;" (assignment_expression "piVar13 = (int *)*puVar7" (identifier "piVar13") (= "=") (cast_expression "(int *)*puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (if_statement "if (param_1 == piVar13) {\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }\n        else {\n          iVar9 = *piVar13;\n        }" (if "if") (parenthesized_expression "(param_1 == piVar13)" (( "(") (binary_expression "param_1 == piVar13" (identifier "param_1") (== "==") (identifier "piVar13")) () ")")) (compound_statement "{\n          do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);\n          iVar9 = *(int *)*puVar7;\n        }" ({ "{") (do_statement "do {\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          } while ((int *)*puVar7 == piVar13);" (do "do") (compound_statement "{\n            puVar7 = (undefined4 *)puVar7[3];\n            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;\n          }" ({ "{") (expression_statement "puVar7 = (undefined4 *)puVar7[3];" (assignment_expression "puVar7 = (undefined4 *)puVar7[3]" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)puVar7[3]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;" (if "if") (parenthesized_expression "(puVar7 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar7 == (undefined4 *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009bded;" (goto "goto") (statement_identifier "LAB_0009bded") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((int *)*puVar7 == piVar13)" (( "(") (binary_expression "(int *)*puVar7 == piVar13" (cast_expression "(int *)*puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (== "==") (identifier "piVar13")) () ")")) (; ";")) (expression_statement "iVar9 = *(int *)*puVar7;" (assignment_expression "iVar9 = *(int *)*puVar7" (identifier "iVar9") (= "=") (pointer_expression "*(int *)*puVar7" (* "*") (cast_expression "(int *)*puVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar9 = *piVar13;\n        }" (else "else") (compound_statement "{\n          iVar9 = *piVar13;\n        }" ({ "{") (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" (identifier "iVar9") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (} "}")))) (labeled_statement "LAB_0009bde5:\n        if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" (statement_identifier "LAB_0009bde5") (: ":") (if_statement "if (iVar9 != 0) {\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = 0x106;\n          FUN_0003ade0();\n          goto LAB_0009bf60;\n        }" ({ "{") (expression_statement "uVar8 = 0x106;" (assignment_expression "uVar8 = 0x106" (identifier "uVar8") (= "=") (number_literal "0x106")) (; ";")) (expression_statement "FUN_0003ade0();" (call_expression "FUN_0003ade0()" (identifier "FUN_0003ade0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0009bded:\n      uVar8 = FUN_0003ae70();" (statement_identifier "LAB_0009bded") (: ":") (expression_statement "uVar8 = FUN_0003ae70();" (assignment_expression "uVar8 = FUN_0003ae70()" (identifier "uVar8") (= "=") (call_expression "FUN_0003ae70()" (identifier "FUN_0003ae70") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (uVar8 == 0) {\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" (if "if") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }\n        piVar13 = piVar2 + 3;\n        iVar9 = piVar2[3];\nLAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }\n        if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }\nLAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;\nLAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }\n        if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }\n        *(undefined1 *)(param_1 + 2) = 2;\n        if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }\n        iVar9 = piVar2[3];\n        piVar2[0x13] = (int)param_1;\n        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;\n        if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }\n        *(ushort *)((int)piVar2 + 0x16) = uVar5;\n        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);\n        if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }\n        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;\n        goto LAB_0009bf20;\n      }" ({ "{") (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef" (identifier "uVar5") (= "=") (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffef" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (& "&") (number_literal "0xffef"))) (; ";")) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (piVar2[0xb] == 0) {\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" (if "if") (parenthesized_expression "(piVar2[0xb] == 0)" (( "(") (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;\n        }" ({ "{") (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (binary_expression "uVar5 | 0x10" (identifier "uVar5") (| "|") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "piVar13 = piVar2 + 3;" (assignment_expression "piVar13 = piVar2 + 3" (identifier "piVar13") (= "=") (binary_expression "piVar2 + 3" (identifier "piVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" (identifier "iVar9") (= "=") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (labeled_statement "LAB_0009be87:\n        while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" (statement_identifier "LAB_0009be87") (: ":") (while_statement "while (iVar9 == 0) {\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" (while "while") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = FUN_0009b420(param_2,param_3,piVar13);\n          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;\n          uVar12 = *(uint *)(*piVar2 + 0x18);\n          piVar3 = *(int **)(local_28 + 0x38);\n          uVar11 = piVar3[7];\n          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;\n          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }\n        }" ({ "{") (expression_statement "uVar8 = FUN_0009b420(param_2,param_3,piVar13);" (assignment_expression "uVar8 = FUN_0009b420(param_2,param_3,piVar13)" (identifier "uVar8") (= "=") (call_expression "FUN_0009b420(param_2,param_3,piVar13)" (identifier "FUN_0009b420") (argument_list "(param_2,param_3,piVar13)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "piVar13") () ")")))) (; ";")) (if_statement "if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;" (if "if") (parenthesized_expression "((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0))" (( "(") (binary_expression "(uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)" (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar8 = FUN_00038b40(0), uVar8 != 0)" (( "(") (comma_expression "uVar8 = FUN_00038b40(0), uVar8 != 0" (assignment_expression "uVar8 = FUN_00038b40(0)" (identifier "uVar8") (= "=") (call_expression "FUN_00038b40(0)" (identifier "FUN_00038b40") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (, ",") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009bfa0;" (goto "goto") (statement_identifier "LAB_0009bfa0") (; ";"))) (expression_statement "uVar12 = *(uint *)(*piVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(*piVar2 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(*piVar2 + 0x18)" (* "*") (cast_expression "(uint *)(*piVar2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + 0x18)" (( "(") (binary_expression "*piVar2 + 0x18" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "piVar3 = *(int **)(local_28 + 0x38);" (assignment_expression "piVar3 = *(int **)(local_28 + 0x38)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(local_28 + 0x38)" (* "*") (cast_expression "(int **)(local_28 + 0x38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_28 + 0x38)" (( "(") (binary_expression "local_28 + 0x38" (identifier "local_28") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar11 = piVar3[7];" (assignment_expression "uVar11 = piVar3[7]" (identifier "uVar11") (= "=") (subscript_expression "piVar3[7]" (identifier "piVar3") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (identifier "local_38") (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;" (assignment_expression "uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000" (identifier "uVar11") (= "=") (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x2000000" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" (* "*") (cast_expression "(uint *)(piVar2[1] + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2[1] + 0x1c)" (( "(") (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0x2000000"))) (; ";")) (if_statement "if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }\n          else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" (if "if") (parenthesized_expression "((local_38 == 0) || (piVar3[6] != piVar3[0x17]))" (( "(") (binary_expression "(local_38 == 0) || (piVar3[6] != piVar3[0x17])" (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar3[6] != piVar3[0x17])" (( "(") (binary_expression "piVar3[6] != piVar3[0x17]" (subscript_expression "piVar3[6]" (identifier "piVar3") ([ "[") (number_literal "6") (] "]")) (!= "!=") (subscript_expression "piVar3[0x17]" (identifier "piVar3") ([ "[") (number_literal "0x17") (] "]"))) () ")"))) () ")")) (compound_statement "{\n            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;\nLAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }\n            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;\n            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }\n            uVar8 = FUN_000580f0();\n            if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }\n            uVar8 = 0;\n            FUN_0009afc0();\n            iVar9 = piVar2[3];\n          }" ({ "{") (if_statement "if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;" (if "if") (parenthesized_expression "((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0))" (( "(") (binary_expression "(uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)" (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_38 = uVar12, uVar11 != 0)" (( "(") (comma_expression "local_38 = uVar12, uVar11 != 0" (assignment_expression "local_38 = uVar12" (identifier "local_38") (= "=") (identifier "uVar12")) (, ",") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009c02c;" (goto "goto") (statement_identifier "LAB_0009c02c") (; ";"))) (labeled_statement "LAB_0009c298:\n            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" (statement_identifier "LAB_0009c298") (: ":") (if_statement "if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)) {\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" (if "if") (parenthesized_expression "((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074))" (( "(") (binary_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                ) || (piVar3[3] != 0x332074)" (parenthesized_expression "(((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)\n                )" (( "(") (binary_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)" (parenthesized_expression "((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574))" (( "(") (binary_expression "(*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)" (parenthesized_expression "(*piVar3 != 0x694c5153)" (( "(") (binary_expression "*piVar3 != 0x694c5153" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (!= "!=") (number_literal "0x694c5153")) () ")")) (|| "||") (parenthesized_expression "(piVar3[1] != 0x66206574)" (( "(") (binary_expression "piVar3[1] != 0x66206574" (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x66206574")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar3[2] != 0x616d726f)" (( "(") (binary_expression "piVar3[2] != 0x616d726f" (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0x616d726f")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar3[3] != 0x332074)" (( "(") (binary_expression "piVar3[3] != 0x332074" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0x332074")) () ")"))) () ")")) (compound_statement "{\nLAB_0009c2a4:\n              uVar8 = 0x1a;\n              uVar12 = 0x1a;\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009bf60;\n            }" ({ "{") (labeled_statement "LAB_0009c2a4:\n              uVar8 = 0x1a;" (statement_identifier "LAB_0009c2a4") (: ":") (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" (identifier "uVar8") (= "=") (number_literal "0x1a")) (; ";"))) (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" (identifier "uVar12") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0009be44:\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" (statement_identifier "LAB_0009be44") (: ":") (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" (if "if") (parenthesized_expression "((char)piVar2[5] == '\0')" (( "(") (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009be4e;" (goto "goto") (statement_identifier "LAB_0009be4e") (; ";")))) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")) (} "}")))) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x12)) {\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" (if "if") (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x12))" (( "(") (binary_expression "2 < *(byte *)((int)piVar3 + 0x12)" (number_literal "2") (< "<") (pointer_expression "*(byte *)((int)piVar3 + 0x12)" (* "*") (cast_expression "(byte *)((int)piVar3 + 0x12)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x12)" (( "(") (binary_expression "(int)piVar3 + 0x12" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x12")) () ")"))))) () ")")) (compound_statement "{\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;\n            }" ({ "{") (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 1" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;" (if "if") (parenthesized_expression "(2 < *(byte *)((int)piVar3 + 0x13))" (( "(") (binary_expression "2 < *(byte *)((int)piVar3 + 0x13)" (number_literal "2") (< "<") (pointer_expression "*(byte *)((int)piVar3 + 0x13)" (* "*") (cast_expression "(byte *)((int)piVar3 + 0x13)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x13)" (( "(") (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x13")) () ")"))))) () ")")) (goto_statement "goto LAB_0009c2a4;" (goto "goto") (statement_identifier "LAB_0009c2a4") (; ";"))) (if_statement "if ((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" (if "if") (parenthesized_expression "((*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0))" (( "(") (binary_expression "(*(byte *)((int)piVar3 + 0x13) != 2) ||\n               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" (parenthesized_expression "(*(byte *)((int)piVar3 + 0x13) != 2)" (( "(") (binary_expression "*(byte *)((int)piVar3 + 0x13) != 2" (pointer_expression "*(byte *)((int)piVar3 + 0x13)" (* "*") (cast_expression "(byte *)((int)piVar3 + 0x13)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x13)" (( "(") (binary_expression "(int)piVar3 + 0x13" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x13")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 0x20)" (( "(") (binary_expression "*(byte *)((int)piVar2 + 0x16) & 0x20" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(byte *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;\n              local_3c = uVar11 - *(byte *)(piVar3 + 5);\n              if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }\n              FUN_0009afc0();\n              piVar2[9] = local_3c;\n              piVar2[8] = uVar11;\n              if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }\n              uVar8 = FUN_00058170();\n              if (uVar8 != 0) goto LAB_0009bfa0;\n              goto LAB_0009be84;\n            }" ({ "{") (if_statement "if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)) {\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" (if "if") (parenthesized_expression "(((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101))" (( "(") (binary_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||\n                 (0xfeff < uVar11 - 0x101)" (parenthesized_expression "((*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))))" (( "(") (binary_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040) ||\n                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" (parenthesized_expression "(*(short *)((int)piVar3 + 0x15) != 0x2040)" (( "(") (binary_expression "*(short *)((int)piVar3 + 0x15) != 0x2040" (pointer_expression "*(short *)((int)piVar3 + 0x15)" (* "*") (cast_expression "(short *)((int)piVar3 + 0x15)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x15)" (( "(") (binary_expression "(int)piVar3 + 0x15" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x15")) () ")")))) (!= "!=") (number_literal "0x2040")) () ")")) (|| "||") (parenthesized_expression "((*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))" (( "(") (parenthesized_expression "(*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0))" (( "(") (binary_expression "*(char *)((int)piVar3 + 0x17) != ' ' ||\n                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" (binary_expression "*(char *)((int)piVar3 + 0x17) != ' '" (pointer_expression "*(char *)((int)piVar3 + 0x17)" (* "*") (cast_expression "(char *)((int)piVar3 + 0x17)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x17)" (( "(") (binary_expression "(int)piVar3 + 0x17" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x17")) () ")")))) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) (|| "||") (parenthesized_expression "(uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)" (( "(") (comma_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0" (assignment_expression "uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" (identifier "uVar11") (= "=") (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |\n                             (uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11) << 0x10" (binary_expression "(uint)*(byte *)((int)piVar3 + 0x11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)((int)piVar3 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar3 + 0x11)" (( "(") (binary_expression "(int)piVar3 + 0x11" (cast_expression "(int)piVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar3")) (+ "+") (number_literal "0x11")) () ")")))) (<< "<<") (number_literal "0x10")) (| "|") (binary_expression "(uint)*(byte *)(piVar3 + 4) << 8" (binary_expression "(uint)*(byte *)(piVar3 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(piVar3 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3 + 4)" (( "(") (binary_expression "piVar3 + 4" (identifier "piVar3") (+ "+") (number_literal "4")) () ")")))) (<< "<<") (number_literal "8")))) (, ",") (binary_expression "(uVar11 - 1 & uVar11) != 0" (parenthesized_expression "(uVar11 - 1 & uVar11)" (( "(") (binary_expression "uVar11 - 1 & uVar11" (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) (& "&") (identifier "uVar11")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(0xfeff < uVar11 - 0x101)" (( "(") (binary_expression "0xfeff < uVar11 - 0x101" (number_literal "0xfeff") (< "<") (binary_expression "uVar11 - 0x101" (identifier "uVar11") (- "-") (number_literal "0x101"))) () ")"))) () ")")) (compound_statement "{\n                uVar12 = 0x1a;\n                uVar8 = 0x1a;\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" ({ "{") (expression_statement "uVar12 = 0x1a;" (assignment_expression "uVar12 = 0x1a" (identifier "uVar12") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "uVar8 = 0x1a;" (assignment_expression "uVar8 = 0x1a" (identifier "uVar8") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009be44;" (goto "goto") (statement_identifier "LAB_0009be44") (; ";")) (} "}"))) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)piVar2 + 0x16) | 2" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (expression_statement "local_3c = uVar11 - *(byte *)(piVar3 + 5);" (assignment_expression "local_3c = uVar11 - *(byte *)(piVar3 + 5)" (identifier "local_3c") (= "=") (binary_expression "uVar11 - *(byte *)(piVar3 + 5)" (identifier "uVar11") (- "-") (pointer_expression "*(byte *)(piVar3 + 5)" (* "*") (cast_expression "(byte *)(piVar3 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3 + 5)" (( "(") (binary_expression "piVar3 + 5" (identifier "piVar3") (+ "+") (number_literal "5")) () ")")))))) (; ";")) (if_statement "if (uVar11 == piVar2[8]) {\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" (if "if") (parenthesized_expression "(uVar11 == piVar2[8])" (( "(") (binary_expression "uVar11 == piVar2[8]" (identifier "uVar11") (== "==") (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]"))) () ")")) (compound_statement "{\n                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }\n                uVar12 = 0xb;\n                uVar8 = 0xb;\n                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");\n                FUN_0009afc0();\n                piVar2[3] = 0;\n                goto LAB_0009be44;\n              }" ({ "{") (if_statement "if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" (if "if") (parenthesized_expression "(((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12))" (( "(") (binary_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)" (parenthesized_expression "((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1)" (( "(") (binary_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1" (parenthesized_expression "(*(uint *)(piVar2[1] + 0x1c) & 0x10000001)" (( "(") (binary_expression "*(uint *)(piVar2[1] + 0x1c) & 0x10000001" (pointer_expression "*(uint *)(piVar2[1] + 0x1c)" (* "*") (cast_expression "(uint *)(piVar2[1] + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2[1] + 0x1c)" (( "(") (binary_expression "piVar2[1] + 0x1c" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "0x10000001")) () ")")) (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_38 <= uVar12)" (( "(") (binary_expression "local_38 <= uVar12" (identifier "local_38") (<= "<=") (identifier "uVar12")) () ")"))) () ")")) (compound_statement "{\n                  if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }\n                  goto LAB_0009c2a4;\n                }" ({ "{") (if_statement "if (0x1df < local_3c) {\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" (if "if") (parenthesized_expression "(0x1df < local_3c)" (( "(") (binary_expression "0x1df < local_3c" (number_literal "0x1df") (< "<") (identifier "local_3c")) () ")")) (compound_statement "{\n                    piVar2[9] = local_3c;\n                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;\n                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;\n                    goto LAB_0009c03b;\n                  }" ({ "{") (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x11)" (* "*") (cast_expression "(bool *)((int)piVar2 + 0x11)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x11)" (( "(") (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "piVar3[0xd] != 0" (subscript_expression "piVar3[0xd]" (identifier "piVar3") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;" (assignment_expression "*(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0" (pointer_expression "*(bool *)((int)piVar2 + 0x12)" (* "*") (cast_expression "(bool *)((int)piVar2 + 0x12)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x12)" (( "(") (binary_expression "(int)piVar2 + 0x12" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x12")) () ")")))) (= "=") (binary_expression "piVar3[0x10] != 0" (subscript_expression "piVar3[0x10]" (identifier "piVar3") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0"))) (; ";")) (goto_statement "goto LAB_0009c03b;" (goto "goto") (statement_identifier "LAB_0009c03b") (; ";")) (} "}"))) (goto_statement "goto LAB_0009c2a4;" (goto "goto") (statement_identifier "LAB_0009c2a4") (; ";")) (} "}"))) (expression_statement "uVar12 = 0xb;" (assignment_expression "uVar12 = 0xb" (identifier "uVar12") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "uVar8 = 0xb;" (assignment_expression "uVar8 = 0xb" (identifier "uVar8") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");" (call_expression "FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" (identifier "FUN_0006e260") (argument_list "(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,\n                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1")" (( "(") (number_literal "0xb") (, ",") (string_literal ""%s at line %d of [%.10s]"" (" """) (string_content "%s at line %d of [%.10s]") (" """)) (, ",") (string_literal ""database corruption"" (" """) (string_content "database corruption") (" """)) (, ",") (number_literal "0x10293") (, ",") (string_literal ""bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1"" (" """) (string_content "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009be44;" (goto "goto") (statement_identifier "LAB_0009be44") (; ";")) (} "}"))) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[9] = local_3c;" (assignment_expression "piVar2[9] = local_3c" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "piVar2[8] = uVar11;" (assignment_expression "piVar2[8] = uVar11" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (piVar2[0x14] != 0) {\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" (if "if") (parenthesized_expression "(piVar2[0x14] != 0)" (( "(") (binary_expression "piVar2[0x14] != 0" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar2[0x14] = piVar2[0x14] + -4;\n                FUN_000474c0();\n                piVar2[0x14] = 0;\n              }" ({ "{") (expression_statement "piVar2[0x14] = piVar2[0x14] + -4;" (assignment_expression "piVar2[0x14] = piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (binary_expression "piVar2[0x14] + -4" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "FUN_000474c0();" (call_expression "FUN_000474c0()" (identifier "FUN_000474c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[0x14] = 0;" (assignment_expression "piVar2[0x14] = 0" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_00058170();" (assignment_expression "uVar8 = FUN_00058170()" (identifier "uVar8") (= "=") (call_expression "FUN_00058170()" (identifier "FUN_00058170") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bfa0;" (goto "goto") (statement_identifier "LAB_0009bfa0") (; ";"))) (goto_statement "goto LAB_0009be84;" (goto "goto") (statement_identifier "LAB_0009be84") (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_000580f0();" (assignment_expression "uVar8 = FUN_000580f0()" (identifier "uVar8") (= "=") (call_expression "FUN_000580f0()" (identifier "FUN_000580f0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar8 != 0) {\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_0009afc0();\n              piVar2[3] = 0;\nLAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;\n              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;\n              goto LAB_0009be57;\n            }" ({ "{") (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0009bfa0:\n              uVar12 = uVar8 & 0xff;" (statement_identifier "LAB_0009bfa0") (: ":") (expression_statement "uVar12 = uVar8 & 0xff;" (assignment_expression "uVar12 = uVar8 & 0xff" (identifier "uVar12") (= "=") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff"))) (; ";"))) (if_statement "if ((char)piVar2[5] == '\0') goto LAB_0009be4e;" (if "if") (parenthesized_expression "((char)piVar2[5] == '\0')" (( "(") (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009be4e;" (goto "goto") (statement_identifier "LAB_0009be4e") (; ";"))) (goto_statement "goto LAB_0009be57;" (goto "goto") (statement_identifier "LAB_0009be57") (; ";")) (} "}"))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0009afc0();" (call_expression "FUN_0009afc0()" (identifier "FUN_0009afc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" (identifier "iVar9") (= "=") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" (else "else") (compound_statement "{\n            if (uVar11 == 0) goto LAB_0009c298;\nLAB_0009c02c:\n            local_3c = piVar2[9];\n            local_38 = 0;\nLAB_0009c03b:\n            piVar2[3] = local_28;\n            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;\n            *(ushort *)(piVar2 + 6) = (ushort)iVar9;\n            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;\n            *(short *)((int)piVar2 + 0x1a) = sVar6;\n            *(short *)((int)piVar2 + 0x1e) = sVar6;\n            if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }\n            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;\n            *(char *)((int)piVar2 + 0x15) = (char)iVar9;\n            piVar2[0xb] = local_38;\n            iVar9 = local_28;\n          }" ({ "{") (if_statement "if (uVar11 == 0) goto LAB_0009c298;" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009c298;" (goto "goto") (statement_identifier "LAB_0009c298") (; ";"))) (labeled_statement "LAB_0009c02c:\n            local_3c = piVar2[9];" (statement_identifier "LAB_0009c02c") (: ":") (expression_statement "local_3c = piVar2[9];" (assignment_expression "local_3c = piVar2[9]" (identifier "local_3c") (= "=") (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]"))) (; ";"))) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0009c03b:\n            piVar2[3] = local_28;" (statement_identifier "LAB_0009c03b") (: ":") (expression_statement "piVar2[3] = local_28;" (assignment_expression "piVar2[3] = local_28" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_28")) (; ";"))) (expression_statement "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;" (assignment_expression "iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" (identifier "iVar9") (= "=") (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17" (binary_expression "((local_3c + 0x3fffff4) * 0x40) / 0xff" (parenthesized_expression "((local_3c + 0x3fffff4) * 0x40)" (( "(") (binary_expression "(local_3c + 0x3fffff4) * 0x40" (parenthesized_expression "(local_3c + 0x3fffff4)" (( "(") (binary_expression "local_3c + 0x3fffff4" (identifier "local_3c") (+ "+") (number_literal "0x3fffff4")) () ")")) (* "*") (number_literal "0x40")) () ")")) (/ "/") (number_literal "0xff")) (- "-") (number_literal "0x17"))) (; ";")) (expression_statement "*(ushort *)(piVar2 + 6) = (ushort)iVar9;" (assignment_expression "*(ushort *)(piVar2 + 6) = (ushort)iVar9" (pointer_expression "*(ushort *)(piVar2 + 6)" (* "*") (cast_expression "(ushort *)(piVar2 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 6)" (( "(") (binary_expression "piVar2 + 6" (identifier "piVar2") (+ "+") (number_literal "6")) () ")")))) (= "=") (cast_expression "(ushort)iVar9" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "iVar9"))) (; ";")) (expression_statement "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;" (assignment_expression "sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" (identifier "sVar6") (= "=") (binary_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17" (cast_expression "(short)(((local_3c + 0x7fffff4) * 0x20) / 0xff)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(((local_3c + 0x7fffff4) * 0x20) / 0xff)" (( "(") (binary_expression "((local_3c + 0x7fffff4) * 0x20) / 0xff" (parenthesized_expression "((local_3c + 0x7fffff4) * 0x20)" (( "(") (binary_expression "(local_3c + 0x7fffff4) * 0x20" (parenthesized_expression "(local_3c + 0x7fffff4)" (( "(") (binary_expression "local_3c + 0x7fffff4" (identifier "local_3c") (+ "+") (number_literal "0x7fffff4")) () ")")) (* "*") (number_literal "0x20")) () ")")) (/ "/") (number_literal "0xff")) () ")"))) (+ "+") (number_literal "-0x17"))) (; ";")) (expression_statement "*(short *)((int)piVar2 + 0x1a) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1a) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1a)" (* "*") (cast_expression "(short *)((int)piVar2 + 0x1a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x1a)" (( "(") (binary_expression "(int)piVar2 + 0x1a" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (identifier "sVar6")) (; ";")) (expression_statement "*(short *)((int)piVar2 + 0x1e) = sVar6;" (assignment_expression "*(short *)((int)piVar2 + 0x1e) = sVar6" (pointer_expression "*(short *)((int)piVar2 + 0x1e)" (* "*") (cast_expression "(short *)((int)piVar2 + 0x1e)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x1e)" (( "(") (binary_expression "(int)piVar2 + 0x1e" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x1e")) () ")")))) (= "=") (identifier "sVar6")) (; ";")) (if_statement "if (0x7f < (ushort)iVar9) {\n              iVar9 = 0x7f;\n            }" (if "if") (parenthesized_expression "(0x7f < (ushort)iVar9)" (( "(") (binary_expression "0x7f < (ushort)iVar9" (number_literal "0x7f") (< "<") (cast_expression "(ushort)iVar9" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "iVar9"))) () ")")) (compound_statement "{\n              iVar9 = 0x7f;\n            }" ({ "{") (expression_statement "iVar9 = 0x7f;" (assignment_expression "iVar9 = 0x7f" (identifier "iVar9") (= "=") (number_literal "0x7f")) (; ";")) (} "}"))) (expression_statement "*(short *)(piVar2 + 7) = (short)local_3c + -0x23;" (assignment_expression "*(short *)(piVar2 + 7) = (short)local_3c + -0x23" (pointer_expression "*(short *)(piVar2 + 7)" (* "*") (cast_expression "(short *)(piVar2 + 7)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "(short)local_3c + -0x23" (cast_expression "(short)local_3c" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "local_3c")) (+ "+") (number_literal "-0x23"))) (; ";")) (expression_statement "*(char *)((int)piVar2 + 0x15) = (char)iVar9;" (assignment_expression "*(char *)((int)piVar2 + 0x15) = (char)iVar9" (pointer_expression "*(char *)((int)piVar2 + 0x15)" (* "*") (cast_expression "(char *)((int)piVar2 + 0x15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x15)" (( "(") (binary_expression "(int)piVar2 + 0x15" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (cast_expression "(char)iVar9" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar9"))) (; ";")) (expression_statement "piVar2[0xb] = local_38;" (assignment_expression "piVar2[0xb] = local_38" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "iVar9 = local_28;" (assignment_expression "iVar9 = local_28" (identifier "iVar9") (= "=") (identifier "local_28")) (; ";")) (} "}")))) (} "}")))) (if_statement "if ((uVar8 == 0) && (param_2 != 0)) {\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" (if "if") (parenthesized_expression "((uVar8 == 0) && (param_2 != 0))" (( "(") (binary_expression "(uVar8 == 0) && (param_2 != 0)" (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }\n          iVar9 = *piVar2;\n          uVar8 = *(uint *)(iVar9 + 0x28);\n          if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }\nLAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;\nLAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }\n          uVar12 = 5;\n          uVar8 = 5;\nLAB_0009be4e:\n          FUN_0009aff0();\nLAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;\nLAB_0009be84:\n          iVar9 = piVar2[3];\n          goto LAB_0009be87;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" (if "if") (parenthesized_expression "((*(byte *)((int)piVar2 + 0x16) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((int)piVar2 + 0x16) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x16) & 1)" (( "(") (binary_expression "*(byte *)((int)piVar2 + 0x16) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(byte *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0009be3a:\n            uVar12 = 8;\n            uVar8 = 8;\n            goto LAB_0009be44;\n          }" ({ "{") (labeled_statement "LAB_0009be3a:\n            uVar12 = 8;" (statement_identifier "LAB_0009be3a") (: ":") (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" (identifier "uVar12") (= "=") (number_literal "8")) (; ";"))) (expression_statement "uVar8 = 8;" (assignment_expression "uVar8 = 8" (identifier "uVar8") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_0009be44;" (goto "goto") (statement_identifier "LAB_0009be44") (; ";")) (} "}"))) (expression_statement "iVar9 = *piVar2;" (assignment_expression "iVar9 = *piVar2" (identifier "iVar9") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar9 + 0x28);" (assignment_expression "uVar8 = *(uint *)(iVar9 + 0x28)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar9 + 0x28)" (* "*") (cast_expression "(uint *)(iVar9 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x28)" (( "(") (binary_expression "iVar9 + 0x28" (identifier "iVar9") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (uVar8 == 0) {\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" (if "if") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';\n            if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }\n            if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }\n            goto LAB_0009bea2;\n          }" ({ "{") (expression_statement "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';" (assignment_expression "*(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(bool *)(iVar9 + 0x15)" (* "*") (cast_expression "(bool *)(iVar9 + 0x15)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x15)" (( "(") (binary_expression "iVar9 + 0x15" (identifier "iVar9") (+ "+") (number_literal "0x15")) () ")")))) (= "=") (binary_expression "*(char *)(*param_1 + 0x4c) == '\x02'" (pointer_expression "*(char *)(*param_1 + 0x4c)" (* "*") (cast_expression "(char *)(*param_1 + 0x4c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x4c)" (( "(") (binary_expression "*param_1 + 0x4c" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'")))) (; ";")) (if_statement "if (*(char *)(iVar9 + 0x10) == '\x01') {\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" (if "if") (parenthesized_expression "(*(char *)(iVar9 + 0x10) == '\x01')" (( "(") (binary_expression "*(char *)(iVar9 + 0x10) == '\x01'" (pointer_expression "*(char *)(iVar9 + 0x10)" (* "*") (cast_expression "(char *)(iVar9 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n              local_38 = *(int *)(iVar9 + 0xd4);\n              if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }\n              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }\nLAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);\n              *(undefined1 *)(iVar9 + 0x10) = 2;\n              *(undefined4 *)(iVar9 + 0x48) = 0;\n              *(undefined4 *)(iVar9 + 0x24) = uVar4;\n              *(undefined4 *)(iVar9 + 0x20) = uVar4;\n              *(undefined4 *)(iVar9 + 0x1c) = uVar4;\n              *(undefined4 *)(iVar9 + 0x4c) = 0;\n            }" ({ "{") (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" (identifier "local_38") (= "=") (pointer_expression "*(int *)(iVar9 + 0xd4)" (* "*") (cast_expression "(int *)(iVar9 + 0xd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xd4)" (( "(") (binary_expression "iVar9 + 0xd4" (identifier "iVar9") (+ "+") (number_literal "0xd4")) () ")"))))) (; ";")) (if_statement "if (local_38 != 0) {\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" (if "if") (parenthesized_expression "(local_38 != 0)" (( "(") (binary_expression "local_38 != 0" (identifier "local_38") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }\n                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;\n                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;\n                *(undefined1 *)(local_38 + 0x2c) = 1;\n                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);\n                if (iVar10 == 0) goto LAB_0009c202;\n                if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }\n                *(undefined1 *)(local_38 + 0x2c) = 0;\n                goto LAB_0009c274;\n              }" ({ "{") (if_statement "if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" (if "if") (parenthesized_expression "((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')" (parenthesized_expression "(*(char *)(iVar9 + 4) != '\0')" (( "(") (binary_expression "*(char *)(iVar9 + 4) != '\0'" (pointer_expression "*(char *)(iVar9 + 4)" (* "*") (cast_expression "(char *)(iVar9 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" (* "*") (cast_expression "(char *)(local_38 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2b)" (( "(") (binary_expression "local_38 + 0x2b" (identifier "local_38") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }\n                  *(undefined1 *)(local_38 + 0x2b) = 1;\n                  local_38 = *(int *)(iVar9 + 0xd4);\n                }" ({ "{") (if_statement "if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }\n                  else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" (if "if") (parenthesized_expression "((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5))" (( "(") (binary_expression "(*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 4)" (( "(") (binary_expression "*(byte *)(iVar9 + 0x11) < 4" (pointer_expression "*(byte *)(iVar9 + 0x11)" (* "*") (cast_expression "(byte *)(iVar9 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x11)" (( "(") (binary_expression "iVar9 + 0x11" (identifier "iVar9") (+ "+") (number_literal "0x11")) () ")")))) (< "<") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" (( "(") (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" (* "*") (cast_expression "(byte *)(iVar9 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x11)" (( "(") (binary_expression "iVar9 + 0x11" (identifier "iVar9") (+ "+") (number_literal "0x11")) () ")")))) (== "==") (number_literal "5")) () ")"))) () ")")) (compound_statement "{\n                    uVar8 = FUN_00047f00();\n                    if (uVar8 != 0) goto LAB_0009c268;\n                    local_38 = *(int *)(iVar9 + 0xd4);\n                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;\n                  }" ({ "{") (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" (identifier "uVar8") (= "=") (call_expression "FUN_00047f00()" (identifier "FUN_00047f00") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar8 != 0) goto LAB_0009c268;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009c268;" (goto "goto") (statement_identifier "LAB_0009c268") (; ";"))) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" (identifier "local_38") (= "=") (pointer_expression "*(int *)(iVar9 + 0xd4)" (* "*") (cast_expression "(int *)(iVar9 + 0xd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xd4)" (( "(") (binary_expression "iVar9 + 0xd4" (identifier "iVar9") (+ "+") (number_literal "0xd4")) () ")"))))) (; ";")) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;" (if "if") (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" (* "*") (cast_expression "(char *)(local_38 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2b)" (( "(") (binary_expression "local_38 + 0x2b" (identifier "local_38") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009c17a;" (goto "goto") (statement_identifier "LAB_0009c17a") (; ";"))) (} "}")) (else_clause "else {\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" (else "else") (compound_statement "{\nLAB_0009c17a:\n                    FUN_00048380();\n                  }" ({ "{") (labeled_statement "LAB_0009c17a:\n                    FUN_00048380();" (statement_identifier "LAB_0009c17a") (: ":") (expression_statement "FUN_00048380();" (call_expression "FUN_00048380()" (identifier "FUN_00048380") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (expression_statement "*(undefined1 *)(local_38 + 0x2b) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2b) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2b)" (* "*") (cast_expression "(undefined1 *)(local_38 + 0x2b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2b)" (( "(") (binary_expression "local_38 + 0x2b" (identifier "local_38") (+ "+") (number_literal "0x2b")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_38 = *(int *)(iVar9 + 0xd4);" (assignment_expression "local_38 = *(int *)(iVar9 + 0xd4)" (identifier "local_38") (= "=") (pointer_expression "*(int *)(iVar9 + 0xd4)" (* "*") (cast_expression "(int *)(iVar9 + 0xd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xd4)" (( "(") (binary_expression "iVar9 + 0xd4" (identifier "iVar9") (+ "+") (number_literal "0xd4")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;" (if "if") (parenthesized_expression "(*(char *)(local_38 + 0x2e) != '\0')" (( "(") (binary_expression "*(char *)(local_38 + 0x2e) != '\0'" (pointer_expression "*(char *)(local_38 + 0x2e)" (* "*") (cast_expression "(char *)(local_38 + 0x2e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2e)" (( "(") (binary_expression "local_38 + 0x2e" (identifier "local_38") (+ "+") (number_literal "0x2e")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0009be3a;" (goto "goto") (statement_identifier "LAB_0009be3a") (; ";"))) (if_statement "if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))\n                goto LAB_0009c268;" (if "if") (parenthesized_expression "((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))" (( "(") (binary_expression "(*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0)" (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" (* "*") (cast_expression "(char *)(local_38 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2b)" (( "(") (binary_expression "local_38 + 0x2b" (identifier "local_38") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(uVar8 = FUN_000483a0(), uVar8 != 0)" (( "(") (comma_expression "uVar8 = FUN_000483a0(), uVar8 != 0" (assignment_expression "uVar8 = FUN_000483a0()" (identifier "uVar8") (= "=") (call_expression "FUN_000483a0()" (identifier "FUN_000483a0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009c268;" (goto "goto") (statement_identifier "LAB_0009c268") (; ";"))) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 1;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 1" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" (* "*") (cast_expression "(undefined1 *)(local_38 + 0x2c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2c)" (( "(") (binary_expression "local_38 + 0x2c" (identifier "local_38") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30);" (assignment_expression "iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" (identifier "iVar10") (= "=") (call_expression "memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" (identifier "memcmp") (argument_list "((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)\n                                ,0x30)" (( "(") (cast_expression "(void *)(local_38 + 0x34)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x34)" (( "(") (binary_expression "local_38 + 0x34" (identifier "local_38") (+ "+") (number_literal "0x34")) () ")"))) (, ",") (cast_expression "(void *)**(undefined4 **)(local_38 + 0x20)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(local_38 + 0x20)" (* "*") (pointer_expression "*(undefined4 **)(local_38 + 0x20)" (* "*") (cast_expression "(undefined4 **)(local_38 + 0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_38 + 0x20)" (( "(") (binary_expression "local_38 + 0x20" (identifier "local_38") (+ "+") (number_literal "0x20")) () ")")))))) (, ",") (number_literal "0x30") () ")")))) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_0009c202;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009c202;" (goto "goto") (statement_identifier "LAB_0009c202") (; ";"))) (if_statement "if (*(char *)(local_38 + 0x2b) == '\0') {\n                  FUN_00048420();\n                }" (if "if") (parenthesized_expression "(*(char *)(local_38 + 0x2b) == '\0')" (( "(") (binary_expression "*(char *)(local_38 + 0x2b) == '\0'" (pointer_expression "*(char *)(local_38 + 0x2b)" (* "*") (cast_expression "(char *)(local_38 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2b)" (( "(") (binary_expression "local_38 + 0x2b" (identifier "local_38") (+ "+") (number_literal "0x2b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  FUN_00048420();\n                }" ({ "{") (expression_statement "FUN_00048420();" (call_expression "FUN_00048420()" (identifier "FUN_00048420") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(local_38 + 0x2c) = 0;" (assignment_expression "*(undefined1 *)(local_38 + 0x2c) = 0" (pointer_expression "*(undefined1 *)(local_38 + 0x2c)" (* "*") (cast_expression "(undefined1 *)(local_38 + 0x2c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 0x2c)" (( "(") (binary_expression "local_38 + 0x2c" (identifier "local_38") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0009c274;" (goto "goto") (statement_identifier "LAB_0009c274") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }\n              else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" (if "if") (parenthesized_expression "((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2))" (( "(") (binary_expression "(*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)" (parenthesized_expression "(*(byte *)(iVar9 + 0x11) == 5)" (( "(") (binary_expression "*(byte *)(iVar9 + 0x11) == 5" (pointer_expression "*(byte *)(iVar9 + 0x11)" (* "*") (cast_expression "(byte *)(iVar9 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x11)" (( "(") (binary_expression "iVar9 + 0x11" (identifier "iVar9") (+ "+") (number_literal "0x11")) () ")")))) (== "==") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "(*(byte *)(iVar9 + 0x11) < 2)" (( "(") (binary_expression "*(byte *)(iVar9 + 0x11) < 2" (pointer_expression "*(byte *)(iVar9 + 0x11)" (* "*") (cast_expression "(byte *)(iVar9 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x11)" (( "(") (binary_expression "iVar9 + 0x11" (identifier "iVar9") (+ "+") (number_literal "0x11")) () ")")))) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                uVar8 = FUN_00047f00();\n                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;\nLAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;\n              }" ({ "{") (expression_statement "uVar8 = FUN_00047f00();" (assignment_expression "uVar8 = FUN_00047f00()" (identifier "uVar8") (= "=") (call_expression "FUN_00047f00()" (identifier "FUN_00047f00") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;" (if "if") (parenthesized_expression "((1 < param_2) && (uVar8 == 0))" (( "(") (binary_expression "(1 < param_2) && (uVar8 == 0)" (parenthesized_expression "(1 < param_2)" (( "(") (binary_expression "1 < param_2" (number_literal "1") (< "<") (identifier "param_2")) () ")")) (&& "&&") (parenthesized_expression "(uVar8 == 0)" (( "(") (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0009c24e;" (goto "goto") (statement_identifier "LAB_0009c24e") (; ";"))) (labeled_statement "LAB_0009c25e:\n                if (uVar8 != 0) goto LAB_0009c268;" (statement_identifier "LAB_0009c25e") (: ":") (if_statement "if (uVar8 != 0) goto LAB_0009c268;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009c268;" (goto "goto") (statement_identifier "LAB_0009c268") (; ";")))) (} "}")) (else_clause "else if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" (else "else") (if_statement "if (1 < param_2) {\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" (if "if") (parenthesized_expression "(1 < param_2)" (( "(") (binary_expression "1 < param_2" (number_literal "1") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\nLAB_0009c24e:\n                uVar8 = FUN_00048060();\n                goto LAB_0009c25e;\n              }" ({ "{") (labeled_statement "LAB_0009c24e:\n                uVar8 = FUN_00048060();" (statement_identifier "LAB_0009c24e") (: ":") (expression_statement "uVar8 = FUN_00048060();" (assignment_expression "uVar8 = FUN_00048060()" (identifier "uVar8") (= "=") (call_expression "FUN_00048060()" (identifier "FUN_00048060") (argument_list "()" (( "(") () ")")))) (; ";"))) (goto_statement "goto LAB_0009c25e;" (goto "goto") (statement_identifier "LAB_0009c25e") (; ";")) (} "}"))))) (labeled_statement "LAB_0009c202:\n              uVar4 = *(undefined4 *)(iVar9 + 0x18);" (statement_identifier "LAB_0009c202") (: ":") (expression_statement "uVar4 = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "uVar4 = *(undefined4 *)(iVar9 + 0x18)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (expression_statement "*(undefined1 *)(iVar9 + 0x10) = 2;" (assignment_expression "*(undefined1 *)(iVar9 + 0x10) = 2" (pointer_expression "*(undefined1 *)(iVar9 + 0x10)" (* "*") (cast_expression "(undefined1 *)(iVar9 + 0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x48)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x48)" (( "(") (binary_expression "iVar9 + 0x48" (identifier "iVar9") (+ "+") (number_literal "0x48")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = uVar4;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = uVar4" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x4c)" (( "(") (binary_expression "iVar9 + 0x4c" (identifier "iVar9") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (piVar2[0xb] == 0) {\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" (if "if") (parenthesized_expression "(piVar2[0xb] == 0)" (( "(") (binary_expression "piVar2[0xb] == 0" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar8 = FUN_0009bc30();\n              goto LAB_0009be9a;\n            }" ({ "{") (expression_statement "uVar8 = FUN_0009bc30();" (assignment_expression "uVar8 = FUN_0009bc30()" (identifier "uVar8") (= "=") (call_expression "FUN_0009bc30()" (identifier "FUN_0009bc30") (argument_list "()" (( "(") () ")")))) (; ";")) (goto_statement "goto LAB_0009be9a;" (goto "goto") (statement_identifier "LAB_0009be9a") (; ";")) (} "}"))) (goto_statement "goto LAB_0009bea2;" (goto "goto") (statement_identifier "LAB_0009bea2") (; ";")) (} "}"))) (labeled_statement "LAB_0009c268:\n          if (uVar8 != 0x205) goto LAB_0009bfa0;" (statement_identifier "LAB_0009c268") (: ":") (if_statement "if (uVar8 != 0x205) goto LAB_0009bfa0;" (if "if") (parenthesized_expression "(uVar8 != 0x205)" (( "(") (binary_expression "uVar8 != 0x205" (identifier "uVar8") (!= "!=") (number_literal "0x205")) () ")")) (goto_statement "goto LAB_0009bfa0;" (goto "goto") (statement_identifier "LAB_0009bfa0") (; ";")))) (labeled_statement "LAB_0009c274:\n          if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" (statement_identifier "LAB_0009c274") (: ":") (if_statement "if ((char)piVar2[5] != '\0') {\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" (if "if") (parenthesized_expression "((char)piVar2[5] != '\0')" (( "(") (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar8 = 0x205;\n            goto LAB_0009bf60;\n          }" ({ "{") (expression_statement "uVar8 = 0x205;" (assignment_expression "uVar8 = 0x205" (identifier "uVar8") (= "=") (number_literal "0x205")) (; ";")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")) (} "}")))) (expression_statement "uVar12 = 5;" (assignment_expression "uVar12 = 5" (identifier "uVar12") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar8 = 5;" (assignment_expression "uVar8 = 5" (identifier "uVar8") (= "=") (number_literal "5")) (; ";")) (labeled_statement "LAB_0009be4e:\n          FUN_0009aff0();" (statement_identifier "LAB_0009be4e") (: ":") (expression_statement "FUN_0009aff0();" (call_expression "FUN_0009aff0()" (identifier "FUN_0009aff0") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_0009be57:\n          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" (statement_identifier "LAB_0009be57") (: ":") (if_statement "if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))\n          goto LAB_0009bf60;" (if "if") (parenthesized_expression "(((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))" (( "(") (binary_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0)" (parenthesized_expression "((uVar12 != 5) || ((char)piVar2[5] != '\0'))" (( "(") (binary_expression "(uVar12 != 5) || ((char)piVar2[5] != '\0')" (parenthesized_expression "(uVar12 != 5)" (( "(") (binary_expression "uVar12 != 5" (identifier "uVar12") (!= "!=") (number_literal "5")) () ")")) (|| "||") (parenthesized_expression "((char)piVar2[5] != '\0')" (( "(") (binary_expression "(char)piVar2[5] != '\0'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar9 = FUN_0003a550(), iVar9 == 0)" (( "(") (comma_expression "iVar9 = FUN_0003a550(), iVar9 == 0" (assignment_expression "iVar9 = FUN_0003a550()" (identifier "iVar9") (= "=") (call_expression "FUN_0003a550()" (identifier "FUN_0003a550") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")))) (labeled_statement "LAB_0009be84:\n          iVar9 = piVar2[3];" (statement_identifier "LAB_0009be84") (: ":") (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" (identifier "iVar9") (= "=") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]"))) (; ";"))) (goto_statement "goto LAB_0009be87;" (goto "goto") (statement_identifier "LAB_0009be87") (; ";")) (} "}"))) (labeled_statement "LAB_0009be9a:\n        if (uVar8 != 0) goto LAB_0009bfa0;" (statement_identifier "LAB_0009be9a") (: ":") (if_statement "if (uVar8 != 0) goto LAB_0009bfa0;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bfa0;" (goto "goto") (statement_identifier "LAB_0009bfa0") (; ";")))) (labeled_statement "LAB_0009bea2:\n        if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" (statement_identifier "LAB_0009bea2") (: ":") (if_statement "if (((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" (if "if") (parenthesized_expression "(((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'))" (( "(") (binary_expression "((char)param_1[2] == '\0') &&\n           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" (parenthesized_expression "((char)param_1[2] == '\0')" (( "(") (binary_expression "(char)param_1[2] == '\0'" (cast_expression "(char)param_1[2]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')" (( "(") (comma_expression "piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0'" (assignment_expression "piVar2[10] = piVar2[10] + 1" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "piVar2[10] + 1" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "1"))) (, ",") (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" (* "*") (cast_expression "(char *)((int)param_1 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 9)" (( "(") (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          *(undefined1 *)(param_1 + 10) = 1;\n          param_1[0xb] = piVar2[0x12];\n          piVar2[0x12] = (int)(param_1 + 8);\n        }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 10) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 10) = 1" (pointer_expression "*(undefined1 *)(param_1 + 10)" (* "*") (cast_expression "(undefined1 *)(param_1 + 10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_1[0xb] = piVar2[0x12];" (assignment_expression "param_1[0xb] = piVar2[0x12]" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "piVar2[0x12] = (int)(param_1 + 8);" (assignment_expression "piVar2[0x12] = (int)(param_1 + 8)" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(int)(param_1 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}")))) (if_statement "if (param_2 == 0) {\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined1 *)(param_1 + 2) = 1;\n          if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }\n          goto LAB_0009c0f6;\n        }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 2)" (* "*") (cast_expression "(undefined1 *)(param_1 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if ((char)piVar2[5] == '\0') {\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" (if "if") (parenthesized_expression "((char)piVar2[5] == '\0')" (( "(") (binary_expression "(char)piVar2[5] == '\0'" (cast_expression "(char)piVar2[5]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(undefined1 *)(piVar2 + 5) = 1;\n          }" ({ "{") (expression_statement "*(undefined1 *)(piVar2 + 5) = 1;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 1" (pointer_expression "*(undefined1 *)(piVar2 + 5)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 5)" (( "(") (binary_expression "piVar2 + 5" (identifier "piVar2") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (goto_statement "goto LAB_0009c0f6;" (goto "goto") (statement_identifier "LAB_0009c0f6") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 2) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 2) = 2" (pointer_expression "*(undefined1 *)(param_1 + 2)" (* "*") (cast_expression "(undefined1 *)(param_1 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "2")) (; ";")) (if_statement "if (*(byte *)(piVar2 + 5) < 2) {\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" (if "if") (parenthesized_expression "(*(byte *)(piVar2 + 5) < 2)" (( "(") (binary_expression "*(byte *)(piVar2 + 5) < 2" (pointer_expression "*(byte *)(piVar2 + 5)" (* "*") (cast_expression "(byte *)(piVar2 + 5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 5)" (( "(") (binary_expression "piVar2 + 5" (identifier "piVar2") (+ "+") (number_literal "5")) () ")")))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          *(undefined1 *)(piVar2 + 5) = 2;\n        }" ({ "{") (expression_statement "*(undefined1 *)(piVar2 + 5) = 2;" (assignment_expression "*(undefined1 *)(piVar2 + 5) = 2" (pointer_expression "*(undefined1 *)(piVar2 + 5)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 5)" (( "(") (binary_expression "piVar2 + 5" (identifier "piVar2") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}"))) (expression_statement "iVar9 = piVar2[3];" (assignment_expression "iVar9 = piVar2[3]" (identifier "iVar9") (= "=") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar2[0x13] = (int)param_1;" (assignment_expression "piVar2[0x13] = (int)param_1" (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) (; ";")) (expression_statement "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;" (assignment_expression "uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf" (identifier "uVar5") (= "=") (binary_expression "*(ushort *)((int)piVar2 + 0x16) & 0xffbf" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (& "&") (number_literal "0xffbf"))) (; ";")) (if_statement "if (1 < param_2) {\n          uVar5 = uVar5 | 0x40;\n        }" (if "if") (parenthesized_expression "(1 < param_2)" (( "(") (binary_expression "1 < param_2" (number_literal "1") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n          uVar5 = uVar5 | 0x40;\n        }" ({ "{") (expression_statement "uVar5 = uVar5 | 0x40;" (assignment_expression "uVar5 = uVar5 | 0x40" (identifier "uVar5") (= "=") (binary_expression "uVar5 | 0x40" (identifier "uVar5") (| "|") (number_literal "0x40"))) (; ";")) (} "}"))) (expression_statement "*(ushort *)((int)piVar2 + 0x16) = uVar5;" (assignment_expression "*(ushort *)((int)piVar2 + 0x16) = uVar5" (pointer_expression "*(ushort *)((int)piVar2 + 0x16)" (* "*") (cast_expression "(ushort *)((int)piVar2 + 0x16)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x16)" (( "(") (binary_expression "(int)piVar2 + 0x16" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);" (assignment_expression "uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" (* "*") (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" (( "(") (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" (* "*") (cast_expression "(int *)(iVar9 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x38)" (( "(") (binary_expression "iVar9 + 0x38" (identifier "iVar9") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" (if "if") (parenthesized_expression "(piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18))" (( "(") (binary_expression "piVar2[0xb] !=\n            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (parenthesized_expression "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)" (( "(") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar8 << 0x18" (identifier "uVar8") (<< "<<") (number_literal "0x18"))) () ")"))) () ")")) (compound_statement "{\n          uVar8 = FUN_00098750();\n          if (uVar8 != 0) goto LAB_0009bf60;\n          uVar8 = piVar2[0xb];\n          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n        }" ({ "{") (expression_statement "uVar8 = FUN_00098750();" (assignment_expression "uVar8 = FUN_00098750()" (identifier "uVar8") (= "=") (call_expression "FUN_00098750()" (identifier "FUN_00098750") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar8 != 0) goto LAB_0009bf60;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";"))) (expression_statement "uVar8 = piVar2[0xb];" (assignment_expression "uVar8 = piVar2[0xb]" (identifier "uVar8") (= "=") (subscript_expression "piVar2[0xb]" (identifier "piVar2") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =\n               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" (* "*") (cast_expression "(uint *)(*(int *)(iVar9 + 0x38) + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0x38) + 0x1c)" (( "(") (binary_expression "*(int *)(iVar9 + 0x38) + 0x1c" (pointer_expression "*(int *)(iVar9 + 0x38)" (* "*") (cast_expression "(int *)(iVar9 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x38)" (( "(") (binary_expression "iVar9 + 0x38" (identifier "iVar9") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar8 << 0x18" (identifier "uVar8") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (if_statement "if (param_3 == (uint *)0x0) goto LAB_0009bf3c;" (if "if") (parenthesized_expression "(param_3 == (uint *)0x0)" (( "(") (binary_expression "param_3 == (uint *)0x0" (identifier "param_3") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009bf3c;" (goto "goto") (statement_identifier "LAB_0009bf3c") (; ";"))) (goto_statement "goto LAB_0009bf20;" (goto "goto") (statement_identifier "LAB_0009bf20") (; ";")) (} "}"))) (goto_statement "goto LAB_0009bf60;" (goto "goto") (statement_identifier "LAB_0009bf60") (; ";")) (} "}"))) (labeled_statement "LAB_0009c0f6:\n    if (param_3 != (uint *)0x0) goto LAB_0009bf20;" (statement_identifier "LAB_0009c0f6") (: ":") (if_statement "if (param_3 != (uint *)0x0) goto LAB_0009bf20;" (if "if") (parenthesized_expression "(param_3 != (uint *)0x0)" (( "(") (binary_expression "param_3 != (uint *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0009bf20;" (goto "goto") (statement_identifier "LAB_0009bf20") (; ";")))) (} "}")))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0009bf60:\n  if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" (statement_identifier "LAB_0009bf60") (: ":") (if_statement "if (*(char *)((int)param_1 + 9) != '\0') {\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)((int)param_1 + 9) != '\0')" (( "(") (binary_expression "*(char *)((int)param_1 + 9) != '\0'" (pointer_expression "*(char *)((int)param_1 + 9)" (* "*") (cast_expression "(char *)((int)param_1 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 9)" (( "(") (binary_expression "(int)param_1 + 9" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    param_1 = param_1 + 3;\n    *param_1 = *param_1 + -1;\n    if (*param_1 == 0) {\n      FUN_00048bd0();\n    }\n  }" ({ "{") (expression_statement "param_1 = param_1 + 3;" (assignment_expression "param_1 = param_1 + 3" (identifier "param_1") (= "=") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*param_1 = *param_1 + -1;" (assignment_expression "*param_1 = *param_1 + -1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (binary_expression "*param_1 + -1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*param_1 == 0) {\n      FUN_00048bd0();\n    }" (if "if") (parenthesized_expression "(*param_1 == 0)" (( "(") (binary_expression "*param_1 == 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00048bd0();\n    }" ({ "{") (expression_statement "FUN_00048bd0();" (call_expression "FUN_00048bd0()" (identifier "FUN_00048bd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar1") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return uVar8;\n  }" ({ "{") (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (expression_statement "FUN_00116110();" (call_expression "FUN_00116110()" (identifier "FUN_00116110") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

int __regparm3 function_1(type_1 *var_9,int var_7,int *pSchemaVersion)

{
  type_2 var_24;
  type_3 *pBt;
  type_1 *var_10;
  type_4 *pPVar3;
  type_5 var_20;
  int *var_23;
  type_6 PVar6;
  type_7 var_6;
  type_8 uVar8;
  type_9 *var_8;
  type_5 var_3;
  int var_4;
  type_10 *p_00;
  type_4 *pWal_1;
  type_4 *extraout_ECX;
  type_11 *var_11;
  type_3 *extraout_EDX;
  type_3 *extraout_EDX_00;
  type_3 *extraout_EDX_01;
  type_3 *extraout_EDX_02;
  type_3 *var_14;
  type_3 *extraout_EDX_03;
  type_3 *extraout_EDX_04;
  type_3 *extraout_EDX_05;
  type_3 *extraout_EDX_06;
  type_3 *extraout_EDX_07;
  type_3 *extraout_EDX_08;
  type_3 *extraout_EDX_09;
  type_3 *extraout_EDX_10;
  type_3 *extraout_EDX_11;
  type_3 *extraout_EDX_12;
  type_3 *extraout_EDX_13;
  type_3 *extraout_EDX_14;
  type_3 *extraout_EDX_15;
  type_12 *var_15;
  type_5 var_18;
  int var_1;
  type_5 var_21;
  type_13 *var_19;
  type_12 *pPage1;
  int var_29;
  int var_41;
  type_14 uStack_14;
  
  uStack_14 = 0x9bd1b;
  pBt = var_9->pBt;
  var_41 = *(int *)(var_1 + 0x14);
  if (var_9->sharable != '\0') {
    var_2(var_9);
  }
  if (var_9->inTrans == '\x02') {
    if ((type_11 *)pSchemaVersion != (type_11 *)0x0) {
LAB_0009bf20:
      var_3 = *(type_5 *)(pBt->pPage1->aData + 0x28);
      ((type_11 *)pSchemaVersion)->pVfs =
           (type_15 *)
           (var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 | var_3 << 0x18);
    }
    if ((type_11 *)var_7 != (type_11 *)0x0) {
LAB_0009bf3c:
      var_4 = var_9->db->nSavepoint;
      pPVar3 = pBt->pPager;
      if ((pPVar3->nSavepoint < var_4) && (pPVar3->useJournal != '\0')) {
        var_3 = var_5(pPVar3,var_4);
        goto LAB_0009bf60;
      }
    }
  }
  else {
    if ((var_9->inTrans != '\x01') || ((type_11 *)var_7 != (type_11 *)0x0)) {
      var_6 = pBt->btsFlags;
      if (((var_9->db->flags & 0x2000000) == 0) || (pBt->pPager->readOnly != '\0')) {
        if ((var_6 & 1) == 0) goto LAB_0009bd81;
        var_3 = 8;
        if ((type_11 *)var_7 != (type_11 *)0x0) goto LAB_0009bf60;
LAB_0009bddc:
        if ((var_6 & 0x80) != 0) {
LAB_0009bde0:
          var_11 = pBt->pWriter->db;
          goto LAB_0009bde5;
        }
      }
      else {
        var_6 = var_6 & 0xfffe;
        pBt->btsFlags = var_6;
LAB_0009bd81:
        if ((type_11 *)var_7 == (type_11 *)0x0) goto LAB_0009bddc;
        if ((pBt->inTransaction == '\x02') || ((var_6 & 0x80) != 0)) goto LAB_0009bde0;
        if ((var_7 < 2) || (var_8 = pBt->pLock, var_8 == (type_9 *)0x0)) goto LAB_0009bded;
        var_10 = var_8->pBtree;
        if (var_9 == var_10) {
          do {
            var_8 = var_8->pNext;
            if (var_8 == (type_9 *)0x0) goto LAB_0009bded;
          } while (var_8->pBtree == var_10);
          var_11 = var_8->pBtree->db;
        }
        else {
          var_11 = var_10->db;
        }
LAB_0009bde5:
        if (var_11 != (type_11 *)0x0) {
          var_3 = 0x106;
          var_12((type_11 *)var_7,(type_11 *)pSchemaVersion);
          goto LAB_0009bf60;
        }
      }
LAB_0009bded:
      var_3 = var_13(var_9,1,'\x01');
      if (var_3 == 0) {
        var_14 = (type_3 *)pBt->nPage;
        var_6 = pBt->btsFlags & 0xffef;
        pBt->btsFlags = var_6;
        if (var_14 == (type_3 *)0x0) {
          pBt->btsFlags = var_6 | 0x10;
        }
        var_15 = pBt->pPage1;
        var_18 = var_3;
LAB_0009be87:
        while (var_15 == (type_12 *)0x0) {
          var_3 = var_16(pBt->pPager);
          var_14 = extraout_EDX_01;
          if ((var_3 != 0) ||
             (var_18 = var_17(pBt,1,&pPage1,0), var_14 = extraout_EDX_02, var_3 = var_18,
             var_18 != 0)) goto LAB_0009bfa0;
          var_20 = pBt->pPager->dbSize;
          var_23 = (int *)pPage1->aData;
          var_3 = var_23[7];
          var_19 = (type_13 *)(var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 |
                            var_3 << 0x18);
          var_3 = (type_5)pBt->db->flags & 0x2000000;
          if ((var_19 == (type_13 *)0x0) || (var_23[6] != var_23[0x17])) {
            if ((var_20 != 0) && (var_19 = (type_13 *)var_20, var_3 == 0)) goto LAB_0009c298;
LAB_0009c02c:
            var_21 = pBt->usableSize;
            var_19 = (type_13 *)0x0;
LAB_0009c03b:
            pBt->pPage1 = pPage1;
            var_4 = ((var_21 + 0x3fffff4) * 0x40) / 0xff - 0x17;
            pBt->maxLocal = (type_7)var_4;
            uVar8 = (short)(((var_21 + 0x7fffff4) * 0x20) / 0xff) - 0x17;
            pBt->minLocal = uVar8;
            var_14 = (type_3 *)((var_21 & 0xffff) - 0x23);
            pBt->minLeaf = uVar8;
            if (0x7f < (type_7)var_4) {
              var_4 = 0x7f;
            }
            pBt->maxLeaf = (type_8)var_14;
            pBt->max1bytePayload = (type_10)var_4;
            pBt->nPage = (type_16)var_19;
            var_15 = pPage1;
          }
          else {
            if (var_3 != 0) goto LAB_0009c02c;
LAB_0009c298:
            if ((((*var_23 != 0x694c5153) || (var_23[1] != 0x66206574)) || (var_23[2] != 0x616d726f)
                ) || (var_23[3] != 0x332074)) {
LAB_0009c2a4:
              var_3 = 0x1a;
              var_18 = 0x1a;
              var_22(pPage1->pDbPage);
              pBt->pPage1 = (type_12 *)0x0;
              var_14 = extraout_EDX_08;
LAB_0009be44:
              if (pBt->inTransaction == '\0') goto LAB_0009be4e;
              goto LAB_0009bf60;
            }
            if (2 < *(type_2 *)((int)var_23 + 0x12)) {
              pBt->btsFlags = pBt->btsFlags | 1;
            }
            if (2 < *(type_2 *)((int)var_23 + 0x13)) goto LAB_0009c2a4;
            if ((*(type_2 *)((int)var_23 + 0x13) != 2) || ((pBt->btsFlags & 0x20) != 0)) {
LAB_0009c3b7:
              if (((*(short *)((int)var_23 + 0x15) != 0x2040) ||
                  (*(char *)((int)var_23 + 0x17) != ' ')) ||
                 ((var_3 = (type_5)*(type_2 *)((int)var_23 + 0x11) << 0x10 |
                            (type_5)*(type_2 *)(var_23 + 4) << 8, (var_3 - 1 & var_3) != 0 ||
                  (0xfeff < var_3 - 0x101)))) {
                var_18 = 0x1a;
                var_3 = 0x1a;
                var_22(pPage1->pDbPage);
                pBt->pPage1 = (type_12 *)0x0;
                var_14 = extraout_EDX_11;
                goto LAB_0009be44;
              }
              pBt->btsFlags = pBt->btsFlags | 2;
              var_24 = *(type_2 *)(var_23 + 5);
              var_21 = var_3 - var_24;
              if (var_3 == pBt->pageSize) {
                if (((pBt->db->flags & 0x10000001) != 1) && (var_20 < var_19)) {
                  var_18 = 0xb;
                  var_3 = 0xb;
                  var_25(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,
                              "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");
                  var_22(pPage1->pDbPage);
                  pBt->pPage1 = (type_12 *)0x0;
                  var_14 = extraout_EDX_15;
                  goto LAB_0009be44;
                }
                if (var_21 < 0x1e0) goto LAB_0009c2a4;
                pBt->usableSize = var_21;
                pBt->autoVacuum = var_23[0xd] != 0;
                pBt->incrVacuum = var_23[0x10] != 0;
                goto LAB_0009c03b;
              }
              var_22(pPage1->pDbPage);
              pBt->usableSize = var_21;
              pBt->pageSize = var_3;
              if (pBt->pTmpSpace != (type_10 *)0x0) {
                p_00 = pBt->pTmpSpace + -4;
                pBt->pTmpSpace = p_00;
                var_26(p_00);
                pBt->pTmpSpace = (type_10 *)0x0;
              }
              var_3 = var_27(pBt->pPager,&pBt->pageSize,(type_5)var_24);
              var_14 = extraout_EDX_14;
              if (var_3 != 0) goto LAB_0009bfa0;
              goto LAB_0009be84;
            }
            var_29 = 0;
            var_3 = var_28(pBt->pPager,&var_29);
            if (var_3 != 0) {
              var_22(pPage1->pDbPage);
              pBt->pPage1 = (type_12 *)0x0;
              var_14 = extraout_EDX_00;
              goto LAB_0009bfa0;
            }
            if (var_29 != 0) goto LAB_0009c3b7;
            var_18 = 0;
            var_22(pPage1->pDbPage);
            var_15 = pBt->pPage1;
            var_14 = extraout_EDX_13;
          }
        }
        if ((var_18 == 0) && ((type_11 *)var_7 != (type_11 *)0x0)) {
          if ((pBt->btsFlags & 1) != 0) {
LAB_0009be3a:
            var_18 = 8;
            var_3 = 8;
            goto LAB_0009be44;
          }
          pPVar3 = pBt->pPager;
          var_3 = pPVar3->errCode;
          if (var_3 == 0) {
            pPVar3->subjInMemory = var_9->db->temp_store == '\x02';
            if (pPVar3->eState == '\x01') {
              var_19 = pPVar3->pWal;
              if (var_19 != (type_13 *)0x0) {
                if ((pPVar3->exclusiveMode != '\0') && (var_19->exclusiveMode == '\0')) {
                  if ((pPVar3->eLock < 4) || (pWal_1 = pPVar3, pPVar3->eLock == 5)) {
                    var_3 = var_30(pPVar3,4);
                    var_14 = extraout_EDX_10;
                    if (var_3 != 0) goto LAB_0009c268;
                    var_19 = pPVar3->pWal;
                    pWal_1 = extraout_ECX;
                    if (var_19->exclusiveMode == '\0') goto LAB_0009c17a;
                  }
                  else {
LAB_0009c17a:
                    var_31((type_13 *)var_19->pDbFd,var_19->readLock + 3,(type_13 *)pWal_1);
                    var_14 = extraout_EDX_04;
                  }
                  var_19->exclusiveMode = '\x01';
                  var_19 = pPVar3->pWal;
                }
                if (var_19->readOnly != '\0') goto LAB_0009be3a;
                if ((var_19->exclusiveMode == '\0') &&
                   (var_3 = var_32((type_13 *)var_19->pDbFd,0,1,(type_13 *)var_7),
                   var_14 = extraout_EDX_05, var_3 != 0)) goto LAB_0009c268;
                var_19->writeLock = '\x01';
                var_4 = var_33(&var_19->hdr,*var_19->apWiData,0x30);
                if (var_4 == 0) goto LAB_0009c202;
                var_14 = extraout_EDX_06;
                if (var_19->exclusiveMode == '\0') {
                  var_34((type_13 *)var_19->pDbFd,0,1,(type_13 *)var_7);
                  var_14 = extraout_EDX_12;
                }
                var_19->writeLock = '\0';
                goto LAB_0009c274;
              }
              if ((pPVar3->eLock == 5) || (pPVar3->eLock < 2)) {
                var_3 = var_30(pPVar3,2);
                var_14 = extraout_EDX_09;
                if ((1 < var_7) && (var_3 == 0)) goto LAB_0009c24e;
LAB_0009c25e:
                if (var_3 != 0) goto LAB_0009c268;
              }
              else if (1 < var_7) {
LAB_0009c24e:
                var_3 = var_35(pPVar3,4);
                var_14 = extraout_EDX_07;
                goto LAB_0009c25e;
              }
LAB_0009c202:
              PVar6 = pPVar3->dbSize;
              pPVar3->eState = '\x02';
              *(type_14 *)&pPVar3->journalOff = 0;
              pPVar3->dbHintSize = PVar6;
              pPVar3->dbFileSize = PVar6;
              pPVar3->dbOrigSize = PVar6;
              *(type_14 *)((int)&pPVar3->journalOff + 4) = 0;
            }
            if (pBt->nPage == 0) {
              var_18 = var_36((type_3 *)var_7);
              var_14 = extraout_EDX_03;
              goto LAB_0009be9a;
            }
            goto LAB_0009bea2;
          }
LAB_0009c268:
          if (var_3 != 0x205) goto LAB_0009bfa0;
LAB_0009c274:
          if (pBt->inTransaction != '\0') {
            var_3 = 0x205;
            goto LAB_0009bf60;
          }
          var_18 = 5;
          var_3 = 5;
LAB_0009be4e:
          var_37((type_3 *)&pBt->pPage1,var_14);
        }
        else {
LAB_0009be9a:
          var_3 = var_18;
          if (var_18 == 0) {
LAB_0009bea2:
            if ((var_9->inTrans == '\0') &&
               (pBt->nTransaction = pBt->nTransaction + 1, var_9->sharable != '\0')) {
              (var_9->lock).eLock = '\x01';
              (var_9->lock).pNext = pBt->pLock;
              pBt->pLock = &var_9->lock;
            }
            if ((type_11 *)var_7 == (type_11 *)0x0) {
              var_9->inTrans = '\x01';
              if (pBt->inTransaction == '\0') {
                pBt->inTransaction = '\x01';
              }
              goto LAB_0009c0f6;
            }
            var_9->inTrans = '\x02';
            if (pBt->inTransaction < 2) {
              pBt->inTransaction = '\x02';
            }
            var_15 = pBt->pPage1;
            pBt->pWriter = var_9;
            var_6 = pBt->btsFlags & 0xffbf;
            if (1 < var_7) {
              var_6 = var_6 | 0x40;
            }
            pBt->btsFlags = var_6;
            var_3 = *(type_5 *)(var_15->aData + 0x1c);
            if (pBt->nPage !=
                (var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 | var_3 << 0x18
                )) {
              var_3 = var_38(var_15->pDbPage);
              if (var_3 != 0) goto LAB_0009bf60;
              var_3 = pBt->nPage;
              *(type_5 *)(var_15->aData + 0x1c) =
                   var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 |
                   var_3 << 0x18;
            }
            if ((type_11 *)pSchemaVersion == (type_11 *)0x0) goto LAB_0009bf3c;
            goto LAB_0009bf20;
          }
LAB_0009bfa0:
          var_18 = var_3 & 0xff;
          if (pBt->inTransaction == '\0') goto LAB_0009be4e;
        }
        if (((var_18 != 5) || (pBt->inTransaction != '\0')) ||
           (var_4 = var_39(&pBt->db->busyHandler,pBt->pPager->fd),
           var_14 = extraout_EDX, var_4 == 0)) goto LAB_0009bf60;
LAB_0009be84:
        var_15 = pBt->pPage1;
        var_18 = var_3;
        goto LAB_0009be87;
      }
      goto LAB_0009bf60;
    }
LAB_0009c0f6:
    if ((type_11 *)pSchemaVersion != (type_11 *)0x0) goto LAB_0009bf20;
  }
  var_3 = 0;
LAB_0009bf60:
  if (var_9->sharable != '\0') {
    var_23 = &var_9->wantToLock;
    *var_23 = *var_23 + -1;
    if (*var_23 == 0) {
      var_40(var_9);
    }
  }
  if (var_41 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_42();
  }
  return var_3;
}


(translation_unit (function_definition type: (type_identifier) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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 (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) right: (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: (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: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (goto_statement label: (statement_identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (labeled_statement label: (statement_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (goto_statement label: (statement_identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) 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: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) right: (parenthesized_expression (parenthesized_expression (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: (number_literal))))) right: (char_literal (character))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal))))))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) 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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence))))) (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: (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: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (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 (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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))))))) (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (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: (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: (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: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (call_expression function: (identifier) arguments: (argument_list))))) (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))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (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: (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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) 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: (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: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_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: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) 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)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (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: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_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)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint __regparm3 MASKED(int *param_1,int param_2,uint *param_3)

{
  int iVar1;
  int *piVar2;
  int *piVar3;
  undefined4 uVar4;
  ushort uVar5;
  short sVar6;
  undefined4 *puVar7;
  uint uVar8;
  int iVar9;
  int iVar10;
  uint uVar11;
  uint uVar12;
  int in_GS_OFFSET;
  int *piVar13;
  uint local_3c;
  uint local_38;
  int local_28;
  
  piVar2 = (int *)param_1[1];
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (*(char *)((int)param_1 + 9) != '\0') {
    FUN_00048b40();
  }
  if ((char)param_1[2] == '\x02') {
    if (param_3 != (uint *)0x0) {
LAB_0009bf20:
      uVar8 = *(uint *)(*(int *)(piVar2[3] + 0x38) + 0x28);
      *param_3 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
    }
    if (param_2 != 0) {
LAB_0009bf3c:
      if ((*(int *)(*piVar2 + 0x60) < *(int *)(*param_1 + 0x1c8)) &&
         (*(char *)(*piVar2 + 6) != '\0')) {
        uVar8 = FUN_00044380();
        goto LAB_0009bf60;
      }
    }
  }
  else {
    if (((char)param_1[2] != '\x01') || (param_2 != 0)) {
      uVar5 = *(ushort *)((int)piVar2 + 0x16);
      if (((*(byte *)(*param_1 + 0x1f) & 2) == 0) || (*(char *)(*piVar2 + 0xe) != '\0')) {
        if ((uVar5 & 1) == 0) goto LAB_0009bd81;
        uVar8 = 8;
        if (param_2 != 0) goto LAB_0009bf60;
LAB_0009bddc:
        if ((uVar5 & 0x80) != 0) {
LAB_0009bde0:
          iVar9 = *(int *)piVar2[0x13];
          goto LAB_0009bde5;
        }
      }
      else {
        uVar5 = uVar5 & 0xfffe;
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
LAB_0009bd81:
        if (param_2 == 0) goto LAB_0009bddc;
        if (((char)piVar2[5] == '\x02') || ((uVar5 & 0x80) != 0)) goto LAB_0009bde0;
        if ((param_2 < 2) || (puVar7 = (undefined4 *)piVar2[0x12], puVar7 == (undefined4 *)0x0))
        goto LAB_0009bded;
        piVar13 = (int *)*puVar7;
        if (param_1 == piVar13) {
          do {
            puVar7 = (undefined4 *)puVar7[3];
            if (puVar7 == (undefined4 *)0x0) goto LAB_0009bded;
          } while ((int *)*puVar7 == piVar13);
          iVar9 = *(int *)*puVar7;
        }
        else {
          iVar9 = *piVar13;
        }
LAB_0009bde5:
        if (iVar9 != 0) {
          uVar8 = 0x106;
          FUN_0003ade0();
          goto LAB_0009bf60;
        }
      }
LAB_0009bded:
      uVar8 = FUN_0003ae70();
      if (uVar8 == 0) {
        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffef;
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
        if (piVar2[0xb] == 0) {
          *(ushort *)((int)piVar2 + 0x16) = uVar5 | 0x10;
        }
        piVar13 = piVar2 + 3;
        iVar9 = piVar2[3];
LAB_0009be87:
        while (iVar9 == 0) {
          uVar8 = FUN_0009b420(param_2,param_3,piVar13);
          if ((uVar8 != 0) || (uVar8 = FUN_00038b40(0), uVar8 != 0)) goto LAB_0009bfa0;
          uVar12 = *(uint *)(*piVar2 + 0x18);
          piVar3 = *(int **)(local_28 + 0x38);
          uVar11 = piVar3[7];
          local_38 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                     uVar11 << 0x18;
          uVar11 = *(uint *)(piVar2[1] + 0x1c) & 0x2000000;
          if ((local_38 == 0) || (piVar3[6] != piVar3[0x17])) {
            if ((uVar12 == 0) || (local_38 = uVar12, uVar11 != 0)) goto LAB_0009c02c;
LAB_0009c298:
            if ((((*piVar3 != 0x694c5153) || (piVar3[1] != 0x66206574)) || (piVar3[2] != 0x616d726f)
                ) || (piVar3[3] != 0x332074)) {
LAB_0009c2a4:
              uVar8 = 0x1a;
              uVar12 = 0x1a;
              FUN_0009afc0();
              piVar2[3] = 0;
LAB_0009be44:
              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;
              goto LAB_0009bf60;
            }
            if (2 < *(byte *)((int)piVar3 + 0x12)) {
              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 1;
            }
            if (2 < *(byte *)((int)piVar3 + 0x13)) goto LAB_0009c2a4;
            if ((*(byte *)((int)piVar3 + 0x13) != 2) ||
               ((*(byte *)((int)piVar2 + 0x16) & 0x20) != 0)) {
              if (((*(short *)((int)piVar3 + 0x15) != 0x2040) ||
                  ((*(char *)((int)piVar3 + 0x17) != ' ' ||
                   (uVar11 = (uint)*(byte *)((int)piVar3 + 0x11) << 0x10 |
                             (uint)*(byte *)(piVar3 + 4) << 8, (uVar11 - 1 & uVar11) != 0)))) ||
                 (0xfeff < uVar11 - 0x101)) {
                uVar12 = 0x1a;
                uVar8 = 0x1a;
                FUN_0009afc0();
                piVar2[3] = 0;
                goto LAB_0009be44;
              }
              *(ushort *)((int)piVar2 + 0x16) = *(ushort *)((int)piVar2 + 0x16) | 2;
              local_3c = uVar11 - *(byte *)(piVar3 + 5);
              if (uVar11 == piVar2[8]) {
                if (((*(uint *)(piVar2[1] + 0x1c) & 0x10000001) == 1) || (local_38 <= uVar12)) {
                  if (0x1df < local_3c) {
                    piVar2[9] = local_3c;
                    *(bool *)((int)piVar2 + 0x11) = piVar3[0xd] != 0;
                    *(bool *)((int)piVar2 + 0x12) = piVar3[0x10] != 0;
                    goto LAB_0009c03b;
                  }
                  goto LAB_0009c2a4;
                }
                uVar12 = 0xb;
                uVar8 = 0xb;
                FUN_0006e260(0xb,"%s at line %d of [%.10s]","database corruption",0x10293,
                             "bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt1");
                FUN_0009afc0();
                piVar2[3] = 0;
                goto LAB_0009be44;
              }
              FUN_0009afc0();
              piVar2[9] = local_3c;
              piVar2[8] = uVar11;
              if (piVar2[0x14] != 0) {
                piVar2[0x14] = piVar2[0x14] + -4;
                FUN_000474c0();
                piVar2[0x14] = 0;
              }
              uVar8 = FUN_00058170();
              if (uVar8 != 0) goto LAB_0009bfa0;
              goto LAB_0009be84;
            }
            uVar8 = FUN_000580f0();
            if (uVar8 != 0) {
              FUN_0009afc0();
              piVar2[3] = 0;
LAB_0009bfa0:
              uVar12 = uVar8 & 0xff;
              if ((char)piVar2[5] == '\0') goto LAB_0009be4e;
              goto LAB_0009be57;
            }
            uVar8 = 0;
            FUN_0009afc0();
            iVar9 = piVar2[3];
          }
          else {
            if (uVar11 == 0) goto LAB_0009c298;
LAB_0009c02c:
            local_3c = piVar2[9];
            local_38 = 0;
LAB_0009c03b:
            piVar2[3] = local_28;
            iVar9 = ((local_3c + 0x3fffff4) * 0x40) / 0xff - 0x17;
            *(ushort *)(piVar2 + 6) = (ushort)iVar9;
            sVar6 = (short)(((local_3c + 0x7fffff4) * 0x20) / 0xff) + -0x17;
            *(short *)((int)piVar2 + 0x1a) = sVar6;
            *(short *)((int)piVar2 + 0x1e) = sVar6;
            if (0x7f < (ushort)iVar9) {
              iVar9 = 0x7f;
            }
            *(short *)(piVar2 + 7) = (short)local_3c + -0x23;
            *(char *)((int)piVar2 + 0x15) = (char)iVar9;
            piVar2[0xb] = local_38;
            iVar9 = local_28;
          }
        }
        if ((uVar8 == 0) && (param_2 != 0)) {
          if ((*(byte *)((int)piVar2 + 0x16) & 1) != 0) {
LAB_0009be3a:
            uVar12 = 8;
            uVar8 = 8;
            goto LAB_0009be44;
          }
          iVar9 = *piVar2;
          uVar8 = *(uint *)(iVar9 + 0x28);
          if (uVar8 == 0) {
            *(bool *)(iVar9 + 0x15) = *(char *)(*param_1 + 0x4c) == '\x02';
            if (*(char *)(iVar9 + 0x10) == '\x01') {
              local_38 = *(int *)(iVar9 + 0xd4);
              if (local_38 != 0) {
                if ((*(char *)(iVar9 + 4) != '\0') && (*(char *)(local_38 + 0x2b) == '\0')) {
                  if ((*(byte *)(iVar9 + 0x11) < 4) || (*(byte *)(iVar9 + 0x11) == 5)) {
                    uVar8 = FUN_00047f00();
                    if (uVar8 != 0) goto LAB_0009c268;
                    local_38 = *(int *)(iVar9 + 0xd4);
                    if (*(char *)(local_38 + 0x2b) == '\0') goto LAB_0009c17a;
                  }
                  else {
LAB_0009c17a:
                    FUN_00048380();
                  }
                  *(undefined1 *)(local_38 + 0x2b) = 1;
                  local_38 = *(int *)(iVar9 + 0xd4);
                }
                if (*(char *)(local_38 + 0x2e) != '\0') goto LAB_0009be3a;
                if ((*(char *)(local_38 + 0x2b) == '\0') && (uVar8 = FUN_000483a0(), uVar8 != 0))
                goto LAB_0009c268;
                *(undefined1 *)(local_38 + 0x2c) = 1;
                iVar10 = memcmp((void *)(local_38 + 0x34),(void *)**(undefined4 **)(local_38 + 0x20)
                                ,0x30);
                if (iVar10 == 0) goto LAB_0009c202;
                if (*(char *)(local_38 + 0x2b) == '\0') {
                  FUN_00048420();
                }
                *(undefined1 *)(local_38 + 0x2c) = 0;
                goto LAB_0009c274;
              }
              if ((*(byte *)(iVar9 + 0x11) == 5) || (*(byte *)(iVar9 + 0x11) < 2)) {
                uVar8 = FUN_00047f00();
                if ((1 < param_2) && (uVar8 == 0)) goto LAB_0009c24e;
LAB_0009c25e:
                if (uVar8 != 0) goto LAB_0009c268;
              }
              else if (1 < param_2) {
LAB_0009c24e:
                uVar8 = FUN_00048060();
                goto LAB_0009c25e;
              }
LAB_0009c202:
              uVar4 = *(undefined4 *)(iVar9 + 0x18);
              *(undefined1 *)(iVar9 + 0x10) = 2;
              *(undefined4 *)(iVar9 + 0x48) = 0;
              *(undefined4 *)(iVar9 + 0x24) = uVar4;
              *(undefined4 *)(iVar9 + 0x20) = uVar4;
              *(undefined4 *)(iVar9 + 0x1c) = uVar4;
              *(undefined4 *)(iVar9 + 0x4c) = 0;
            }
            if (piVar2[0xb] == 0) {
              uVar8 = FUN_0009bc30();
              goto LAB_0009be9a;
            }
            goto LAB_0009bea2;
          }
LAB_0009c268:
          if (uVar8 != 0x205) goto LAB_0009bfa0;
LAB_0009c274:
          if ((char)piVar2[5] != '\0') {
            uVar8 = 0x205;
            goto LAB_0009bf60;
          }
          uVar12 = 5;
          uVar8 = 5;
LAB_0009be4e:
          FUN_0009aff0();
LAB_0009be57:
          if (((uVar12 != 5) || ((char)piVar2[5] != '\0')) || (iVar9 = FUN_0003a550(), iVar9 == 0))
          goto LAB_0009bf60;
LAB_0009be84:
          iVar9 = piVar2[3];
          goto LAB_0009be87;
        }
LAB_0009be9a:
        if (uVar8 != 0) goto LAB_0009bfa0;
LAB_0009bea2:
        if (((char)param_1[2] == '\0') &&
           (piVar2[10] = piVar2[10] + 1, *(char *)((int)param_1 + 9) != '\0')) {
          *(undefined1 *)(param_1 + 10) = 1;
          param_1[0xb] = piVar2[0x12];
          piVar2[0x12] = (int)(param_1 + 8);
        }
        if (param_2 == 0) {
          *(undefined1 *)(param_1 + 2) = 1;
          if ((char)piVar2[5] == '\0') {
            *(undefined1 *)(piVar2 + 5) = 1;
          }
          goto LAB_0009c0f6;
        }
        *(undefined1 *)(param_1 + 2) = 2;
        if (*(byte *)(piVar2 + 5) < 2) {
          *(undefined1 *)(piVar2 + 5) = 2;
        }
        iVar9 = piVar2[3];
        piVar2[0x13] = (int)param_1;
        uVar5 = *(ushort *)((int)piVar2 + 0x16) & 0xffbf;
        if (1 < param_2) {
          uVar5 = uVar5 | 0x40;
        }
        *(ushort *)((int)piVar2 + 0x16) = uVar5;
        uVar8 = *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c);
        if (piVar2[0xb] !=
            (uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18)) {
          uVar8 = FUN_00098750();
          if (uVar8 != 0) goto LAB_0009bf60;
          uVar8 = piVar2[0xb];
          *(uint *)(*(int *)(iVar9 + 0x38) + 0x1c) =
               uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
        }
        if (param_3 == (uint *)0x0) goto LAB_0009bf3c;
        goto LAB_0009bf20;
      }
      goto LAB_0009bf60;
    }
LAB_0009c0f6:
    if (param_3 != (uint *)0x0) goto LAB_0009bf20;
  }
  uVar8 = 0;
LAB_0009bf60:
  if (*(char *)((int)param_1 + 9) != '\0') {
    param_1 = param_1 + 3;
    *param_1 = *param_1 + -1;
    if (*param_1 == 0) {
      FUN_00048bd0();
    }
  }
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar8;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00116110();
}

