首页
社区
课程
招聘
PCShrink 0.71 部分源代码(带Packer)
发表于: 2004-5-16 17:17 8356

PCShrink 0.71 部分源代码(带Packer)

2004-5-16 17:17
8356

:D 这个东西对资源处理太棒了.正在还原它的源代码...
请问IDA怎么自定义常量?还有assume什么的?
这里是部分源码,也许脱壳有用吧...
都弄好以后会发布带资源的Full Source包:D


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 10
支持
分享
最新回复 (5)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
还想问一下最后的一大堆dword是什么?看不出来
2004-5-16 17:19
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
3
2004-5-16 17:40
0
雪    币: 227
活跃值: (130)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
; ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
; ┃    This file is generated by The Fast Disassembler (Fdasm v0.1 beta)   ┃
; ┃          Copyright (c) 2004 by IcePlus, <IcePlus@hotmail.com>          ┃
; ┃                         Build Feb. 7. 2004                             ┃
; ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
DlgProc:        ;对话框回调函数
                enter      0000h, 00h
                push       ebx
                push       edi
                push       esi
                mov        eax, [ebp+08h]
                mov        [_004037EFh], eax
                cmp        dword [ebp+0Ch], 00000111h   ;WM_COMMAND
                je         _00401162h
                cmp        dword [ebp+0Ch], 10h
                je         _00401254h
                cmp        dword [ebp+0Ch], 00000110h
                je         _00401262h
    _00401159h:
                xor        eaxeax
                pop        esi
                pop        edi
                pop        ebx
                leave  
                ret        0010h
    _00401162h:
                cmp        dword [ebp+10h], 01h         ;BUTTON_ID=='OK'
                jne        _00401216h
                push       00h
                push       dword [_004038D4h]
                call       [EnableWindow]
                push       00h
                push       dword [_004038D8h]
                call       [EnableWindow]
                pushad 
                call       _0040243Fh
                popad  
                push       000000FFh
                push       _0040360Dh
                push       000003E8h
                push       dword [_004037EFh]
                call       [GetDlgItemTextA]
                push       000003ECh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                mov        [_00403897h], eax
                push       000003EDh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                mov        [_00403893h], eax
                push       000003F4h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                mov        [_0040389Fh], eax
                push       00000402h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                mov        [_004038C0h], eax
                pushad 
                push       _004038C8h
                push       00h
                push       00h
                push       _0040106Fh                   ;线程回调函数
                push       00h
                push       00h
                call       [CreateThread]
                popad  
                jmp        _00401248h
    _00401216h:
                cmp        dword [ebp+10h], 000003EBh
                je         _00401373h
                cmp        dword [ebp+10h], 02h
                je         _00401254h
                cmp        dword [ebp+10h], 000003F1h
                je         _00401339h
                cmp        dword [ebp+10h], 000003F0h
                je         _00401356h
                jmp        _00401159h
    _00401248h:
                mov        eax, 00000001h
                pop        esi
                pop        edi
                pop        ebx
                leave  
                ret        0010h
    _00401254h:
                push       00h

;==========================================================================
_0040243Fh:
                mov        edi, _004038DCh
                xor        eaxeax
                mov        ecx, 00000010h
                repe stosd  
                push       000003FFh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402468h
                push       01h
                call       _004022A6h
    _00402468h:
                push       000003EAh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402483h
                push       02h
                call       _004022A6h
    _00402483h:
                push       000003EEh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _0040249Eh
                push       03h
                call       _004022A6h
    _0040249Eh:
                push       000003F6h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _004024B9h
                push       04h
                call       _004022A6h
    _004024B9h:
                push       000003F7h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _004024D4h
                push       05h
                call       _004022A6h
    _004024D4h:
                push       000003FCh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _004024EFh
                push       06h
                call       _004022A6h
    _004024EFh:
                push       000003F8h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _0040250Ah
                push       07h
                call       _004022A6h
    _0040250Ah:
                push       00000401h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402525h
                push       08h
                call       _004022A6h
    _00402525h:
                push       000003FEh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402540h
                push       09h
                call       _004022A6h
    _00402540h:
                push       000003FDh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _0040255Bh
                push       0Ah
                call       _004022A6h
    _0040255Bh:
                push       000003FBh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402576h
                push       0Bh
                call       _004022A6h
    _00402576h:
                push       000003FAh
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _00402591h
                push       0Ch
                call       _004022A6h
    _00402591h:
                push       000003F9h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _004025ACh
                push       0Eh
                call       _004022A6h
    _004025ACh:
                push       00000400h
                push       dword [_004037EFh]
                call       [IsDlgButtonChecked]
                or         eaxeax
                je         _004025C7h
                push       10h
                call       _004022A6h
    _004025C7h:
                ret    

;==========================================================================
_004022A6h:
                pop        edx
                pop        ebx
                push       edx
                mov        esi, _004038DCh
    _004022AEh:
                lodsd  
                cmp        ebxeax
                je         _004022C3h
                or         eaxeax
                jne        _004022AEh
                sub        esi, 04h
                mov        [esi], ebx
                mov        dword [esi+04h], 00000000h
    _004022C3h:
                ret    

;==========================================================================
_0040106F:      ;ThreadFunction
                mov        dword [_0040376Eh], _0040360Dh
                cmp        dword [_0040389Fh], 01h
                jne        _0040108Dh
                push       dword [_0040376Eh]
                call       _00402262h
    _0040108Dh:
                push       dword [_0040376Eh]
                push       _004031A3h
                call       [lstrcat]
                call       _00401666h
                cmp        byte [_0040379Eh], FCh
                je         _00401111h
                cmp        byte [_0040379Eh], FFh
                je         _004010E9h
                push       _00403363h
                push       _004031A3h
                call       [lstrcat]
                push       _0040342Fh
                push       _004031A3h
                call       [lstrcat]
                push       00h
                push       _00403170h
                push       _004031A3h
                push       00h
                call       [MessageBoxA]
                xor        eaxeax
                jmp        _00401111h
    _004010E9h:
                push       dword [_0040376Eh]
                push       _004034C5h
                call       [lstrcat]
                push       30h
                push       _00403170h
                push       _004034C5h
                push       00h
                call       [MessageBoxA]
                mov        eax, 00000002h
    _00401111h:
                push       00h
                push       00h
                push       10h
                push       dword [_004037EFh]
                call       [SendMessageA]
                push       00h
                call       [ExitThread]
                ret    

