一時ファイルに書き込むときにバイトを逆にする必要があるため、一度に読み込む必要がある非常に大きな BMP ファイルがあります。この BMP は 1.28GB で、「メモリ不足」エラーが発生します。そのサイズの配列を初期化できないため、(ReadAllBytes を使用して) 完全に読み取ることも、バイナリ配列へのバッファーを使用することもできません。また、途中でメモリが不足するため、バッファーを使用してリストに読み込むこともできません (Reverse() を使用できます)。
基本的に問題は、非常に大きなファイルを逆方向 (つまり、LastByte から始まり FirstByte で終わる) に読み取り、それをディスクに書き込むにはどうすればよいかということです。
おまけ: 反転したファイルをディスクに書き込むときは、最後の 54 バイトを書き込まないでください。