• 标 题:简单算法——The All-Seeing Eye
  • 作 者:fly
  • 时 间:2003/04/03 09:50am 
  • 链 接:http://bbs.pediy.com

下载页面:http://www.udpsoft.com/eye
软件大小:404K

【软件简介】:狄奥尼索斯 说:很好用的网络游戏登入软件。呵呵,我不知道,我不用。

【软件限制】:功能限制。如果没有注册就只能用一天。

【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!

【破解工具】:TRW2000娃娃修改版、Ollydbg1.09、FI2.5、UPXWin、W32Dasm 10修改版

—————————————————————————————————
【过    程】:


eye.exe是UPX壳,用UPXWIN脱之。404K->1.30M。Visual C++ 5.0编写。

首先运行一下,看看作者给我们的“提示”。呵呵,作者说必须要小写字母。
反汇编,很容易就找到了核心。让我们看看吧。


试炼码:abcdefghhijklmnofghj   (20位。必须在a-o之间。)
—————————————————————————————————
:00472129 6A01                    push 00000001
:0047212B E83E5C0300              call 004A7D6E
:00472130 8B4F64                  mov ecx, dword ptr [edi+64]
                                 ====>ECX=abcdefghhijklmnofghj

:00472133 8A01                    mov al, byte ptr [ecx]
                                 ====>逐位取试炼码字符的HEX值

:00472135 33F6                    xor esi, esi
:00472137 33ED                    xor ebp, ebp
:00472139 33DB                    xor ebx, ebx
:0047213B 84C0                    test al, al
:0047213D 89742410                mov dword ptr [esp+10], esi
:00472141 7462                    je 004721A5

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472191(C)
|
:00472143 3C61                    cmp al, 61
                                 ====>小于61?

:00472145 7C40                    jl 00472187
:00472147 3C70                    cmp al, 70
                                 ====>大于70?
                                 ====>所以:注册码要求在 a-o 之间。(包括a、o)

:00472149 7F3C                    jg 00472187
:0047214B 83FE08                  cmp esi, 00000008
                                 ====>前8位不跳

:0047214E 7D0C                    jge 0047215C
:00472150 0FBEC0                  movsx eax, al
:00472153 C1E504                  shl ebp, 04
:00472156 8D6C059F                lea ebp, dword ptr [ebp+eax-61]
                                 ====>前8位字符的HXE值-61 入EBP
                                 ====>结果:EBP=01234567

:0047215A EB23                    jmp 0047217F

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047214E(C)
|
:0047215C 83FE10                  cmp esi, 00000010
                                 ====>8-16位不跳

:0047215F 7D0C                    jge 0047216D
:00472161 0FBED0                  movsx edx, al
:00472164 C1E304                  shl ebx, 04
:00472167 8D5C139F                lea ebx, dword ptr [ebx+edx-61]
                                 ====>8-16位字符的HXE值-61 入EBX
                                 ====>结果:EBX=789ABCDE

:0047216B EB12                    jmp 0047217F

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0047215F(C)
|
:0047216D 8B542410                mov edx, dword ptr [esp+10]
:00472171 0FBEC0                  movsx eax, al
:00472174 C1E204                  shl edx, 04
:00472177 8D54029F                lea edx, dword ptr [edx+eax-61]
                                 ====>最后4位字符的HXE值-61 入EDX
                                 ====>结果:EDX=5679

:0047217B 89542410                mov dword ptr [esp+10], edx
                                 ====>[esp+10]=EDX=5679

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0047215A(U), :0047216B(U)
|
:0047217F 46                      inc esi
:00472180 83FE14                  cmp esi, 00000014
:00472183 7420                    je 004721A5
:00472185 EB04                    jmp 0047218B

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00472145(C), :00472149(C)
|
:00472187 3C2D                    cmp al, 2D
:00472189 750A                    jne 00472195

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472185(U)
|
:0047218B 8A4101                  mov al, byte ptr [ecx+01]
:0047218E 41                      inc ecx
:0047218F 84C0                    test al, al
:00472191 75B0                    jne 00472143
:00472193 EB10                    jmp 004721A5

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472189(C)
|
:00472195 6A00                    push 00000000
:00472197 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"Use lowercase letters. There are "
                                       ->"no numbers in the code. The OK-button "
                                       ->"will reactivate when you have "
                                       ->"entered the full code correctly. "
                                       ->"Copy-pasting the code from the "
                                       ->"email would be the easist way."
                                 ====>BAD BOY!作者给的提示!

:00472199 6858714E00              push 004E7158
:0047219E 8BCF                    mov ecx, edi
:004721A0 E828EA0300              call 004B0BCD

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00472141(C), :00472183(C), :00472193(U)
|
:004721A5 85F6                    test esi, esi
:004721A7 7454                    je 004721FD
:004721A9 83FE14                  cmp esi, 00000014
                                 ====>是否20位?
                                 ====>所以:注册码要求20位

:004721AC 754B                    jne 004721F9
                                 ====>跳则OVER!

:004721AE 8D4C242C                lea ecx, dword ptr [esp+2C]
:004721B2 896C2414                mov dword ptr [esp+14], ebp
                                 ====>[esp+14]=01234567

:004721B6 895C2418                mov dword ptr [esp+18], ebx
                                 ====>[esp+18]=789ABCDE

:004721BA E8B137FAFF              call 00415970
                                 ====>此CALL在内存007AF410处放置一串字符。程序自给。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
007AF410 内存处的值:

007AF410  01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10  #Eg壂惋簶vT289 A
007AF420  00 00 00 00 00 00 00 00                          ........
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


:004721BF 6A08                    push 00000008
:004721C1 8D542418                lea edx, dword ptr [esp+18]
:004721C5 8D4C2430                lea ecx, dword ptr [esp+30]
:004721C9 E8D237FAFF              call 004159A0
:004721CE 8D54242C                lea edx, dword ptr [esp+2C]
:004721D2 8D4C241C                lea ecx, dword ptr [esp+1C]
:004721D6 E89538FAFF              call 00415A70
                                 ====>关键CALL!
对上面的值进行运算得出下面的EAX和ECX值。呵呵,里面很多的异或和四则运算呀!变!

:004721DB 8B44241D                mov eax, dword ptr [esp+1D]
                                 ====>EAX=[esp+1D]=D98480EA

:004721DF 8B4C241C                mov ecx, dword ptr [esp+1C]
                                 ====>ECX=[esp+1C]=8480EA16

:004721E3 25FF000000              and eax, 000000FF
                                 ====>EAX=D98480EA AND FF=EA

:004721E8 81E1FF000000            and ecx, 000000FF
                                 ====>ECX=8480EA16 AND FF=16

:004721EE C1E008                  shl eax, 08
                                 ====>EAX=EA SHL 08=EA00