;==========================================================================
_00402262h:
                pop        ebx
                pop        edi
                push       ebx
                push       edi
                push       edi
                push       _00403000h
                call       [lstrcpy]
                pop        edi
                push       edi
                push       _00403100h
                push       _00403000h
                call       [lstrcat]
                pop        edi
                push       00h
                push       _00403000h
                push       edi
                call       [CopyFileA]
                ret    

;==========================================================================
_00401666h:
                push       dword [_0040376Eh]
                call       [GetFileAttributesA]
                mov        [_0040376Ah], eax
                cmp        eax, FFh
                jne        _0040167Ch
                ret    
    _0040167Ch:
                push       20h
                push       dword [_0040376Eh]
                call       [SetFileAttributesA]
                mov        esi, [_0040376Eh]
                call       _00401DF3h
                call       _00401DBEh
                jnb        _0040169Ch
                ret    
    _0040169Ch:
                mov        [_00403782h], eax
                mov        eax, [_00403782h]
                push       eax
                call       _00401E09h
                pop        eax
                push       _0040373Ah
                push       _00403742h
                push       _0040374Ah
                push       eax
                call       [GetFileTime]
                xor        ecxecx
                call       _00401D60h
                jb         _00401BB9h
                cmp        word [eax], 5A4Dh
                jne        _00401BB9h
                call       _00401D54h
                push       02h
                push       esi
                call       [IsBadReadPtr]
                or         eaxeax
                jne        _00401BB9h
                cmp        word [esi], 4550h
                jne        _00401BB9h
                cmp        dword [esi+0Ch], 90909090h
                jne        _00401722h
                push       10h
                push       _00403170h
                push       _0040349Eh
                push       00h
                call       [MessageBoxA]
                mov        byte [_0040379Eh], FCh
                jmp        _00401BB9h
    _00401722h:
                call       _00401DCBh
                mov        ecx, 00001000h
                call       _00401D60h
                jb         _00401BB9h
                call       _00401D54h
                mov        dword [esi+0Ch], 90909090h
                movzx      eaxword [esi+06h]
                mov        [_004037BBh], eax
                mov        eax, [esi+34h]
                mov        [_00403C65h], eax
                mov        eax, [esi+000000C0h]
                mov        [_004038C4h], eax
                cmp        dword [_004038C0h], 01h
                je         _00401770h
                mov        eax, [esi+78h]
                mov        [_0040379Fh], eax
    _00401770h:
                movzx      eaxword [esi+14h]
                add        eax, 18h
                add        eaxesi
                mov        [_0040378Eh], eax
                mov        ebx, [esi+000000D8h]
                or         ebxebx
                je         _0040179Fh
                call       _00401FC6h
                add        ebx, [_00403766h]
                mov        ecx, [esi+000000DCh]
                mov        ediebx
                xor        eaxeax
                repe stosb  
    _0040179Fh:
                mov        ebx, [esi+000000A8h]
                or         ebxebx
                je         _004017BFh
                call       _00401FC6h
                add        ebx, [_00403766h]
                mov        ecx, [esi+000000ACh]
                mov        ediebx
                xor        eaxeax
                stosb  
    _004017BFh:
                mov        dword [esi+000000D8h], 00000000h
                mov        dword [esi+000000DCh], 00000000h
                mov        dword [esi+000000D0h], 00000000h
                mov        dword [esi+000000D4h], 00000000h
                mov        dword [esi+000000A8h], 00000000h
                mov        dword [esi+000000ACh], 00000000h
                mov        eax, [esi+3Ch]
                mov        [_004037A3h], eax
                push       esi
                mov        ebx, [esi+00000088h]
                mov        eax, [esi+0000008Ch]
                or         ebxebx
                je         _00401872h
                mov        [_004037B3h], eax
                mov        [_00403C6Dh], ebx
                call       _00401FC6h
                add        ebx, [_00403766h]
                mov        [_004037B7h], ebx
                call       _004014CAh
                push       ebx
                call       _004013D7h
                cmp        dword [_00403897h], 01h
                jne        _00401868h
                call       _0040152Ah
                xchg       ebxeax
                call       _00401FC6h
                add        ebx, [_00403766h]
                push       ebx
                call       _004015A6h
                sub        eax, [_004037B7h]
                mov        [_00403C69h], eax
                jmp        _00401872h
    _00401868h:
                call       _00401573h
                mov        [_00403C69h], eax
    _00401872h:
                mov        ebx, [_004037B3h]
                cmp        eaxebx
                jnb        _00401886h
                sub        ebxeax
                cmp        ebx, 00000200h
                jnb        _00401890h
    _00401886h:
                mov        dword [_0040389Bh], 00000000h
    _00401890h:
                cmp        dword [_00403893h], 00h
                je         _004018B3h
                push       _00403CC9h
                push       dword [_0040378Eh]
                call       _00402050h
                push       _00403CC9h
                call       _00402222h
    _004018B3h:
                pop        esi
                mov        eax, [_004037BBh]
                mov        [esi+06h], eax
                push       esi
                mov        eax, [_0040378Eh]
                mov        edi, _00403C71h
                xor        ecxecx
                mov        cx, [esi+06h]
    _004018CDh:
                mov        dword [_004037BFh], 00000000h
                cmp        edi, _00403CC1h
                je         _00401A42h
                mov        dword [_004037AFh], 00000000h
                mov        ebx, [_00403C6Dh]
                cmp        [eax+0Ch], ebx
                jne        _0040191Bh
                cmp        dword [_0040389Bh], 01h
                jne        _00401A42h
                mov        ebx, [_00403C65h]
                add        [_00403C6Dh], ebx
                mov        dword [_004037AFh], 00000001h
    _0040191Bh:
                call       _00401CF4h
                jb         _00401A42h
                pushad 
                push       _00403137h
                push       _00403363h
                call       [lstrcat]
                popad  
                pushad 
                push       _004038BBh
                push       _00403363h
                call       [lstrcat]
                popad  
                push       eax
                push       ecx
                mov        ebx, [eax+24h]
                or         ebx, 80000000h
                mov        [eax+24h], ebx
                mov        ebx, [eax+0Ch]
                add        ebx, [_00403C65h]
                mov        [edi], ebx
                push       edi
                mov        esi, [eax+14h]
                add        esi, [_00403766h]
                mov        ediesi
                push       eax
                mov        ecx, [eax+08h]
                mov        edx, [eax+10h]
                cmp        ecxedx
                jna        _0040197Ah
                mov        ecxedx
    _0040197Ah:
                pushad 
                xchg       edxecx
                mov        byte [_00403604h], 09h
                mov        edi, _00403605h
                call       _00401F9Eh
                push       _00403604h
                push       _00403363h
                call       [lstrcat]
                popad  
                cmp        dword [_004037AFh], 01h
                jne        _004019D7h
                sub        ecx, [_00403C69h]
                add        esi, [_00403C69h]
                mov        ediesi
                call       _00401C55h
                add        eax, [_00403C69h]
                mov        [_004037BFh], eax
                call       _0040164Dh
                push       eax
                call       _00401DE2h
                mov        [_004037B3h], eax
                jmp        _004019ECh
    _004019D7h:
                call       _00401C55h
                mov        [_004037BFh], eax
                call       _0040164Dh
                push       eax
                call       _00401DE2h
    _004019ECh:
                pushad 
                mov        edx, [_004037ABh]
                mov        byte [_00403604h], 20h
                mov        edi, _00403605h
                call       _00401F9Eh
                push       _0040370Dh
                push       _00403363h
                call       [lstrcat]
                push       _00403604h
                push       _00403363h
                call       [lstrcat]
                popad  
                pop        ecx
                pop        edx
                mov        ebx, [edx+10h]
                cmp        ebx, [_00403A50h]
                jna        _00401A36h
                mov        [_00403A50h], ebx
    _00401A36h:
                pop        edi
                mov        [edx+10h], eax
                mov        [edi+04h], ecx
                add        edi, 08h
                pop        ecx
                pop        eax
    _00401A42h:
                mov        ebx, [_004038BBh]
                bswap      ebx
                inc        bl
                bswap      ebx
                mov        [eax], ebx
                mov        [_004038BBh], ebx
                mov        dword [eax+04h], 00000000h
                add        eax, 28h
                add        dword [_0040388Fh], 04h
                loopd      _00401A6Bh
                jmp        _00401A70h
    _00401A6Bh:
                jmp        _004018CDh
    _00401A70h:
                pop        esi
                sub        eax, 28h
                mov        edieax
                mov        eax, [edi+14h]
                mov        [_00403792h], eax
                mov        ecx, [edi+10h]
                mov        [_00403796h], ecx
                mov        eax, [edi+08h]
                mov        [_0040379Ah], eax
                cmp        eaxecx
                jnb        _00401A95h
                mov        eaxecx
    _00401A95h:
                add        eax, 00005425h
                mov        [edi+08h], eax
                cmp        dword [_004037BFh], 00h
                jne        _00401ABFh
                mov        ecx, [_00403796h]
                mov        eax, [_0040379Ah]
                cmp        eaxecx
                jna        _00401AC4h
                mov        eaxecx
                mov        [_0040379Ah], ecx
                jmp        _00401AC4h
    _00401ABFh:
                mov        eax, [_004037BFh]
    _00401AC4h:
                mov        [_004037C3h], eax
                push       eax
                add        eax, 00000425h
                mov        [_004037E7h], eax
                call       _00401DE2h
                mov        [edi+10h], eax
                mov        ecx, [esi+38h]
                mov        eax, [edi+08h]
                add        eax, [edi+0Ch]
                call       _00401DE7h
                mov        [esi+50h], eax
                add        dword [_00403A50h], 00000425h
                pop        eax
                mov        dword [edi+24h], E0000020h
                add        eax, [edi+0Ch]
                mov        ebx, [esi+28h]
                mov        [esi+28h], eax
                push       eax
                add        eax, [_00403C65h]
                sub        eax, _00403944h
                mov        [_00403947h], eax
                pop        eax
                pushad 
                add        eax, 00000114h
                add        [_00403A58h], eax
                add        [_00403A64h], eax
                add        [_00403A68h], eax
                add        [_00403A80h], eax
                add        [_00403A84h], eax
                add        [_00403A88h], eax
                add        [_00403A8Ch], eax
                mov        ecx, [esi+00000080h]
                mov        [_00403C61h], ecx
                mov        [esi+00000080h], eax
                mov        dword [esi+00000084h], 00000085h
                popad  
                add        ebx, [_00403C65h]
                mov        [_00403B9Eh], ebx
                push       esi
                call       _00402185h
                mov        ecx, 00000425h
                mov        edi, [_00403766h]
                add        edi, [_004037C3h]
                add        edi, [_00403792h]
                mov        esi, _00403944h
                repe movsb  
                pop        esi
                mov        eax, [_004037E7h]
                push       eax
                call       _00401DE2h
                pop        ecx
                xchg       ecxeax
                sub        ecxeax
                xor        eaxeax
                repe stosb  
                call       _00401DCBh
                mov        byte [_0040379Eh], 00h
                jmp        _00401BBEh
    _00401BB9h:
                call       _00401DCBh
    _00401BBEh:
                push       _0040373Ah
                push       _00403742h
                push       _0040374Ah
                push       dword [_00403782h]
                call       [SetFileTime]
                mov        edx, [_0040375Eh]
                mov        edi, _00403473h
                call       _00401F9Eh
                cmp        byte [_0040379Eh], 00h
                jne        _00401BFBh
                mov        eax, [_00403782h]
                call       _00401E09h
    _00401BFBh:
                mov        edx, [_0040375Eh]
                mov        edi, _0040348Fh
                call       _00401F9Eh
                push       _00403473h
                push       _0040342Fh
                call       [lstrcat]
                push       _00403482h
                push       _0040342Fh
                call       [lstrcat]
                push       _0040348Fh
                push       _0040342Fh
                call       [lstrcat]
                push       dword [_00403782h]
                call       [CloseHandle]
                push       dword [_0040376Ah]
                push       dword [_0040376Eh]
                call       [SetFileAttributesA]
                ret    

