Что сделано:
1) Найденный файловый офсет не проверялся на вхождение в файл
2) Не учитывалось, что системный загрузчик берет минимальное между файловым и виртуальным размерами
Что еще нужно сделать:
1) Файловое выравнивание может быть меньше чем 0x200.
Разработка функций RvaToRaw и RawToRva