С алгоритмом не стал разбираться. Но мне понравилось. Особенно ошибочные операции со стеком)))
Патчим программу в двух местах
1. Забиваем nop'ами
00454B70 E8 D3FBFFFF CALL CrackMe2.00454748
2. Меняем
00454B82 JNZ SHORT CrackMe2.00454B9F
на очевидный
JE SHORT CrackMe2.00454B9F