;==========================================================================
_00401DF3h:
                push       00h
                push       20h
                push       03h
                push       00h
                push       00h
                push       C0000000h
                push       esi
                call       [CreateFileA]
                ret    

;==========================================================================
_00401DBEh:
                cmp        eax, FFh
                je         _00401DC9h
                or         eaxeax
                je         _00401DC9h
                clc    
                ret    
    _00401DC9h:
                stc    
                ret    

;==========================================================================
_00401E09h:
                xor        ecxecx
                call       _00401D60h
                jb         _00401BB9h
                mov        ecx, [_0040375Eh]
                or         ecxecx
                je         _00401F4Eh
                mov        [_0040377Eh], ecx
                call       _00401D54h
                mov        eax, [esi+3Ch]
                mov        [_00403762h], eax
                xor        eaxeax
                mov        ax, [esi+14h]
                add        eax, 18h
                add        eaxesi
                push       esi
                push       eax
                xchg       edieax
                mov        [_004038A3h], edi
                movzx      ecxword [esi+06h]
                xor        ebxebx
    _00401E51h:
                call       _00401F54h
                inc        ebx
                cmp        ebxecx
                je         _00401E5Dh
                jmp        _00401E51h
    _00401E5Dh:
                pop        eax
                pop        esi
                pushad 
                push       eax
                push       esi
                call       _004015F3h
                popad  
                push       eax
                xor        edxedx
                mov        ecx, 00000028h
                xor        eaxeax
                mov        ax, [esi+06h]
                inc        eax
                mul        ecx
                xchg       ebxeax
                pop        eax
                push       eax
                add        eaxebx
                mov        ecx, [esi+3Ch]
                call       _00401DE7h
                xchg       ebxeax
                pop        eax
                mov        ecxebx
                sub        ecx, [_00403766h]
                mov        [esi+54h], ecx
                mov        ecx, 00000200h
                mov        [esi+3Ch], ecx
                movzx      ecxword [esi+06h]
                mov        ediebx
    _00401EA1h:
                push       eax
                push       ecx
                mov        ecxedi
                sub        ecx, [_00403766h]
                mov        esi, [eax+14h]
                mov        [eax+14h], ecx
                mov        ebx, [eax+08h]
                cmp        ebx, [eax+10h]
                jg         _00401EC9h
                mov        ecx, 00000200h
                push       eax
                xchg       ebxeax
                call       _00401DE7h
                xchg       ebxeax
                pop        eax
                jmp        _00401ECCh
    _00401EC9h:
                mov        ebx, [eax+10h]
    _00401ECCh:
                mov        [eax+10h], ebx
                add        esi, [_00403766h]
                mov        ecxebx
                repe movsb  
                pop        ecx
                pop        eax
                add        eax, 28h
                loopd      _00401EA1h
                sub        eax, 28h
                mov        ecx, [eax+10h]
                add        ecx, [eax+14h]
                push       ecx
                call       _00401DCBh
                mov        byte [_0040379Eh], 00h
                pop        ecx
                mov        [_00403756h], ecx
                push       00h
                push       00h
                push       ecx
                push       dword [_00403782h]
                call       [SetFilePointer]
                push       dword [_00403782h]
                call       [SetEndOfFile]
                xor        ecxecx
                call       _00401D60h
                jb         _00401F53h
                call       _00401D54h
                lea        eax, [esi+58h]
                push       eax
                push       _00403752h
                push       dword [_0040375Eh]
                push       dword [_00403766h]
                call       [CheckSumMappedFile]
                call       _00401DCBh
                mov        byte [_0040379Eh], 00h
                jmp        _00401F53h
    _00401F4Eh:
                call       _00401DCBh
    _00401F53h:
                ret    

