00401000 /$ 8B5424 04 mov edx, dword ptr [esp+4]
00401004 |. 33C0 xor eax, eax
00401006 |. 8A0A mov cl, byte ptr [edx]
00401008 |. 84C9
test
cl, cl
0040100A |. 74 10 je short TestRol.0040101C
0040100C |> 0FBEC9
/movsx
ecx, cl
0040100F |. C1C0 07 |rol eax, 7 ; 注意这行是编译出来的,不是内联汇编
00401012 |. 03C1 |add eax, ecx
00401014 |. 8A4A 01 |mov cl, byte ptr [edx+1]
00401017 |. 42 |inc edx
00401018 |. 84C9 |
test
cl, cl
0040101A |.^ 75 F0 \jnz short TestRol.0040100C
0040101C \> C3 retn
0040101D 90 nop
0040101E 90 nop
0040101F 90 nop
00401020 /$ 68 48704000 push TestRol.00407048 ; ASCII
"MessageBoxA"
00401025 |. E8 D6FFFFFF call TestRol.00401000
0040102A |. 50 push eax
0040102B |. 68 30704000 push TestRol.00407030 ; ASCII
"result of hash is %.8x"
,LF
00401030 |. E8 BD010000 call TestRol.004011F2
00401035 |. A1 5C704000 mov eax, dword ptr [40705C]
0040103A |. 83C4 0C add esp, 0C
0040103D |. 48 dec eax
0040103E |. A3 5C704000 mov dword ptr [40705C], eax
00401043 |. 78 07 js short TestRol.0040104C
00401045 |. FF05 58704000 inc dword ptr [407058] ;
0040104B |. C3 retn
0040104C |> 68 58704000 push TestRol.00407058
00401051 |. E8 0A000000 call TestRol.00401060
00401056 |. 59 pop ecx
00401057 \. C3 retn