Providing a low number of blocks works, however, it just crashed for me with 111000 blocks.

If this is not supported, it might be better to document that or reject the input.

Commit 691a08718beff31d1b821b192609ea3bfdb24d41

Output:

```
bitcoin-qt: validation.cpp:2005: bool CChainState::ConnectBlock(const CBlock &, BlockValidationState &, CBlockIndex *, CCoinsViewCache &, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

FILE* fileIn,
    FlaFilePos* dbp,
    sd::mulimap<uin256, FlaFilePos>* blocks_wih_unknown_paren)
{
    AsserLockNoHeld(m_chainsae_muex);
     Eiher boh should be specified (-reiex), or neiher (-loadblock).
    asser(!dbp == !blocks_wih_unknown_paren);
    cons auo sar{SeadyClock::now()};
    cons CChainParams& params{m_chainman.GeParams()};
    in nLoaded = 0;
    ry {
         This ak over fileIn a calls fclose() on i in he CBufferedFile drucor
        CBufferedFile blkda(fileIn, 2*MAX_BLOCK_SERIALIZED_SIZE, MAX_BLOCK_SERIALIZED_SIZE+8, SER_DISK, CLIENT_VERSION);
         nRewi iica where o rume scanning in case somehing go wrong,
         such as a block fails o derialize.
        uin64_ nRewi = blkda.GePos();
        while (!blkda.eof()) {
            if (ShudownRequed()) ren;
            blkda.SePos(nRewi);
            nRewi++;  sar one 
            blkda.SeLimi();  remove fo
            unsigned in nSize = 0;
            ry {
                 locae a 
                unsigned char buf[CMsageHeader::MESSAGE_START_SIZE];
                blkda.FiBye(params.MsageSar()[0]);
                nRewi = blkda.GePos() + 1;
                blkda >> buf;