;==========================================================================
_00401D60h:
                push       ecx
                push       _004037A7h
                push       dword [_00403782h]
                call       [GetFileSize]
                call       _00401DBEh
                jnb        _00401D7Bh
                pop        ecx
                jmp        _00401DBDh
    _00401D7Bh:
                mov        [_0040375Eh], eax
                pop        ecx
                add        eaxecx
                push       00h
                push       eax
                push       00h
                push       04h
                push       00h
                push       dword [_00403782h]
                call       [CreateFileMappingA]
                call       _00401DBEh
                jb         _00401DBDh
                mov        [_0040377Ah], eax
                push       00h
                push       00h
                push       00h
                push       02h
                push       eax
                call       [MapViewOfFile]
                call       _00401DBEh
                jb         _00401DBDh
                mov        [_00403766h], eax
    _00401DBDh:
                ret    

;==========================================================================
_00401D54h:
                mov        esi, [eax+3Ch]
                add        esieax
                mov        [_00403772h], esi
                ret    

;==========================================================================
_00401DCBh:
                push       dword [_00403766h]
                call       [UnmapViewOfFile]
                push       dword [_0040377Ah]
                call       [CloseHandle]
                ret    

;==========================================================================
_00401FC6h:
                push       esi
                push       edi
                push       edx
                push       ecx
                push       eax
                mov        eax, [_0040378Eh]
                mov        ecx, [_004037BBh]
    _00401FD6h:
                mov        edx, [eax+0Ch]
                cmp        edxebx
                ja         _00401FE2h
                add        eax, 28h
                loopd      _00401FD6h
    _00401FE2h:
                sub        eax, 28h
                sub        ebx, [eax+0Ch]
                add        ebx, [eax+14h]
                pop        eax
                pop        ecx
                pop        edx
                pop        edi
                pop        esi
                ret    

;==========================================================================
_004014CAh:
                push       00001F40h
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_004037D3h], eax
                mov        [_004037D7h], eax
                push       00001F40h
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_004037CFh], eax
                mov        [_004037CBh], eax
                ret    

;==========================================================================
_004013D7h:
                pop        eax
                pop        esi
                push       eax
                or         esiesi
                je         _00401452h
                movzx      ecxword [esi+0Ch]
                add        cx, [esi+0Eh]
                add        esi, 10h
                or         ecxecx
                je         _00401452h
    _004013EDh:
                mov        ebx, [esi+04h]
                test       ebx, 80000000h
                je         _00401449h
                cmp        dword [_004037E3h], 00h
                jne        _00401422h
                pushad 
                push       dword [esi]
                call       _00402291h
                popad  
                jnb        _00401418h
                mov        dword [_004037DBh], 00000000h
                jmp        _00401422h
    _00401418h:
                mov        dword [_004037DBh], 00000001h
    _00401422h:
                and        ebx, 7FFFFFFFh
                add        ebx, [_004037B7h]
                pushad 
                inc        dword [_004037E3h]
                push       ebx
                call       _004013D7h
                dec        dword [_004037E3h]
                popad  
    _00401442h:
                add        esi, 08h
                loopd      _004013EDh
                jmp        _00401452h
    _00401449h:
                pushad 
                call       _00401458h
                popad  
                jmp        _00401442h
    _00401452h:
                mov        eax, [_00403C69h]
                ret    

;==========================================================================
_0040152Ah:
                push       ebx
                push       ecx
                push       edx
                push       esi
                push       edi
                push       dword [_004037D3h]
                call       _00401552h
                push       eax
                push       dword [_004037CFh]
                call       _00401552h
                pop        ebx
                cmp        ebxeax
                ja         _0040154Ch
                xchg       ebxeax
    _0040154Ch:
                pop        edi
                pop        esi
                pop        edx
                pop        ecx
                pop        ebx
                ret    

