Sometimes a look under the hood is a good idea: _asm int 3;
Sleep(0);
_asm nop;
_asm nop;
_asm nop;
_asm int 3;
_sleep(0);
_asm nop;
_asm nop;
_asm nop;
CPU Disasm
Address Hex dump Command Comments
00401003 ³. CD 03 int 3
00401005 ³. 6A 00 push 0 ; ÚTime = 0
00401007 ³. FF15 D8504000 call near [<&KERNEL32.Sleep>] ; ÀKERNEL32.Sleep
0040100D ³. 90 nop
0040100E ³. 90 nop
0040100F ³. 90 nop
00401010 ³. CD 03 int 3
00401012 ³. 6A 00 push 0 ; ÚArg1 = 0
00401014 ³. E8 27000000 call 00401040 ; ÀC_HelloWorldCon.00401040
00401019 ³. 83C4 04 add esp, 4
...
CPU Disasm
Address Hex dump Command Comments
00401040 Ú$ 8B4424 04 mov eax, [esp+4] ; C_HelloWorldCon.00401040(guessed Arg1)
00401044 ³. BA FFFF0000 mov edx, 0FFFF
00401049 ³. 3D FFFF0000 cmp eax, 0FFFF
0040104E ³. 0F47C2 cmova eax, edx
00401051 ³. 69C0 E8030000 imul eax, eax, 3E8
00401057 ³. 50 push eax ; ÚTime ***** null! *****
00401058 ³. FF15 D8504000 call near [<&KERNEL32.Sleep>] ; ÀKERNEL32.Sleep
0040105E ³. 31C0 xor eax, eax
00401060 À. C3 retn