:004721F1 03C1                    add eax, ecx
                                 ====>EAX=EA00 + 16=EA16

:004721F3 3B442410                cmp eax, dword ptr [esp+10]
                                 ====>EAX=EA16      这是对前8位和8-16位运算得出的值
                                 ====>[esp+10]=5679 这是最后4位字符的HXE值-61后的值

呵呵,只要我们这2者相等就OK了。^-^^-^ 所以我们可以让 最后4位字符的HXE值-61后的值=EA16 就行了!

因此:简单求逆最后4位应为:okbg


:004721F7 7404                    je 004721FD
                                 ====>不跳则OVER!

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004721AC(C)
|
:004721F9 33C0                    xor eax, eax
                                 ====>清0则OVER!

:004721FB EB05                    jmp 00472202

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004721A7(C), :004721F7(C)
|
:004721FD B801000000              mov eax, 00000001
                                 ====>置1则OK!

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004721FB(U)
|
:00472202 50                      push eax
:00472203 6A01                    push 00000001
:00472205 8BCF                    mov ecx, edi
:00472207 E8BC630300              call 004A85C8
:0047220C 8BC8                    mov ecx, eax
:0047220E E892660300              call 004A88A5
:00472213 896F5C                  mov dword ptr [edi+5C], ebp
:00472216 895F60                  mov dword ptr [edi+60], ebx
:00472219 5F                      pop edi
:0047221A 5E                      pop esi
:0047221B 5D                      pop ebp
:0047221C 5B                      pop ebx
:0047221D 83C474                  add esp, 00000074
:00472220 C3                      ret

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004720D8(C), :004720DF(C)
|
:00472100 6A00                    push 00000000
:00472102 6A00                    push 00000000

* Possible StringData Ref from Data Obj ->"Thanks for registering!"
                                 ====>呵呵,胜利女神!

:00472104 6804714E00              push 004E7104


—————————————————————————————————
呵呵,下面是关键运算CALL里面的东西。变!其实作者如果也对最后4位字符的值进行如此这般的运算,那么我们求逆就会复杂的多了。^Q^^Q^^Q^^Q^