;==========================================================================
_004015A6h:
                pop        eax
                pop        edi
                push       eax
                push       dword [_004037CFh]
                push       edi
                call       _004015C4h
                push       eax
                push       dword [_004037D3h]
                push       eax
                call       _004015C4h
                pop        eax
                ret    

;==========================================================================
_00401573h:
                push       ebx
                push       ecx
                push       edx
                push       esi
                push       edi
                push       dword [_004037CFh]
                call       _00401589h
                pop        edi
                pop        esi
                pop        edx
                pop        ecx
                pop        ebx
                ret    

;==========================================================================
_00402050h:
                pop        edx
                pop        eax
                pop        edi
                push       edx
                mov        ecx, [_004037BBh]
                dec        ecx
                xor        ebpebp
    _0040205Dh:
                push       ecx
                call       _00401CF4h
                jnb        _0040206Dh
                xor        ebpebp
                je         _0040215Eh
    _0040206Dh:
                cmp        ebp, 01h
                je         _0040207Ch
                mov        ebp, 00000001h
                jmp        _0040215Eh
    _0040207Ch:
                push       eax
                mov        ebx, [eax-14h]
                add        ebx, [eax-18h]
                add        ebx, [_00403766h]
                push       edi
                mov        ediebx
                call       _0040216Ch
                mov        ecxedi
                sub        ecx, [eax-14h]
                sub        ecx, [_00403766h]
                mov        [_004038ABh], ecx
                mov        ebxedi
                pop        edi
                pop        eax
                push       eax
                push       ebx
                mov        ebx, [eax+14h]
                add        ebx, [eax+10h]
                add        ebx, [_00403766h]
                push       edi
                mov        ediebx
                call       _0040216Ch
                mov        ecxedi
                sub        ecx, [eax+14h]
                sub        ecx, [_00403766h]
                mov        [_004038AFh], ecx
                pop        edi
                mov        ebpedi
                pop        edi
                mov        esi, [eax+14h]
                add        esi, [_00403766h]
                mov        ecx, [_004038AFh]
                repe movsb  
                pop        eax
                mov        ebx, [eax+34h]
                mov        ecx, [eax-1Ch]
                sub        ebxecx
                mov        [eax-20h], ebx
                mov        ebx, [_004038ABh]
                add        ebx, [_004038AFh]
                mov        [eax-18h], ebx
                mov        ediebp
                mov        ebx, [eax+0Ch]
                add        ebx, [_00403C65h]
                mov        [edi+04h], ebx
                mov        ebx, [eax-1Ch]
                add        ebx, [_004038ABh]
                add        ebx, [_00403C65h]
                mov        [edi], ebx
                mov        ebx, [_004038AFh]
                mov        [edi+08h], ebx
                mov        ecx, [eax+34h]
                sub        ecx, [eax+0Ch]
                sub        ecxebx
                mov        [edi+0Ch], ecx
                add        edi, 10h
                pop        ecx
                push       ecx
                push       eax
                inc        ecx
                mov        eaxecx
                xor        edxedx
                mov        ecx, 00000028h
                mul        ecx
                mov        ecxeax
                pop        eax
                mov        esieax
                add        esi, 28h
                push       edi
                mov        edieax
                repe movsb  
                pop        edi
                dec        dword [_004037BBh]
                mov        ebp, 00000001h
                sub        eax, 28h
    _0040215Eh:
                pop        ecx
                add        eax, 28h
                loopd      _00402166h
                jmp        _0040216Bh
    _00402166h:
                jmp        _0040205Dh
    _0040216Bh:
                ret    

;==========================================================================
_00402222h:
                pop        eax
                pop        ebx
                push       eax
                pushad 
                xchg       ediebx
                add        edi, 000000B0h
    _0040222Eh:
                sub        edi, 10h
                cmp        dword [edi], 00h
                je         _0040222Eh
                xchg       esiedi
                mov        edi, _0040383Fh
    _0040223Dh:
                mov        ecx, 00000004h
                repe movsd  
                sub        esi, 20h
                cmp        esi, _00403CC9h
                jnb        _0040223Dh
                mov        esi, _0040383Fh
                mov        edi, _00403CC9h
                mov        ecx, 000000A0h
                repe movsb  
                popad  
                ret    

;==========================================================================
_00401CF4h:
                push       esi
                cmp        dword [eax+14h], 00h
                je         _00401D21h
                cmp        dword [eax+10h], 00h
                je         _00401D21h
                cmp        dword [eax+08h], 50h
                jna        _00401D21h
                call       _00401D24h
                jb         _00401D21h
                mov        esi, _00403930h
    _00401D13h:
                xchg       ebxeax
                lodsd  
                xchg       ebxeax
                cmp        ebx, [eax]
                je         _00401D21h
                or         ebxebx
                jne        _00401D13h
                pop        esi
                clc    
                ret    
    _00401D21h:
                pop        esi
                stc    
                ret    

;==========================================================================
_00401F9Eh:
                push       edi
                mov        ecx, 00000003h
                xor        eaxeax
                repe stosd  
                pop        edi
                mov        eaxedx
                mov        esi, 0000000Ah
                xor        ecxecx
    _00401FB2h:
                xor        edxedx
                div        esi
                push       edx
                inc        ecx
                or         eaxeax
                jne        _00401FB2h
    _00401FBCh:
                pop        edx
                add        dl, 30h
                mov        aldl
                stosb  
                loopd      _00401FBCh
                ret    

;==========================================================================
_00401C55h:
                push       ecx
                push       esi
                push       ecx
                push       ecx
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_0040375Ah], eax
                push       000A0000h
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_004038A7h], eax
                pop        ecx
                cmp        ecx, 50h
                jna        _00401CC1h
                mov        [_00403786h], esi
                mov        [_004038B3h], ecx
                push       _0040201Ch
                push       dword [_004038A7h]
                push       ecx
                push       dword [_0040375Ah]
                push       esi
                call       [_aP_pack]
                mov        [_004037ABh], eax
                or         eaxeax
                je         _00401CC1h
                pop        edi
                pop        ecx
                mov        esi, [_0040375Ah]
                repe movsb  
                jmp        _00401CC8h
    _00401CC1h:
                pop        edi
                pop        ecx
                mov        [_004037ABh], eax
    _00401CC8h:
                push       dword [_0040375Ah]
                push       00h
                push       dword [_004037DFh]
                call       [HeapFree]
                push       dword [_004038A7h]
                push       00h
                push       dword [_004037DFh]
                call       [HeapFree]
                mov        eax, [_004037ABh]
                ret    

