Hattrick Manager v0.51 Keygen routine extracted * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00456D6D(C) | :00456D53 8B45F8 mov eax, dword ptr [ebp-08] :00456D56 E8E1CCFAFF call 00403A3C :00456D5B F7EB imul ebx <-- EAX * EBX. EAX:EDX :00456D5D 03C3 add eax, ebx :00456D5F 8B55F8 mov edx, dword ptr [ebp-08] :00456D62 0FB6541AFF movzx edx, byte ptr [edx+ebx-01] :00456D67 F7EA imul edx :00456D69 03F8 add edi, eax :00456D6B 43 inc ebx :00456D6C 4E dec esi :00456D6D 75E4 jne 00456D53 First we have the usual Name calculation. Easy to follow. Then there is some more final tuning of the code. * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:00456D4E(C) | :00456D6F 8B45F8 mov eax, dword ptr [ebp-08] :00456D72 E8C5CCFAFF call 00403A3C :00456D77 8BD8 mov ebx, eax :00456D79 8B4508 mov eax, dword ptr [ebp+08] :00456D7C E8BBCCFAFF call 00403A3C :00456D81 0FAFD8 imul ebx, eax :00456D84 8B4508 mov eax, dword ptr [ebp+08] :00456D87 E8A005FBFF call 0040732C :00456D8C 03D8 add ebx, eax :00456D8E 83C312 add ebx, 00000012 :00456D91 0FAFDF imul ebx, edi :00456D94 8BFB mov edi, ebx :00456D96 8D45DC lea eax, dword ptr [ebp-24] :00456D99 50 push eax :00456D9A 8D55DC lea edx, dword ptr [ebp-24] :00456D9D 8BC7 mov eax, edi :00456D9F E85805FBFF call 004072FC :00456DA4 8B45DC mov eax, dword ptr [ebp-24] :00456DA7 E890CCFAFF call 00403A3C :00456DAC 83E806 sub eax, 00000006 :00456DAF 50 push eax :00456DB0 8D55D8 lea edx, dword ptr [ebp-28] :00456DB3 8BC7 mov eax, edi :00456DB5 E84205FBFF call 004072FC :00456DBA 8B45D8 mov eax, dword ptr [ebp-28] :00456DBD B906000000 mov ecx, 00000006 :00456DC2 5A pop edx :00456DC3 E878CEFAFF call 00403C40 :00456DC8 8B55DC mov edx, dword ptr [ebp-24] :00456DCB 8B45FC mov eax, dword ptr [ebp-04] :00456DCE E879CDFAFF call 00403B4C <--- Here it gets cmp..! :00456DD3 0F9445E3 sete byte ptr [ebp-1D] :00456DD7 C645E201 mov [ebp-1E], 01 :00456DDB 8B45F0 mov eax, dword ptr [ebp-10] :00456DDE E859CCFAFF call 00403A3C :00456DE3 83F802 cmp eax, 00000002 :00456DE6 0F8E9A000000 jle 00456E86 :00456DEC BF4FA16200 mov edi, 0062A14F :00456DF1 8B45F0 mov eax, dword ptr [ebp-10] :00456DF4 E843CCFAFF call 00403A3C :00456DF9 8BF0 mov esi, eax :00456DFB 85F6 test esi, esi :00456DFD 7C1F jl 00456E1E :00456DFF 46 inc esi :00456E00 33DB xor ebx, ebx :00403B4C 53 push ebx :00403B4D 56 push esi :00403B4E 57 push edi :00403B4F 89C6 mov esi, eax :00403B51 89D7 mov edi, edx :00403B53 39D0 cmp eax, edx <-- ThaDa!!! :00403B55 0F848F000000 je 00403BEA