* Referenced by a CALL at Addresses:
|:004159FE   , :00415A2F   , :00415AAB   , :00415ADF  
|
:00415B10 83EC44                  sub esp, 00000044
:00415B13 8B02                    mov eax, dword ptr [edx]
:00415B15 53                      push ebx
:00415B16 8B5904                  mov ebx, dword ptr [ecx+04]
:00415B19 55                      push ebp
:00415B1A 894C2448                mov dword ptr [esp+48], ecx
:00415B1E 56                      push esi
:00415B1F 8B710C                  mov esi, dword ptr [ecx+0C]
:00415B22 57                      push edi
:00415B23 8B7908                  mov edi, dword ptr [ecx+08]
:00415B26 8B09                    mov ecx, dword ptr [ecx]
:00415B28 8BEE                    mov ebp, esi
:00415B2A 33EF                    xor ebp, edi
:00415B2C 23EB                    and ebp, ebx
:00415B2E 33EE                    xor ebp, esi
:00415B30 03E8                    add ebp, eax
:00415B32 8D8C0D78A46AD7          lea ecx, dword ptr [ebp+ecx-28955B88]
:00415B39 89442410                mov dword ptr [esp+10], eax
:00415B3D 8BC1                    mov eax, ecx
:00415B3F C1E107                  shl ecx, 07
:00415B42 C1E819                  shr eax, 19
:00415B45 0BC1                    or eax, ecx
:00415B47 8B4A04                  mov ecx, dword ptr [edx+04]
:00415B4A 03C3                    add eax, ebx
:00415B4C 8BEF                    mov ebp, edi
:00415B4E 33EB                    xor ebp, ebx
:00415B50 23E8                    and ebp, eax
:00415B52 33EF                    xor ebp, edi
:00415B54 03E9                    add ebp, ecx
:00415B56 894C2424                mov dword ptr [esp+24], ecx
:00415B5A 8D8C2E56B7C7E8          lea ecx, dword ptr [esi+ebp-173848AA]
:00415B61 8BF1                    mov esi, ecx
:00415B63 C1E10C                  shl ecx, 0C
:00415B66 C1EE14                  shr esi, 14
:00415B69 0BF1                    or esi, ecx
:00415B6B 8B4A08                  mov ecx, dword ptr [edx+08]
:00415B6E 03F0                    add esi, eax
:00415B70 8BEB                    mov ebp, ebx
:00415B72 33E8                    xor ebp, eax
:00415B74 23EE                    and ebp, esi
:00415B76 33EB                    xor ebp, ebx
:00415B78 03E9                    add ebp, ecx
:00415B7A 894C2444                mov dword ptr [esp+44], ecx
:00415B7E 8D8C2FDB702024          lea ecx, dword ptr [edi+ebp+242070DB]
:00415B85 8BF9                    mov edi, ecx
:00415B87 C1E90F                  shr ecx, 0F
:00415B8A C1E711                  shl edi, 11
:00415B8D 0BF9                    or edi, ecx
:00415B8F 8B4A0C                  mov ecx, dword ptr [edx+0C]
:00415B92 03FE                    add edi, esi
:00415B94 8BEE                    mov ebp, esi
:00415B96 33E8                    xor ebp, eax
:00415B98 23EF                    and ebp, edi
:00415B9A 33E8                    xor ebp, eax
:00415B9C 03E9                    add ebp, ecx
:00415B9E 894C241C                mov dword ptr [esp+1C], ecx
:00415BA2 8D8C2BEECEBDC1          lea ecx, dword ptr [ebx+ebp-3E423112]
:00415BA9 8BD9                    mov ebx, ecx
:00415BAB C1E90A                  shr ecx, 0A
:00415BAE C1E316                  shl ebx, 16
:00415BB1 0BD9                    or ebx, ecx
:00415BB3 8B4A10                  mov ecx, dword ptr [edx+10]
:00415BB6 03DF                    add ebx, edi
:00415BB8 8BEE                    mov ebp, esi
:00415BBA 33EF                    xor ebp, edi
:00415BBC 23EB                    and ebp, ebx
:00415BBE 33EE                    xor ebp, esi
:00415BC0 03E9                    add ebp, ecx
:00415BC2 8D8428AF0F7CF5          lea eax, dword ptr [eax+ebp-0A83F051]
:00415BC9 894C2434                mov dword ptr [esp+34], ecx
:00415BCD 8BC8                    mov ecx, eax
:00415BCF C1E919                  shr ecx, 19
:00415BD2 C1E007                  shl eax, 07
:00415BD5 0BC8                    or ecx, eax
:00415BD7 8B4214                  mov eax, dword ptr [edx+14]
:00415BDA 8BEF                    mov ebp, edi
:00415BDC 33EB                    xor ebp, ebx
:00415BDE 03CB                    add ecx, ebx
:00415BE0 23E9                    and ebp, ecx
:00415BE2 33EF                    xor ebp, edi
:00415BE4 89442418                mov dword ptr [esp+18], eax
:00415BE8 03E8                    add ebp, eax
:00415BEA 8DB42E2AC68747          lea esi, dword ptr [esi+ebp+4787C62A]
:00415BF1 8BC6                    mov eax, esi
:00415BF3 C1E60C                  shl esi, 0C
:00415BF6 C1E814                  shr eax, 14
:00415BF9 0BC6                    or eax, esi
:00415BFB 8B7218                  mov esi, dword ptr [edx+18]
:00415BFE 03C1                    add eax, ecx
:00415C00 8BEB                    mov ebp, ebx
:00415C02 33E9                    xor ebp, ecx
:00415C04 23E8                    and ebp, eax
:00415C06 33EB                    xor ebp, ebx
:00415C08 03EE                    add ebp, esi
:00415C0A 8DBC2F134630A8          lea edi, dword ptr [edi+ebp-57CFB9ED]
:00415C11 8974242C                mov dword ptr [esp+2C], esi
:00415C15 8BF7                    mov esi, edi
:00415C17 C1EF0F                  shr edi, 0F
:00415C1A C1E611                  shl esi, 11
:00415C1D 0BF7                    or esi, edi
:00415C1F 8B7A1C                  mov edi, dword ptr [edx+1C]
:00415C22 03F0                    add esi, eax
:00415C24 8BE8                    mov ebp, eax
:00415C26 33E9                    xor ebp, ecx
:00415C28 23EE                    and ebp, esi
:00415C2A 33E9                    xor ebp, ecx
:00415C2C 03EF                    add ebp, edi
:00415C2E 8D9C2B019546FD          lea ebx, dword ptr [ebx+ebp-02B96AFF]
:00415C35 897C2414                mov dword ptr [esp+14], edi
:00415C39 8BFB                    mov edi, ebx
:00415C3B C1EB0A                  shr ebx, 0A
:00415C3E 8BE8                    mov ebp, eax
:00415C40 33EE                    xor ebp, esi
:00415C42 C1E716                  shl edi, 16
:00415C45 0BFB                    or edi, ebx
:00415C47 8B5A20                  mov ebx, dword ptr [edx+20]
:00415C4A 03FE                    add edi, esi
:00415C4C 23EF                    and ebp, edi
:00415C4E 33E8                    xor ebp, eax
:00415C50 03EB                    add ebp, ebx
:00415C52 8D8C29D8988069          lea ecx, dword ptr [ecx+ebp+698098D8]
:00415C59 895C2428                mov dword ptr [esp+28], ebx
:00415C5D 8BD9                    mov ebx, ecx
:00415C5F C1E107                  shl ecx, 07
:00415C62 8BEE                    mov ebp, esi
:00415C64 33EF                    xor ebp, edi
:00415C66 C1EB19                  shr ebx, 19
:00415C69 0BD9                    or ebx, ecx
:00415C6B 8B4A24                  mov ecx, dword ptr [edx+24]
:00415C6E 03DF                    add ebx, edi
:00415C70 23EB                    and ebp, ebx
:00415C72 33EE                    xor ebp, esi
:00415C74 03E9                    add ebp, ecx
:00415C76 8D8428AFF7448B          lea eax, dword ptr [eax+ebp-74BB0851]
:00415C7D 894C243C                mov dword ptr [esp+3C], ecx
:00415C81 8BC8                    mov ecx, eax
:00415C83 C1E00C                  shl eax, 0C
:00415C86 C1E914                  shr ecx, 14
:00415C89 0BC8                    or ecx, eax
:00415C8B 8B4228                  mov eax, dword ptr [edx+28]
:00415C8E 03CB                    add ecx, ebx
:00415C90 8BEF                    mov ebp, edi
:00415C92 33EB                    xor ebp, ebx
:00415C94 23E9                    and ebp, ecx
:00415C96 33EF                    xor ebp, edi
:00415C98 03E8                    add ebp, eax
:00415C9A 8DB42EB15BFFFF          lea esi, dword ptr [esi+ebp-0000A44F]
:00415CA1 89442420                mov dword ptr [esp+20], eax
:00415CA5 8BC6                    mov eax, esi
:00415CA7 C1EE0F                  shr esi, 0F
:00415CAA C1E011                  shl eax, 11
:00415CAD 0BC6                    or eax, esi
:00415CAF 8B722C                  mov esi, dword ptr [edx+2C]
:00415CB2 8BE9                    mov ebp, ecx
:00415CB4 33EB                    xor ebp, ebx
:00415CB6 03C1                    add eax, ecx
:00415CB8 23E8                    and ebp, eax
:00415CBA 33EB                    xor ebp, ebx
:00415CBC 03EE                    add ebp, esi
:00415CBE 89742438                mov dword ptr [esp+38], esi
:00415CC2 8DBC2FBED75C89          lea edi, dword ptr [edi+ebp-76A32842]
:00415CC9 8BF7                    mov esi, edi
:00415CCB C1E616                  shl esi, 16
:00415CCE C1EF0A                  shr edi, 0A
:00415CD1 0BF7                    or esi, edi
:00415CD3 8B7A30                  mov edi, dword ptr [edx+30]
:00415CD6 03F0                    add esi, eax
:00415CD8 8BE9                    mov ebp, ecx
:00415CDA 33E8                    xor ebp, eax
:00415CDC 23EE                    and ebp, esi
:00415CDE 33E9                    xor ebp, ecx
:00415CE0 03EF                    add ebp, edi
:00415CE2 8D9C2B2211906B          lea ebx, dword ptr [ebx+ebp+6B901122]
:00415CE9 897C2440                mov dword ptr [esp+40], edi
:00415CED 8BFB                    mov edi, ebx
:00415CEF C1EF19                  shr edi, 19
:00415CF2 C1E307                  shl ebx, 07
:00415CF5 0BFB                    or edi, ebx
:00415CF7 8B5A34                  mov ebx, dword ptr [edx+34]
:00415CFA 03FE                    add edi, esi
:00415CFC 8BE8                    mov ebp, eax
:00415CFE 33EE                    xor ebp, esi
:00415D00 23EF                    and ebp, edi
:00415D02 33E8                    xor ebp, eax
:00415D04 03EB                    add ebp, ebx
:00415D06 8D8C29937198FD          lea ecx, dword ptr [ecx+ebp-02678E6D]
:00415D0D 8B6A38                  mov ebp, dword ptr [edx+38]
:00415D10 895C2430                mov dword ptr [esp+30], ebx
:00415D14 8BD9                    mov ebx, ecx
:00415D16 C1E10C                  shl ecx, 0C
:00415D19 C1EB14                  shr ebx, 14
:00415D1C 0BD9                    or ebx, ecx
:00415D1E 03DF                    add ebx, edi
:00415D20 8BCE                    mov ecx, esi
:00415D22 33CF                    xor ecx, edi
:00415D24 8B523C                  mov edx, dword ptr [edx+3C]
:00415D27 23CB                    and ecx, ebx
:00415D29 33CE                    xor ecx, esi
:00415D2B 03CD                    add ecx, ebp
:00415D2D 8D84088E4379A6          lea eax, dword ptr [eax+ecx-5986BC72]
:00415D34 8BC8                    mov ecx, eax
:00415D36 C1E80F                  shr eax, 0F
:00415D39 C1E111                  shl ecx, 11
:00415D3C 0BC8                    or ecx, eax
:00415D3E 03CB                    add ecx, ebx
:00415D40 8BC3                    mov eax, ebx
:00415D42 33C7                    xor eax, edi
:00415D44 23C1                    and eax, ecx
:00415D46 33C7                    xor eax, edi
:00415D48 03C2                    add eax, edx
:00415D4A 8DB4062108B449          lea esi, dword ptr [esi+eax+49B40821]
:00415D51 8BC6                    mov eax, esi
:00415D53 C1EE0A                  shr esi, 0A
:00415D56 C1E016                  shl eax, 16
:00415D59 0BC6                    or eax, esi
:00415D5B 03C1                    add eax, ecx
:00415D5D 8BF1                    mov esi, ecx
:00415D5F 33F0                    xor esi, eax
:00415D61 23F3                    and esi, ebx
:00415D63 33F1                    xor esi, ecx
:00415D65 03742424                add esi, dword ptr [esp+24]
:00415D69 896C2448                mov dword ptr [esp+48], ebp
:00415D6D 8DBC3762251EF6          lea edi, dword ptr [edi+esi-09E1DA9E]
:00415D74 8BF7                    mov esi, edi
:00415D76 C1E705                  shl edi, 05
:00415D79 C1EE1B                  shr esi, 1B
:00415D7C 0BF7                    or esi, edi
:00415D7E 03F0                    add esi, eax
:00415D80 8BF8                    mov edi, eax
:00415D82 33FE                    xor edi, esi
:00415D84 23F9                    and edi, ecx
:00415D86 33F8                    xor edi, eax
:00415D88 037C242C                add edi, dword ptr [esp+2C]
:00415D8C 8954244C                mov dword ptr [esp+4C], edx
:00415D90 8D9C3B40B340C0          lea ebx, dword ptr [ebx+edi-3FBF4CC0]
:00415D97 8BFB                    mov edi, ebx
:00415D99 C1E309                  shl ebx, 09
:00415D9C C1EF17                  shr edi, 17
:00415D9F 0BFB                    or edi, ebx
:00415DA1 03FE                    add edi, esi
:00415DA3 8BDF                    mov ebx, edi
:00415DA5 33DE                    xor ebx, esi
:00415DA7 23D8                    and ebx, eax
:00415DA9 33DE                    xor ebx, esi
:00415DAB 035C2438                add ebx, dword ptr [esp+38]
:00415DAF 8D9C19515A5E26          lea ebx, dword ptr [ecx+ebx+265E5A51]
:00415DB6 8BCB                    mov ecx, ebx
:00415DB8 C1E30E                  shl ebx, 0E
:00415DBB C1E912                  shr ecx, 12
:00415DBE 0BCB                    or ecx, ebx
:00415DC0 03CF                    add ecx, edi
:00415DC2 8BDF                    mov ebx, edi
:00415DC4 33D9                    xor ebx, ecx
:00415DC6 23DE                    and ebx, esi
:00415DC8 33DF                    xor ebx, edi
:00415DCA 035C2410                add ebx, dword ptr [esp+10]
:00415DCE 8D9C18AAC7B6E9          lea ebx, dword ptr [eax+ebx-16493856]
:00415DD5 8BC3                    mov eax, ebx
:00415DD7 C1EB0C                  shr ebx, 0C
:00415DDA C1E014                  shl eax, 14
:00415DDD 0BC3                    or eax, ebx
:00415DDF 03C1                    add eax, ecx
:00415DE1 8BD9                    mov ebx, ecx
:00415DE3 33D8                    xor ebx, eax
:00415DE5 23DF                    and ebx, edi
:00415DE7 33D9                    xor ebx, ecx
:00415DE9 035C2418                add ebx, dword ptr [esp+18]
:00415DED 8D9C1E5D102FD6          lea ebx, dword ptr [esi+ebx-29D0EFA3]
:00415DF4 8BF3                    mov esi, ebx
:00415DF6 C1E305                  shl ebx, 05
:00415DF9 C1EE1B                  shr esi, 1B
:00415DFC 0BF3                    or esi, ebx
:00415DFE 03F0                    add esi, eax
:00415E00 8BD8                    mov ebx, eax
:00415E02 33DE                    xor ebx, esi
:00415E04 23D9                    and ebx, ecx
:00415E06 33D8                    xor ebx, eax
:00415E08 035C2420                add ebx, dword ptr [esp+20]
:00415E0C 8D9C1F53144402          lea ebx, dword ptr [edi+ebx+02441453]
:00415E13 8BFB                    mov edi, ebx
:00415E15 C1E309                  shl ebx, 09
:00415E18 C1EF17                  shr edi, 17
:00415E1B 0BFB                    or edi, ebx
:00415E1D 03FE                    add edi, esi
:00415E1F 8BDF                    mov ebx, edi
:00415E21 33DE                    xor ebx, esi
:00415E23 23D8                    and ebx, eax
:00415E25 33DE                    xor ebx, esi
:00415E27 03DA                    add ebx, edx
:00415E29 8D941981E6A1D8          lea edx, dword ptr [ecx+ebx-275E197F]
:00415E30 8BCA                    mov ecx, edx
:00415E32 8B5C2434                mov ebx, dword ptr [esp+34]
:00415E36 C1E20E                  shl edx, 0E
:00415E39 C1E912                  shr ecx, 12
:00415E3C 0BCA                    or ecx, edx
:00415E3E 03CF                    add ecx, edi
:00415E40 8BD7                    mov edx, edi
:00415E42 33D1                    xor edx, ecx
:00415E44 23D6                    and edx, esi
:00415E46 33D7                    xor edx, edi
:00415E48 03D3                    add edx, ebx
:00415E4A 8B5C243C                mov ebx, dword ptr [esp+3C]
:00415E4E 8D9410C8FBD3E7          lea edx, dword ptr [eax+edx-182C0438]
:00415E55 8BC2                    mov eax, edx
:00415E57 C1EA0C                  shr edx, 0C
:00415E5A C1E014                  shl eax, 14
:00415E5D 0BC2                    or eax, edx
:00415E5F 03C1                    add eax, ecx
:00415E61 8BD1                    mov edx, ecx
:00415E63 33D0                    xor edx, eax
:00415E65 23D7                    and edx, edi
:00415E67 33D1                    xor edx, ecx
:00415E69 03D3                    add edx, ebx
:00415E6B 8D9416E6CDE121          lea edx, dword ptr [esi+edx+21E1CDE6]
:00415E72 8BF2                    mov esi, edx
:00415E74 C1E205                  shl edx, 05
:00415E77 C1EE1B                  shr esi, 1B
:00415E7A 0BF2                    or esi, edx
:00415E7C 03F0                    add esi, eax
:00415E7E 8BD0                    mov edx, eax
:00415E80 33D6                    xor edx, esi
:00415E82 23D1                    and edx, ecx
:00415E84 33D0                    xor edx, eax
:00415E86 03D5                    add edx, ebp
:00415E88 8D9417D60737C3          lea edx, dword ptr [edi+edx-3CC8F82A]
:00415E8F 8BFA                    mov edi, edx
:00415E91 C1E209                  shl edx, 09
:00415E94 8B6C241C                mov ebp, dword ptr [esp+1C]
:00415E98 C1EF17                  shr edi, 17
:00415E9B 0BFA                    or edi, edx
:00415E9D 03FE                    add edi, esi
:00415E9F 8BD7                    mov edx, edi
:00415EA1 33D6                    xor edx, esi
:00415EA3 23D0                    and edx, eax
:00415EA5 33D6                    xor edx, esi
:00415EA7 03D5                    add edx, ebp
:00415EA9 8D9411870DD5F4          lea edx, dword ptr [ecx+edx-0B2AF279]
:00415EB0 8BCA                    mov ecx, edx
:00415EB2 C1E20E                  shl edx, 0E
:00415EB5 8B6C2428                mov ebp, dword ptr [esp+28]
:00415EB9 C1E912                  shr ecx, 12
:00415EBC 0BCA                    or ecx, edx
:00415EBE 03CF                    add ecx, edi
:00415EC0 8BD7                    mov edx, edi
:00415EC2 33D1                    xor edx, ecx
:00415EC4 23D6                    and edx, esi
:00415EC6 33D7                    xor edx, edi
:00415EC8 03D5                    add edx, ebp
:00415ECA 8D9410ED145A45          lea edx, dword ptr [eax+edx+455A14ED]
:00415ED1 8BC2                    mov eax, edx
:00415ED3 8B6C2430                mov ebp, dword ptr [esp+30]
:00415ED7 C1EA0C                  shr edx, 0C
:00415EDA 8B5C2444                mov ebx, dword ptr [esp+44]
:00415EDE C1E014                  shl eax, 14
:00415EE1 0BC2                    or eax, edx
:00415EE3 03C1                    add eax, ecx
:00415EE5 8BD1                    mov edx, ecx
:00415EE7 33D0                    xor edx, eax
:00415EE9 23D7                    and edx, edi
:00415EEB 33D1                    xor edx, ecx
:00415EED 03D5                    add edx, ebp
:00415EEF 8D941605E9E3A9          lea edx, dword ptr [esi+edx-561C16FB]
:00415EF6 8BF2                    mov esi, edx
:00415EF8 C1E205                  shl edx, 05
:00415EFB C1EE1B                  shr esi, 1B
:00415EFE 0BF2                    or esi, edx
:00415F00 03F0                    add esi, eax
:00415F02 8BD0                    mov edx, eax
:00415F04 33D6                    xor edx, esi
:00415F06 23D1                    and edx, ecx
:00415F08 33D0                    xor edx, eax
:00415F0A 03D3                    add edx, ebx
:00415F0C 8DBC17F8A3EFFC          lea edi, dword ptr [edi+edx-03105C08]
:00415F13 8BDF                    mov ebx, edi
:00415F15 C1E709                  shl edi, 09
:00415F18 C1EB17                  shr ebx, 17
:00415F1B 0BDF                    or ebx, edi
:00415F1D 8B7C2414                mov edi, dword ptr [esp+14]
:00415F21 8B6C2440                mov ebp, dword ptr [esp+40]
:00415F25 03DE                    add ebx, esi
:00415F27 8BD3                    mov edx, ebx
:00415F29 33D6                    xor edx, esi
:00415F2B 23D0                    and edx, eax
:00415F2D 33D6                    xor edx, esi
:00415F2F 03D7                    add edx, edi
:00415F31 8D8C11D9026F67          lea ecx, dword ptr [ecx+edx+676F02D9]
:00415F38 8BF9                    mov edi, ecx
:00415F3A C1E10E                  shl ecx, 0E
:00415F3D C1EF12                  shr edi, 12
:00415F40 0BF9                    or edi, ecx
:00415F42 03FB                    add edi, ebx
:00415F44 8BD3                    mov edx, ebx
:00415F46 33D7                    xor edx, edi
:00415F48 8BCA                    mov ecx, edx
:00415F4A 23CE                    and ecx, esi
:00415F4C 33CB                    xor ecx, ebx
:00415F4E 03CD                    add ecx, ebp
:00415F50 8B6C2418                mov ebp, dword ptr [esp+18]
:00415F54 8D84088A4C2A8D          lea eax, dword ptr [eax+ecx-72D5B376]
:00415F5B 8BC8                    mov ecx, eax
:00415F5D C1E114                  shl ecx, 14
:00415F60 C1E80C                  shr eax, 0C
:00415F63 0BC8                    or ecx, eax
:00415F65 03CF                    add ecx, edi
:00415F67 33D1                    xor edx, ecx
:00415F69 03D5                    add edx, ebp
:00415F6B 8DB4164239FAFF          lea esi, dword ptr [esi+edx-0005C6BE]
:00415F72 8BC6                    mov eax, esi
:00415F74 C1E604                  shl esi, 04
:00415F77 8B6C2438                mov ebp, dword ptr [esp+38]
:00415F7B C1E81C                  shr eax, 1C
:00415F7E 0BC6                    or eax, esi
:00415F80 8B742428                mov esi, dword ptr [esp+28]
:00415F84 03C1                    add eax, ecx
:00415F86 8BD7                    mov edx, edi
:00415F88 33D1                    xor edx, ecx
:00415F8A 33D0                    xor edx, eax
:00415F8C 03D6                    add edx, esi
:00415F8E 8D9C1381F67187          lea ebx, dword ptr [ebx+edx-788E097F]
:00415F95 8BF3                    mov esi, ebx
:00415F97 C1E30B                  shl ebx, 0B
:00415F9A C1EE15                  shr esi, 15
:00415F9D 0BF3                    or esi, ebx
:00415F9F 03F0                    add esi, eax
:00415FA1 8BD6                    mov edx, esi
:00415FA3 33D1                    xor edx, ecx
:00415FA5 33D0                    xor edx, eax
:00415FA7 03D5                    add edx, ebp
:00415FA9 8D941722619D6D          lea edx, dword ptr [edi+edx+6D9D6122]
:00415FB0 8BFA                    mov edi, edx
:00415FB2 8B6C2448                mov ebp, dword ptr [esp+48]
:00415FB6 C1EA10                  shr edx, 10
:00415FB9 C1E710                  shl edi, 10
:00415FBC 0BFA                    or edi, edx
:00415FBE 03FE                    add edi, esi
:00415FC0 8BD6                    mov edx, esi
:00415FC2 33D7                    xor edx, edi
:00415FC4 8BDA                    mov ebx, edx
:00415FC6 33D8                    xor ebx, eax
:00415FC8 03DD                    add ebx, ebp
:00415FCA 8B6C2424                mov ebp, dword ptr [esp+24]
:00415FCE 8D9C190C38E5FD          lea ebx, dword ptr [ecx+ebx-021AC7F4]
:00415FD5 8BCB                    mov ecx, ebx
:00415FD7 C1EB09                  shr ebx, 09
:00415FDA C1E117                  shl ecx, 17
:00415FDD 0BCB                    or ecx, ebx
:00415FDF 03CF                    add ecx, edi
:00415FE1 33D1                    xor edx, ecx
:00415FE3 03D5                    add edx, ebp
:00415FE5 8B6C2434                mov ebp, dword ptr [esp+34]
:00415FE9 8D941044EABEA4          lea edx, dword ptr [eax+edx-5B4115BC]
:00415FF0 8BC2                    mov eax, edx
:00415FF2 C1E204                  shl edx, 04
:00415FF5 C1E81C                  shr eax, 1C
:00415FF8 0BC2                    or eax, edx
:00415FFA 03C1                    add eax, ecx
:00415FFC 8BD7                    mov edx, edi
:00415FFE 33D1                    xor edx, ecx
:00416000 33D0                    xor edx, eax
:00416002 03D5                    add edx, ebp
:00416004 8B6C2414                mov ebp, dword ptr [esp+14]
:00416008 8D9416A9CFDE4B          lea edx, dword ptr [esi+edx+4BDECFA9]
:0041600F 8BF2                    mov esi, edx
:00416011 C1E20B                  shl edx, 0B
:00416014 C1EE15                  shr esi, 15
:00416017 0BF2                    or esi, edx
:00416019 03F0                    add esi, eax
:0041601B 8BD6                    mov edx, esi
:0041601D 33D1                    xor edx, ecx
:0041601F 33D0                    xor edx, eax
:00416021 03D5                    add edx, ebp
:00416023 8B6C2420                mov ebp, dword ptr [esp+20]
:00416027 8D9417604BBBF6          lea edx, dword ptr [edi+edx-0944B4A0]
:0041602E 8BFA                    mov edi, edx
:00416030 C1EA10                  shr edx, 10
:00416033 C1E710                  shl edi, 10
:00416036 0BFA                    or edi, edx
:00416038 03FE                    add edi, esi
:0041603A 8BD6                    mov edx, esi
:0041603C 33D7                    xor edx, edi
:0041603E 8BDA                    mov ebx, edx
:00416040 33D8                    xor ebx, eax
:00416042 03DD                    add ebx, ebp
:00416044 8D9C1970BCBFBE          lea ebx, dword ptr [ecx+ebx-41404390]
:0041604B 8BCB                    mov ecx, ebx
:0041604D C1E117                  shl ecx, 17
:00416050 C1EB09                  shr ebx, 09
:00416053 8B6C2430                mov ebp, dword ptr [esp+30]
:00416057 0BCB                    or ecx, ebx
:00416059 03CF                    add ecx, edi
:0041605B 33D1                    xor edx, ecx
:0041605D 03D5                    add edx, ebp
:0041605F 8D9410C67E9B28          lea edx, dword ptr [eax+edx+289B7EC6]
:00416066 8BC2                    mov eax, edx
:00416068 C1E204                  shl edx, 04
:0041606B 8B6C2410                mov ebp, dword ptr [esp+10]
:0041606F C1E81C                  shr eax, 1C
:00416072 0BC2                    or eax, edx
:00416074 03C1                    add eax, ecx
:00416076 8BD7                    mov edx, edi
:00416078 33D1                    xor edx, ecx
:0041607A 33D0                    xor edx, eax
:0041607C 03D5                    add edx, ebp
:0041607E 8D9416FA27A1EA          lea edx, dword ptr [esi+edx-155ED806]
:00416085 8BF2                    mov esi, edx
:00416087 C1E20B                  shl edx, 0B
:0041608A 8B6C241C                mov ebp, dword ptr [esp+1C]
:0041608E C1EE15                  shr esi, 15
:00416091 0BF2                    or esi, edx
:00416093 03F0                    add esi, eax
:00416095 8BD6                    mov edx, esi
:00416097 33D1                    xor edx, ecx
:00416099 33D0                    xor edx, eax
:0041609B 03D5                    add edx, ebp
:0041609D 8D94178530EFD4          lea edx, dword ptr [edi+edx-2B10CF7B]
:004160A4 8BFA                    mov edi, edx
:004160A6 8B6C242C                mov ebp, dword ptr [esp+2C]
:004160AA C1EA10                  shr edx, 10
:004160AD C1E710                  shl edi, 10
:004160B0 0BFA                    or edi, edx
:004160B2 03FE                    add edi, esi
:004160B4 8BD6                    mov edx, esi
:004160B6 33D7                    xor edx, edi
:004160B8 8BDA                    mov ebx, edx
:004160BA 33D8                    xor ebx, eax
:004160BC 03DD                    add ebx, ebp
:004160BE 8B6C243C                mov ebp, dword ptr [esp+3C]
:004160C2 8D9C19051D8804          lea ebx, dword ptr [ecx+ebx+04881D05]
:004160C9 8BCB                    mov ecx, ebx
:004160CB C1EB09                  shr ebx, 09
:004160CE C1E117                  shl ecx, 17
:004160D1 0BCB                    or ecx, ebx
:004160D3 03CF                    add ecx, edi
:004160D5 33D1                    xor edx, ecx
:004160D7 03D5                    add edx, ebp
:004160D9 8B6C2440                mov ebp, dword ptr [esp+40]
:004160DD 8D941039D0D4D9          lea edx, dword ptr [eax+edx-262B2FC7]
:004160E4 8BC2                    mov eax, edx
:004160E6 C1E204                  shl edx, 04
:004160E9 8B5C244C                mov ebx, dword ptr [esp+4C]
:004160ED C1E81C                  shr eax, 1C
:004160F0 0BC2                    or eax, edx
:004160F2 8BD7                    mov edx, edi
:004160F4 33D1                    xor edx, ecx
:004160F6 03C1                    add eax, ecx
:004160F8 33D0                    xor edx, eax
:004160FA 03D5                    add edx, ebp
:004160FC 8D9416E599DBE6          lea edx, dword ptr [esi+edx-1924661B]
:00416103 8BF2                    mov esi, edx
:00416105 C1E20B                  shl edx, 0B
:00416108 C1EE15                  shr esi, 15
:0041610B 0BF2                    or esi, edx
:0041610D 03F0                    add esi, eax
:0041610F 8BD6                    mov edx, esi
:00416111 33D1                    xor edx, ecx
:00416113 33D0                    xor edx, eax
:00416115 03D3                    add edx, ebx
:00416117 8B5C2444                mov ebx, dword ptr [esp+44]
:0041611B 8D9417F87CA21F          lea edx, dword ptr [edi+edx+1FA27CF8]
:00416122 8BFA                    mov edi, edx
:00416124 C1EA10                  shr edx, 10
:00416127 C1E710                  shl edi, 10
:0041612A 0BFA                    or edi, edx
:0041612C 03FE                    add edi, esi
:0041612E 8BD6                    mov edx, esi
:00416130 33D7                    xor edx, edi
:00416132 33D0                    xor edx, eax
:00416134 03D3                    add edx, ebx
:00416136 8D94116556ACC4          lea edx, dword ptr [ecx+edx-3B53A99B]
:0041613D 8BCA                    mov ecx, edx
:0041613F C1EA09                  shr edx, 09
:00416142 C1E117                  shl ecx, 17
:00416145 0BCA                    or ecx, edx
:00416147 03CF                    add ecx, edi
:00416149 8BD6                    mov edx, esi
:0041614B F7D2                    not edx
:0041614D 0BD1                    or edx, ecx
:0041614F 33D7                    xor edx, edi
:00416151 03542410                add edx, dword ptr [esp+10]
:00416155 8D9410442229F4          lea edx, dword ptr [eax+edx-0BD6DDBC]
:0041615C 8BC2                    mov eax, edx
:0041615E C1E206                  shl edx, 06
:00416161 C1E81A                  shr eax, 1A
:00416164 0BC2                    or eax, edx
:00416166 03C1                    add eax, ecx
:00416168 8BD7                    mov edx, edi
:0041616A F7D2                    not edx
:0041616C 0BD0                    or edx, eax
:0041616E 33D1                    xor edx, ecx
:00416170 03542414                add edx, dword ptr [esp+14]
:00416174 8D941697FF2A43          lea edx, dword ptr [esi+edx+432AFF97]
:0041617B 8BF2                    mov esi, edx
:0041617D C1E20A                  shl edx, 0A
:00416180 C1EE16                  shr esi, 16
:00416183 0BF2                    or esi, edx
:00416185 03F0                    add esi, eax
:00416187 8BD1                    mov edx, ecx
:00416189 F7D2                    not edx
:0041618B 0BD6                    or edx, esi
:0041618D 33D0                    xor edx, eax
:0041618F 03542448                add edx, dword ptr [esp+48]
:00416193 8D9417A72394AB          lea edx, dword ptr [edi+edx-546BDC59]
:0041619A 8BFA                    mov edi, edx
:0041619C C1E20F                  shl edx, 0F
:0041619F C1EF11                  shr edi, 11
:004161A2 0BFA                    or edi, edx
:004161A4 03FE                    add edi, esi
:004161A6 8BD0                    mov edx, eax
:004161A8 F7D2                    not edx
:004161AA 0BD7                    or edx, edi
:004161AC 33D6                    xor edx, esi
:004161AE 03542418                add edx, dword ptr [esp+18]
:004161B2 8D941139A093FC          lea edx, dword ptr [ecx+edx-036C5FC7]
:004161B9 8BCA                    mov ecx, edx
:004161BB C1EA0B                  shr edx, 0B
:004161BE C1E115                  shl ecx, 15
:004161C1 0BCA                    or ecx, edx
:004161C3 8BD6                    mov edx, esi
:004161C5 F7D2                    not edx
:004161C7 03CF                    add ecx, edi
:004161C9 0BD1                    or edx, ecx
:004161CB 33D7                    xor edx, edi
:004161CD 03D5                    add edx, ebp
:004161CF 8B6C241C                mov ebp, dword ptr [esp+1C]
:004161D3 8D9410C3595B65          lea edx, dword ptr [eax+edx+655B59C3]
:004161DA 8BC2                    mov eax, edx
:004161DC C1E206                  shl edx, 06
:004161DF C1E81A                  shr eax, 1A
:004161E2 0BC2                    or eax, edx
:004161E4 03C1                    add eax, ecx
:004161E6 8BD7                    mov edx, edi
:004161E8 F7D2                    not edx
:004161EA 0BD0                    or edx, eax
:004161EC 33D1                    xor edx, ecx
:004161EE 03D5                    add edx, ebp
:004161F0 8B6C2420                mov ebp, dword ptr [esp+20]
:004161F4 8D941692CC0C8F          lea edx, dword ptr [esi+edx-70F3336E]
:004161FB 8BF2                    mov esi, edx
:004161FD C1E20A                  shl edx, 0A
:00416200 C1EE16                  shr esi, 16
:00416203 0BF2                    or esi, edx
:00416205 8BD1                    mov edx, ecx
:00416207 F7D2                    not edx
:00416209 03F0                    add esi, eax
:0041620B 0BD6                    or edx, esi
:0041620D 33D0                    xor edx, eax
:0041620F 03D5                    add edx, ebp
:00416211 8D94177DF4EFFF          lea edx, dword ptr [edi+edx-00100B83]
:00416218 8BFA                    mov edi, edx
:0041621A C1E20F                  shl edx, 0F
:0041621D 8B6C2424                mov ebp, dword ptr [esp+24]
:00416221 C1EF11                  shr edi, 11
:00416224 0BFA                    or edi, edx
:00416226 03FE                    add edi, esi
:00416228 8BD0                    mov edx, eax
:0041622A F7D2                    not edx
:0041622C 0BD7                    or edx, edi
:0041622E 33D6                    xor edx, esi
:00416230 03D5                    add edx, ebp
:00416232 8D9411D15D8485          lea edx, dword ptr [ecx+edx-7A7BA22F]
:00416239 8B6C2428                mov ebp, dword ptr [esp+28]
:0041623D 8BCA                    mov ecx, edx
:0041623F C1EA0B                  shr edx, 0B
:00416242 C1E115                  shl ecx, 15
:00416245 0BCA                    or ecx, edx
:00416247 03CF                    add ecx, edi
:00416249 8BD6                    mov edx, esi
:0041624B F7D2                    not edx
:0041624D 0BD1                    or edx, ecx
:0041624F 33D7                    xor edx, edi
:00416251 03D5                    add edx, ebp
:00416253 8B6C244C                mov ebp, dword ptr [esp+4C]
:00416257 8D94104F7EA86F          lea edx, dword ptr [eax+edx+6FA87E4F]
:0041625E 8BC2                    mov eax, edx
:00416260 C1E206                  shl edx, 06
:00416263 C1E81A                  shr eax, 1A
:00416266 0BC2                    or eax, edx
:00416268 8BD7                    mov edx, edi
:0041626A 03C1                    add eax, ecx
:0041626C F7D2                    not edx
:0041626E 0BD0                    or edx, eax
:00416270 33D1                    xor edx, ecx
:00416272 03D5                    add edx, ebp
:00416274 8B6C242C                mov ebp, dword ptr [esp+2C]
:00416278 8DB416E0E62CFE          lea esi, dword ptr [esi+edx-01D31920]
:0041627F 8BD6                    mov edx, esi
:00416281 C1E60A                  shl esi, 0A
:00416284 C1EA16                  shr edx, 16
:00416287 0BD6                    or edx, esi
:00416289 03D0                    add edx, eax
:0041628B 8BF1                    mov esi, ecx
:0041628D F7D6                    not esi
:0041628F 0BF2                    or esi, edx
:00416291 33F0                    xor esi, eax
:00416293 03F5                    add esi, ebp
:00416295 8DBC37144301A3          lea edi, dword ptr [edi+esi-5CFEBCEC]
:0041629C 8B6C2430                mov ebp, dword ptr [esp+30]
:004162A0 8BF7                    mov esi, edi
:004162A2 C1E70F                  shl edi, 0F
:004162A5 C1EE11                  shr esi, 11
:004162A8 0BF7                    or esi, edi
:004162AA 8BF8                    mov edi, eax
:004162AC F7D7                    not edi
:004162AE 03F2                    add esi, edx
:004162B0 0BFE                    or edi, esi
:004162B2 33FA                    xor edi, edx
:004162B4 03FD                    add edi, ebp
:004162B6 8B6C2434                mov ebp, dword ptr [esp+34]
:004162BA 8DBC39A111084E          lea edi, dword ptr [ecx+edi+4E0811A1]
:004162C1 8BCF                    mov ecx, edi
:004162C3 C1EF0B                  shr edi, 0B
:004162C6 C1E115                  shl ecx, 15
:004162C9 0BCF                    or ecx, edi
:004162CB 03CE                    add ecx, esi
:004162CD 8BFA                    mov edi, edx
:004162CF F7D7                    not edi
:004162D1 0BF9                    or edi, ecx
:004162D3 33FE                    xor edi, esi
:004162D5 03FD                    add edi, ebp
:004162D7 8B6C2438                mov ebp, dword ptr [esp+38]
:004162DB 8DBC38827E53F7          lea edi, dword ptr [eax+edi-08AC817E]
:004162E2 8BC7                    mov eax, edi
:004162E4 C1E706                  shl edi, 06
:004162E7 C1E81A                  shr eax, 1A
:004162EA 0BC7                    or eax, edi
:004162EC 8BFE                    mov edi, esi
:004162EE 03C1                    add eax, ecx
:004162F0 F7D7                    not edi
:004162F2 0BF8                    or edi, eax
:004162F4 33F9                    xor edi, ecx
:004162F6 03FD                    add edi, ebp
:004162F8 8DBC3A35F23ABD          lea edi, dword ptr [edx+edi-42C50DCB]
:004162FF 8BD7                    mov edx, edi
:00416301 C1E70A                  shl edi, 0A
:00416304 C1EA16                  shr edx, 16
:00416307 0BD7                    or edx, edi
:00416309 03D0                    add edx, eax
:0041630B 8BF9                    mov edi, ecx
:0041630D F7D7                    not edi
:0041630F 0BFA                    or edi, edx
:00416311 33F8                    xor edi, eax
:00416313 03FB                    add edi, ebx
:00416315 8B5C243C                mov ebx, dword ptr [esp+3C]
:00416319 8DBC3EBBD2D72A          lea edi, dword ptr [esi+edi+2AD7D2BB]
:00416320 8BF7                    mov esi, edi
:00416322 C1E70F                  shl edi, 0F
:00416325 C1EE11                  shr esi, 11
:00416328 0BF7                    or esi, edi
:0041632A 8BF8                    mov edi, eax
:0041632C F7D7                    not edi
:0041632E 03F2                    add esi, edx
:00416330 0BFE                    or edi, esi
:00416332 33FA                    xor edi, edx
:00416334 03FB                    add edi, ebx
:00416336 8DBC3991D386EB          lea edi, dword ptr [ecx+edi-14792C6F]
:0041633D 8B4C2450                mov ecx, dword ptr [esp+50]
:00416341 8B19                    mov ebx, dword ptr [ecx]
:00416343 03D8                    add ebx, eax
:00416345 8BC7                    mov eax, edi
:00416347 C1E015                  shl eax, 15
:0041634A C1EF0B                  shr edi, 0B
:0041634D 0BC7                    or eax, edi
:0041634F 8919                    mov dword ptr [ecx], ebx
:00416351 034104                  add eax, dword ptr [ecx+04]
:00416354 03C6                    add eax, esi
:00416356 894104                  mov dword ptr [ecx+04], eax
:00416359 8B4108                  mov eax, dword ptr [ecx+08]
:0041635C 03C6                    add eax, esi
:0041635E 5F                      pop edi
:0041635F 894108                  mov dword ptr [ecx+08], eax
:00416362 8B410C                  mov eax, dword ptr [ecx+0C]
:00416365 5E                      pop esi
:00416366 03C2                    add eax, edx
:00416368 5D                      pop ebp
:00416369 89410C                  mov dword ptr [ecx+0C], eax
:0041636C 5B                      pop ebx
:0041636D 83C444                  add esp, 00000044
:00416370 C3                      ret

—————————————————————————————————
【注册信息保存】:


REGEDIT4

[HKEY_CURRENT_USER\Software\UDP Soft\The All-Seeing Eye\Settings]

"RegCodeHi"=dword:01234567
"RegCodeLo"=dword:789abcde

—————————————————————————————————
【整        理】:


一个可用的注册码:abcdefghhijklmnookbg    

—————————————————————————————————

   
                   Cracked By 巢水工作坊——fly【OCN】

                             9:16 03-4-3