;==========================================================================
_0040164Dh:
                push       ebx
                mov        ebx, [_0040388Fh]
                mov        dword [ebx+_0040383Fh], 00000001h
                mov        [ebx+_00403867h], eax
                pop        ebx
                ret    

;==========================================================================
_00401DE2h:
                mov        ecx, 00000200h
                xor        edxedx
                div        ecx
                or         edxedx
                je         _00401DF0h
                inc        eax
    _00401DF0h:
                mul        ecx
                ret    

;==========================================================================
_00401DE7h:
                xor        edxedx
                div        ecx
                or         edxedx
                je         _00401DF0h
                inc        eax
    _00401DF0h:
                mul        ecx
                ret    

;==========================================================================
_00402185h:
                push       esi
                push       edi
                push       ecx
                push       edx
                mov        ecx, 0000028Ch
                push       ecx
                push       ecx
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_0040375Ah], eax
                push       000FA000h
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                mov        [_004038A7h], eax
                pop        ecx
                push       ecx
                push       00h
                push       dword [_004038A7h]
                push       ecx
                push       dword [_0040375Ah]
                push       _00403ADDh
                call       [_aP_pack]
                push       eax
                mov        ecxeax
                mov        esi, [_0040375Ah]
                mov        edi, _00403ADDh
                repe movsb  
                push       dword [_004038A7h]
                push       00h
                push       dword [_004037DFh]
                call       [HeapFree]
                push       dword [_0040375Ah]
                push       00h
                push       dword [_004037DFh]
                call       [HeapFree]
                pop        ecx
                pop        eax
                sub        eaxecx
                push       eax
                mov        edi, _00403ADDh
                add        ediecx
                mov        ecxeax
                xor        eaxeax
                repe stosb  
                pop        eax
                pop        edx
                pop        ecx
                pop        edi
                pop        esi
                ret    

;==========================================================================
_00401F54h:
                push       ebx
                push       ecx
                mov        eax, 00000028h
                mul        bl
                add        eax, [_004038A3h]
                mov        esieax
                mov        eax, [esi+10h]
                mov        ecxeax
                add        eax, [esi+14h]
                add        eax, [_00403766h]
                mov        edieax
                dec        edi
                xor        eaxeax
                std    
                repe scasb  
                cld    
                add        edi, 02h
                sub        edi, [esi+14h]
                sub        edi, [_00403766h]
                mov        ecx, 00000200h
                xchg       edieax
                call       _00401DE7h
                cmp        eax, [esi+10h]
                jnl        _00401F9Bh
                mov        [esi+10h], eax
    _00401F9Bh:
                pop        ecx
                pop        ebx
                ret    

;==========================================================================
_004015F3h:
                pop        eax
                pop        esi
                pop        edi
                push       eax
                mov        edx, [esi+000000A0h]
                or         edxedx
                je         _0040164Ch
                movzx      ecxword [esi+06h]
    _00401605h:
                cmp        [edi+0Ch], edx
                je         _00401611h
                add        edi, 28h
                loopd      _00401605h
                jmp        _0040164Ch
    _00401611h:
                cmp        ecx, 01h
                jne        _00401625h
                dec        word [esi+06h]
                pushad 
                xor        eaxeax
                mov        ecx, 00000028h
                repe stosb  
                popad  
    _00401625h:
                mov        dword [edi+10h], 00000000h
                mov        dword [esi+000000A0h], 00000000h
                mov        dword [esi+000000A4h], 00000000h
                mov        ax, [esi+16h]
                or         ax, 0001h
                mov        [esi+16h], ax
    _0040164Ch:
                ret    

;==========================================================================
_00402291h:
                pop        edx
                pop        ebx
                push       edx
                mov        esi, _004038DCh
    _00402299h:
                lodsd  
                or         eaxeax
                je         _004022A4h
                cmp        eaxebx
                jne        _00402299h
                clc    
                ret    
    _004022A4h:
                stc    
                ret    

;==========================================================================
_00401458h:
                and        ebx, 7FFFFFFFh
                add        ebx, [_004037B7h]
                mov        esiebx
                cmp        dword [_004037DBh], 01h
                je         _0040147Eh
                mov        edx, [_004037CBh]
                add        dword [_004037CBh], 08h
                jmp        _0040148Bh
    _0040147Eh:
                mov        edx, [_004037D7h]
                add        dword [_004037D7h], 08h
    _0040148Bh:
                mov        [edx], esi
                mov        ecx, [esi+04h]
                push       ebx
                push       ecx
                push       edx
                push       esi
                push       edi
                push       ebp
                push       ecx
                push       08h
                push       dword [_004037DFh]
                call       [HeapAlloc]
                pop        ebp
                pop        edi
                pop        esi
                pop        edx
                pop        ecx
                pop        ebx
                mov        [edx+04h], eax
                push       eax
                mov        ebx, [esi]
                call       _00401FC6h
                add        ebx, [_00403766h]
                pop        edi
                mov        ecx, [esi+04h]
                mov        esiebx
                repe movsb  
                sub        ebx, [_004037B7h]
                ret    

;==========================================================================
_00401552h:
                pop        eax
                pop        esi
                push       eax
                mov        edx, FFFFFFFFh
    _0040155Ah:
                mov        eax, [esi]
                or         eaxeax
                je         _00401571h
                mov        ebx, [eax]
                or         ebxebx
                je         _0040156Ch
                cmp        ebxedx
                jnb        _0040156Ch
                mov        edxebx
    _0040156Ch:
                add        esi, 08h
                jmp        _0040155Ah
    _00401571h:
                xchg       edxeax
                ret    

;==========================================================================
_004015C4h:
                pop        eax
                pop        edi
                pop        edx
                push       eax
    _004015C8h:
                mov        eax, [edx]
                or         eaxeax
                je         _004015F0h
                mov        ebx, [eax]
                mov        ebxedi
                sub        ebx, [_00403766h]
                push       eax
                push       edx
                call       _00401FF1h
                pop        edx
                pop        eax
                mov        [eax], ebx
                mov        esi, [edx+04h]
                mov        ecx, [eax+04h]
                repe movsb  
                add        edx, 08h
                jmp        _004015C8h
    _004015F0h:
                mov        eaxedi
                ret    

