Hi +splaj/bin81/LapTonic:
Finally, I have cracked this one...

and what a fun it was...
Okey lemme explain:
First of all we have two problem with the dumped executble:
(1) On running and clicking on evaulate, we get the horrible "Encrypt/Decrypt... Please repack this with ASPR and blah blah"..
(2) On click of each tab, we get GetProcAddress write error!
Solutions:
(1) This is complex. This is all because of indirect calls to ASPR code. The author must love calling into ASPR ;-)
There were (atleast) 3 re-directed calls.
a. at 00489E86: CALL [48AFA8] <-- replace with CALL 4898C4
b. at 004473A5: CALL [EBX+..] <-- replace with CALL 48460C
and the *final* one that completes the trick...
c. at 004843EA:
Here you'll find
at 004843EA: LEA EAX, EBP-0C
: CALL 004504E4 (Ugly function that causes the SEH to be trigged

)
If you, see this call is in a SEH, and when the SEH get triggered, you get our friend the ASPR MsgBox !
So we should make the SEH not to trigger. Just see the line below the CALL...
CMP DWORD PTR [EBP-0C], 00

So this is the trick, normally the code does not come here and even if it does EBP-0C will not be 00 with ASPR Ugh!
So as +splaj guru would say

, "patch"
at 004843EA: MOV DWORD PTR [EBP-0C], 00
(Opcodes: C7 45 F4 00 00 00 00
90 <--- NOP to make it 8 bytes

)
Press F5 Yayyyyyyy.... No more ASPR boxes... Phew!!!
For (2)
it is very very simple and binh81 nopping will not work
So my little trick: Look at the address 004507EA or something.... bpx there. See up there is a PUSH EBP (function prologue heh!!)
Put a simple RET there ... So no longer memory write checks will be done.
[Note fellow RCEs: we're successful in this because the function itself is returning RET and PUSH is called within the function. If the function returned anyting other than a simple RET such as RET 4 or RET 8, we will have a corrupted stack if we replace with simple RET]
Boom.. Boom... No more GetProcAddress Errors!!!!
Phew... was it a debuggin' session or what!!!!
Anyways, my most humble thanks to +splaj (for introducing me to the art of D-D

, binh81 for being there

)
One small question though:
What does the attached piece of code do and why does it generate a SEH?
Answers are gratefully accepted.
Signed,
-- FoxThree
PS: Still have 9 runs to go... close.. but still running...