Hmm Stimmt, die Originalfunktion sieht in Wirklichkeit so aus:
Code:
0040876C /$ 55 PUSH EBP
0040876D |. 8BEC MOV EBP,ESP
0040876F |. 6A 00 PUSH 0
00408771 |. 6A 00 PUSH 0
00408773 |. 53 PUSH EBX
00408774 |. 8BD8 MOV EBX,EAX
00408776 |. 33C0 XOR EAX,EAX
00408778 |. 55 PUSH EBP
00408779 |. 68 FD874000 PUSH API_hook.004087FD
0040877E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00408781 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00408784 |. 83FB 05 CMP EBX,5
00408787 |. 75 19 JNZ SHORT API_hook.004087A2
00408789 |. A1 04934000 MOV EAX,DWORD PTR DS:[409304]
0040878E |. BA 14884000 MOV EDX,API_hook.00408814 ; ASCII "HA Ha..5 Geht doch!"
00408793 |. E8 C4BBFFFF CALL API_hook.0040435C
00408798 |. E8 DBA8FFFF CALL API_hook.00403078
0040879D |. E8 06A2FFFF CALL API_hook.004029A8
004087A2 |> 83FB 05 CMP EBX,5
004087A5 |. 74 3B JE SHORT API_hook.004087E2
004087A7 |. 68 30884000 PUSH API_hook.00408830 ; ASCII "Kein Problem! "
004087AC |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
004087AF |. 8BC3 MOV EAX,EBX
004087B1 |. E8 5ED5FFFF CALL API_hook.00405D14
004087B6 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8]
004087B9 |. 68 48884000 PUSH API_hook.00408848 ; ASCII " ist eine erlaubte Zahl."
004087BE |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
004087C1 |. BA 03000000 MOV EDX,3
004087C6 |. E8 55BAFFFF CALL API_hook.00404220
004087CB |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004087CE |. A1 04934000 MOV EAX,DWORD PTR DS:[409304]
004087D3 |. E8 84BBFFFF CALL API_hook.0040435C
004087D8 |. E8 9BA8FFFF CALL API_hook.00403078
004087DD |. E8 C6A1FFFF CALL API_hook.004029A8
004087E2 |> 33C0 XOR EAX,EAX
004087E4 |. 5A POP EDX
004087E5 |. 59 POP ECX
004087E6 |. 59 POP ECX
004087E7 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004087EA |. 68 04884000 PUSH API_hook.00408804
004087EF |> 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004087F2 |. BA 02000000 MOV EDX,2
004087F7 |. E8 14B7FFFF CALL API_hook.00403F10
004087FC \. C3 RETN
aber warum das so ist, kann ich wirklich nicht erraten.