ARTEAM EZINE ISSUE IV
Figure 82.
As you can see above, the Good or Bad Boy Message depends by the parameter passed to routine at the offset 0041A020h: if equal to 1 (like my case), it’s passed a ‘REGISTERFAIL’ template as parameter in DialogBoxParamA, else it’s set ‘REGISTEROK’ message! So, for this reason, I searched any reference to the command at the beginning of this procedure and I found two calls:
0040F391 PUSH 1
; Case BB9 of switch 0040E7A4
0040F393 CALL dwice.0041A020
; the final BAD judgment!!!
0040F2B8 MOV DWORD PTR DS:[4F1448],EBX 0040E7A4
; Case BB8 of switch
0040F2BE MOV DWORD PTR DS:[9EEC84],EBX
Well, my comments are quite clear, they comes from few tests and from the relative jumps at the address 0040F391h (see below):
Reversing the Protection’s scheme of Alexey Pajitnov’s game Dwice by Gyver75
125