;==========================================================================
_00401589h:
                pop        eax
                pop        esi
                push       eax
                xor        edxedx
    _0040158Eh:
                mov        eax, [esi]
                or         eaxeax
                je         _004015A4h
                mov        ebx, [eax]
                add        ebx, [eax+04h]
                cmp        ebxedx
                jna        _0040159Fh
                mov        edxebx
    _0040159Fh:
                add        esi, 08h
                jmp        _0040158Eh
    _004015A4h:
                xchg       edxeax
                ret    

;==========================================================================
_0040216Ch:
                push       eax
                push       edi
                std    
                mov        ecx, 0FFFFFFFh
                xor        eaxeax
                repe scasb  
                add        edi, 04h
                cld    
                pop        edx
                cmp        edxedi
                jnb        _00402183h
                mov        ediedx
    _00402183h:
                pop        eax
                ret    

;==========================================================================
_00401D24h:
                pushad 
                mov        edx, [_004038C4h]
                cmp        [eax+0Ch], edx
                je         _00401D51h
                mov        edx, [_0040379Fh]
                or         edxedx
                je         _00401D4Eh
                mov        ebx, [eax+0Ch]
                cmp        ebxedx
                jg         _00401D4Eh
                je         _00401D51h
                mov        ebx, [eax+34h]
                or         ebxebx
                je         _00401D21h
                cmp        ebxedx
                jg         _00401D51h
    _00401D4Eh:
                popad  
                clc    
                ret    
    _00401D51h:
                popad  
                stc    
                ret    

;==========================================================================
_00401FF1h:
                push       esi
                push       edi
                push       edx
                push       ecx
                push       eax
                mov        eax, [_0040378Eh]
                mov        ecx, [_004037BBh]
    _00402001h:
                mov        edx, [eax+14h]
                cmp        edxebx
                ja         _0040200Dh
                add        eax, 28h
                loopd      _00402001h
    _0040200Dh:
                sub        eax, 28h
                sub        ebx, [eax+14h]
                add        ebx, [eax+0Ch]
                pop        eax
                pop        ecx
                pop        edx
                pop        edi
                pop        esi
                ret    

;==========================================================================
_0040201Ch:
                mov        eax, [esp+04h]
                xor        edxedx
                mov        ecx, 00000064h
                mul        ecx
                xor        edxedx
                mov        ecx, [_004038B3h]
                or         ecxecx
                je         _0040204Ah
                div        ecx
                push       00h
                push       eax
                push       00000402h
                push       dword [_004038B7h]
                call       [SendMessageA]
    _0040204Ah:
                mov        eax, 00000001h
                ret    

;==========================================================================
;               UNPACK LOADER
_00403944h:

                pushfd 
                pushad 
                mov        ebp, 00000000h
                add        [ebp+_00403A54h], ebp
                push       dword [ebp+_00403A50h]
                push       40h
                call       dword [ebp+_00403A88h]
                push       eax
                push       eax
                sub        eax, _0040397Dh
                mov        [ebp+_0040397Eh], eax
                pop        edi
                lea        esi, [ebp+_0040397Dh]
                mov        ecx, 000000FCh
                repe movsd  
                pop        edi
                jmp        edi
                mov        ebp, 00000000h
                mov        esiedi
                add        esi, 00000160h
                add        edi, 000003ECh
                push       edi
                push       esi
                push       edi
                push       ebp
                push       edi
                push       esi
                call       _004039A9h
                add        esp, 08h
                pop        ebp
                xchg       ecxeax
                pop        esi
                pop        edi
                repe movsb  
                jmp        _00403ADDh

;==========================================================================
_004039A9h:
                push       ebp
                mov        ebpesp
                pushad 
                push       ebp
                mov        esi, [ebp+08h]
                mov        edi, [ebp+0Ch]
                cld    
                mov        dl, 80h
    _004039B7h:
                movsb  
    _004039B8h:
                call       _00403A2Ah
                jnb        _004039B7h
                xor        ecxecx
                call       _00403A2Ah
                jnb        _004039E1h
                xor        eaxeax
                call       _00403A2Ah
                jnb        _004039F2h
                mov        al, 10h
    _004039D3h:
                call       _00403A2Ah
                adc        alal
                jnb        _004039D3h
                jne        _00403A1Fh
                stosb  
                jmp        _004039B8h
    _004039E1h:
                call       _00403A36h
                dec        ecx
                loopd      _004039FEh
                mov        eaxebp
                call       _00403A34h
                jmp        _00403A20h
    _004039F2h:
                lodsb  
                shr        eax, 01h
                je         _00403A46h
                adc        ecx, 02h
                mov        ebpeax
                jmp        _00403A20h
    _004039FEh:
                xchg       ecxeax
                dec        eax
                shl        eax, 08h
                lodsb  
                mov        ebpeax
                call       _00403A34h
                cmp        eax, 00007D00h
                jnb        _00403A1Eh
                cmp        eax, 00000500h
                jnb        _00403A1Fh
                cmp        eax, 7Fh
                ja         _00403A20h
    _00403A1Eh:
                inc        ecx
    _00403A1Fh:
                inc        ecx
    _00403A20h:
                push       esi
                mov        esiedi
                sub        esieax
                repe movsb  
                pop        esi
                jmp        _004039B8h
                add        dldl
                jne        _00403A33h
                mov        dl, [esi]
                inc        esi
                adc        dldl
    _00403A33h:
                ret    
                xor        ecxecx
                inc        ecx
    _00403A37h:
                call       _00403A2Ah
                adc        ecxecx
                call       _00403A2Ah
                jb         _00403A37h
                ret    
    _00403A46h:
                pop        ebp
                sub        edi, [ebp+0Ch]
                mov        [ebp-04h], edi
                popad  
                pop        ebp
                ret    

;==========================================================================
_00403A2Ah:
                add        dldl
                jne        _00403A33h
                mov        dl, [esi]
                inc        esi
                adc        dldl
    _00403A33h:
                ret    

;==========================================================================
_00403A34h:
                xor        ecxecx

;==========================================================================
_00403A36h:
                inc        ecx
    _00403A37h:
                call       _00403A2Ah
                adc        ecxecx
                call       _00403A2Ah
                jb         _00403A37h
                ret    

