Haz lo siguiente: compila ese codigo que has puesto y fijate con un debugger (por ej. OllyDbg) lo que hay en EntryPoint del EXE...
No se si sera igual en todos los compiladores, pero masm me hace esto:
00401000 > 57 PUSH EDI ; ntdll.7C910208
00401001 696E 41 736D205>IMUL EBP,DWORD PTR DS:[ESI+41],54206D73
00401008 65:6D INS DWORD PTR ES:[EDI],DX ; I/O command
0040100A 70 6C JO SHORT caca1.00401078
0040100C 61 POPAD
0040100D 74 65 JE SHORT caca1.00401074
0040100F 005468 69 ADD BYTE PTR DS:[EAX+EBP*2+69],DL
00401013 73 20 JNB SHORT caca1.00401035
00401015 6973 20 6120626>IMUL ESI,DWORD PTR DS:[EBX+20],61622061
0040101C 72 65 JB SHORT caca1.00401083
0040101E 2062 6F AND BYTE PTR DS:[EDX+6F],AH
00401021 6E OUTS DX,BYTE PTR ES:[EDI] ; I/O command
00401022 65:73 20 JNB SHORT caca1.00401045 ; Superfluous prefix
00401025 65:78 65 JS SHORT caca1.0040108D ; Superfluous prefix
00401028 2061 70 AND BYTE PTR DS:[ECX+70],AH
0040102B 70 6C JO SHORT caca1.00401099
0040102D 6963 61 74696F6>IMUL ESP,DWORD PTR DS:[EBX+61],6E6F6974
00401034 2E:0000 ADD BYTE PTR CS:[EAX],AL
Osea, cualquier cosa...