Ура, оно имеет виртуальный стек (вниз, и даже на 1кб вверх) для отлаживаемого исполнимого файла. Умеет команды call (0xe8) и retn (0xc3).
С call'ом забавно получилось (забавно настолько, что потерял несколько дней). Если перед ним стоит префикс 0x66, разные утилиты дизассемблируют по-разному. Как оказалось, Olly правильно, Hdasm неправильно. Я опкод e8 с префиксом 66 пока обрабатывать не стал, если видим такое, возвращаем ошибку.
Проверку на переход в участок памяти, непригодный для исполнения (т.е. участок только для чтения и/или записи), - это нужно править загрузчик EXE'шек, пока не делаю.
upd. 17.09 умеет push/pop imm32; mov r32,imm. meowth!