This task provide us an executable that after doing a long list of calculations it will print the flag. But these calculations are really too expensive for carry them out so we need a patch to simplify them. Basically what the program do is call the "main" function sub_4012F0() which it calls other 3 functions sub_401000(),sub_401100(),sub_401220() with huge numbers as parameter. What this functions do in reality is really simple but its written in a inefficent-way that slow-down the program:
- sub_401000(): on the first loop it just does a1-=v3 while in the second loop it does a1-=v4
- sub_401100(): the first loop leave it just like that while in the second it just does a1+=v4
- sub_401220(): in the first loop it does a1+=v3 while in the second a1+=v4.
Now patching the exe with this tips will make the program flow way faster (it will last 10-15mins the execution time).
http://pastebin.com/cnagTZH2 Hexrays dump of the 4 function listed above.
/rev200.tar.gz Patched binary.