;==========================================================================
_00403ADDh:
                pop        edi
                lea        esi, [ebp+_00403C71h]
    _00403AE4h:
                push       ebp
                push       edi
                push       esi
                lodsd  
                or         eaxeax
                je         _00403B27h
                xchg       edxeax
                lodsd  
                xchg       ecxeax
                push       edi
                push       ecx
                mov        esiedx
                repe movsb  
                pop        ecx
                pop        edi
                cmp        edx, [ebp+_00403C6Dh]
                jne        _00403B15h
                mov        eax, [ebp+_00403C69h]
                pushad 
                mov        esiedi
                mov        ediedx
                mov        ecxeax
                repe movsb  
                popad  
                add        edieax
                add        edxeax
                sub        ecxeax
    _00403B15h:
                push       edx
                push       edi
                call       _004039A9h
                add        esp, 08h
                pop        esi
                pop        edi
                pop        ebp
                add        esi, 08h
                jmp        _00403AE4h
    _00403B27h:
                add        esp, 0Ch
                lea        esi, [ebp+_00403CC9h]
    _00403B30h:
                lodsd  
                or         eaxeax
                je         _00403B5Eh
                xchg       ebxeax
                lodsd  
                xchg       edxeax
                lodsd  
                xchg       ecxeax
                push       edi
                push       esi
                xchg       esiebx
                push       edi
                push       ecx
                repe movsb  
                pop        ecx
                pop        esi
                mov        ediedx
                repe movsb  
                pop        esi
                lodsd  
                xchg       ecxeax
                xor        eaxeax
                repe stosb  
                mov        edi, [esi-10h]
                mov        ecx, [esi-0Ch]
                sub        ecxedi
                xor        eaxeax
                repe stosb  
                pop        edi
                jmp        _00403B30h
    _00403B5Eh:
                call       _00403BA4h
                jnb        _00403B9Bh
                lea        ebx, [ebp+_00403C46h]
                push       ebx
                call       dword [ebp+_00403A80h]
                or         eaxeax
                je         _00403B93h
                lea        ebx, [ebp+_00403C51h]
                push       ebx
                push       eax
                call       dword [ebp+_00403A84h]
                lea        ebx, [ebp+_00403C30h]
                push       30h
                push       00h
                push       ebx
                push       00h
                call       eax
    _00403B93h:
                push       00h
                call       dword [ebp+_00403A8Ch]
    _00403B9Bh:
                popad  
                popfd  
                mov        edx, 00000000h
                jmp        edx

;==========================================================================
_00403BA4h:
                mov        esi, [ebp+_00403C61h]
                or         esiesi
                je         _00403BC8h
                mov        edx, [ebp+_00403C65h]
                add        esiedx
    _00403BB6h:
                push       edx
                push       esi
                call       _00403BCCh
                jb         _00403BCAh
                add        esi, 14h
                cmp        dword [esi+0Ch], 00h
                jne        _00403BB6h
    _00403BC8h:
                clc    
                ret    
    _00403BCAh:
                stc    
                ret    

;==========================================================================
_00403A34h:
                xor        ecxecx
                inc        ecx
    _00403A37h:
                call       _00403A2Ah
                adc        ecxecx
                call       _00403A2Ah
                jb         _00403A37h
                ret    

;==========================================================================
_00403BCCh:
                pop        eax
                pop        esi
                pop        edx
                push       eax
                mov        ecx, [esi]
                mov        edi, [esi+10h]
                or         ecxecx
                jne        _00403BDBh
                mov        ecxedi
    _00403BDBh:
                add        ecxedx
                add        ediedx
                mov        eax, [esi+0Ch]
                add        eaxedx
                push       ecx
                push       edx
                push       eax
                call       dword [ebp+_00403A80h]
                pop        edx
                pop        ecx
                or         eaxeax
                je         _00403C2Eh
                mov        [ebp+_00403C5Dh], eax
    _00403BF9h:
                mov        ebx, [ecx]
                or         ebxebx
                je         _00403C2Ch
                test       ebx, 80000000h
                jne        _00403C0Bh
                add        ebxedx
                inc        ebx
                inc        ebx
    _00403C0Bh:
                and        ebx, 7FFFFFFFh
                push       ecx
                push       edx
                push       ebx
                push       dword [ebp+_00403C5Dh]
                call       dword [ebp+_00403A84h]
                pop        edx
                pop        ecx
                or         eaxeax
                je         _00403C2Eh
                stosd  
                add        ecx, 04h
                jmp        _00403BF9h
    _00403C2Ch:
                clc    
                ret    
    _00403C2Eh:
                stc    
                ret    

;**************************************************************************
_00403000h
_00403100h
_00403137h
_00403170h
_004031A3h
_00403363h
_0040342Fh
_00403473h
_00403482h
_0040348Fh
_0040349Eh
_004034C5h
_00403604h
_00403605h
_0040360Dh
_0040370Dh
_0040373Ah
_00403742h
_0040374Ah
_00403752h
_00403756h
_0040375Ah
_0040375Eh
_00403762h
_00403766h
_0040376Ah
_0040376Eh
_00403772h
_0040377Ah
_0040377Eh
_00403782h
_00403786h
_0040378Eh
_00403792h
_00403796h
_0040379Ah
_0040379Eh
_0040379Fh
_004037A3h
_004037A7h
_004037ABh
_004037AFh
_004037B3h
_004037B7h
_004037BBh
_004037BFh
_004037C3h
_004037CBh
_004037CFh
_004037D3h
_004037D7h
_004037DBh
_004037DFh
_004037E3h
_004037E7h
_004037EFh
_0040383Fh
_00403867h
_0040388Fh
_00403893h
_00403897h
_0040389Bh
_0040389Fh
_004038A3h
_004038A7h
_004038ABh
_004038AFh
_004038B3h
_004038B7h
_004038BBh
_004038C0h
_004038C4h
_004038C0h
_004038C8h
_004038D4h
_004038D8h
_004038DCh
_00403930h
_00403944h
_00403947h

_00403A50h
_00403A58h
_00403A64h
_00403A68h
_00403A80h
_00403A84h
_00403A88h
_00403A8Ch
_00403ADDh
_00403B9Eh
_00403C30h
_00403C46h
_00403C51h
_00403C5Dh
_00403C61h
_00403C65h
_00403C69h
_00403C6Dh
_00403C6Dh
_00403C71h
_00403CC1h
_00403CC9h

本代码的着色效果由xTiNt自动完成
下载xTiNt http://211.90.75.84/web/kanaun/download/xTiNt.rar
2004-5-16 18:59
0
雪    币: 227
活跃值: (130)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
后面的DD好象没有什么用,你把它全填为零看看
2004-5-16 19:23
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
6
谢谢,学习一下:D
2004-5-16 20:34
0
游客
登录 | 注册 方可回帖
返回
//