author: DimRacker
I am bored,so I collect some OEP and Setion to study Unpacker.
**********************************************************************
Borland C++ 1999
.text
.data
.tls
.rdata
.idata
.edata
.rsrc
.reloc
00401000 Find> $ /EB 10 jmp short Finder33.00401012
00401002 |66 db 66 ; CHAR 'f'
00401003 |62 db 62 ; CHAR 'b'
00401004 |3A db 3A ; CHAR ':'
00401005 |43 db 43 ; CHAR 'C'
00401006 |2B db 2B ; CHAR '+'
00401007 |2B db 2B ; CHAR '+'
00401008 |48 db 48 ; CHAR 'H'
00401009 |4F db 4F ; CHAR 'O'
0040100A |4F db 4F ; CHAR 'O'
0040100B |4B db 4B ; CHAR 'K'
0040100C |90 nop
0040100D |E9 db E9
0040100E . |AC lods byte ptr ds:[esi]
0040100F . |2348 00 and ecx,dword ptr ds:[eax]
00401012 > \A1 9F234800 mov eax,dword ptr ds:[48239F]
00401017 . C1E0 02 shl eax,2
0040101A . A3 A3234800 mov dword ptr ds:[4823A3],eax
0040101F . 52 push edx ; ntdll.KiFastSystemCallRet
00401020 . 6A 00 push 0 ; /pModule = NULL
00401022 . E8 79010800 call <jmp.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
00401027 . 8BD0 mov edx,eax
00401029 . E8 F64F0700 call Finder33.00476024
0040102E . 5A pop edx ; kernel32.7C816FD7
0040102F . E8 544F0700 call Finder33.00475F88
00401034 . E8 2B500700 call Finder33.00476064
00401039 . 6A 00 push 0 ; /Arg1 = 00000000
0040103B . E8 48620700 call Finder33.00477288 ; \Finder33.00477288
00401040 . 59 pop ecx ; kernel32.7C816FD7
00401041 . 68 48234800 push Finder33.00482348
00401046 . 6A 00 push 0 ; /pModule = NULL
00401048 . E8 53010800 call <jmp.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
0040104D . A3 A7234800 mov dword ptr ds:[4823A7],eax
00401052 . 6A 00 push 0
00401054 . E9 0BB40700 jmp Finder33.0047C464
00401059 Find> $ E9 76620700 jmp Finder33.004772D4
0040105E . 33C0 xor eax,eax
00401060 . A0 91234800 mov al,byte ptr ds:[482391]
00401065 . C3 retn
EB 10 66 62 3A 43 2B 2B 48 4F 4F 4B 90 E9 AC 23 48 00 A1 9F 23 48 00 C1 E0 02 A3 A3 23 48 00 52
6A 00 E8 79 01 08 00 8B D0 E8 F6 4F 07 00 5A E8 54 4F 07 00 E8 2B 50 07 00 6A 00 E8 48 62 07 00
59 68 48 23 48 00 6A 00 E8 53 01 08 00 A3 A7 23 48 00 6A 00 E9 0B B4 07 00 E9 76 62 07 00 33 C0
A0 91 23 48 00 C3
**********************************************************************
Borland C++
CODE
DATA
.INIT
.idata
.edata
.reloc
.rsrc
00401000 BCW.> $ A1 59B05000 mov eax,dword ptr ds:[50B059]
00401005 . C1E0 02 shl eax,2
00401008 . A3 5DB05000 mov dword ptr ds:[50B05D],eax
0040100D . 57 push edi ; ntdll.7C930738
0040100E . 51 push ecx
0040100F . 33C0 xor eax,eax
00401011 . BF 84665400 mov edi,BCW.00546684
00401016 . B9 8C345500 mov ecx,BCW.0055348C
0040101B . 3BCF cmp ecx,edi ; ntdll.7C930738
0040101D . 76 05 jbe short BCW.00401024
0040101F . 2BCF sub ecx,edi ; ntdll.7C930738
00401021 . FC cld
00401022 . F3:AA rep stos byte ptr es:[edi]
00401024 > 59 pop ecx ; kernel32.7C816FD7
00401025 . 5F pop edi ; kernel32.7C816FD7
00401026 . 64:67:8B16 0400 mov edx,dword ptr fs:[4]
0040102C . 8B42 F8 mov eax,dword ptr ds:[edx-8]
0040102F . A3 61B05000 mov dword ptr ds:[50B061],eax
00401034 . 8B42 FC mov eax,dword ptr ds:[edx-4]
00401037 . A3 65B05000 mov dword ptr ds:[50B065],eax
0040103C . 83EA 04 sub edx,4
0040103F . 8915 80345500 mov dword ptr ds:[553480],edx ; ntdll.KiFastSystemCallRet
00401045 . 83EA 04 sub edx,4
00401048 . 3BD4 cmp edx,esp
0040104A . 73 02 jnb short BCW.0040104E
0040104C . 8BE2 mov esp,edx ; ntdll.KiFastSystemCallRet
0040104E > 6A 00 push 0 ; /Arg1 = 00000000
00401050 . E8 45100000 call BCW.0040209A ; \BCW.0040209A
00401055 . 59 pop ecx ; kernel32.7C816FD7
00401056 . 68 2CB05000 push BCW.0050B02C
0040105B . 6A 00 push 0 ; /pModule = NULL
0040105D . E8 73821000 call <jmp.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
00401062 . A3 6AB05000 mov dword ptr ds:[50B06A],eax
00401067 . 6A 00 push 0
00401069 . E9 93801000 jmp <jmp.&cw3220mt.__startup>
0040106E BCW.> $ E9 09110000 jmp BCW.0040217C
00401073 00 db 00
00401074 00 db 00
00401075 00 db 00
00401076 00 db 00
00401077 00 db 00
00401078 /$ 55 push ebp
00401079 |. 8BEC mov ebp,esp
0040107B |. 53 push ebx
0040107C |. 56 push esi
0040107D |. 57 push edi ; ntdll.7C930738
0040107E |. 8B75 0C mov esi,dword ptr ss:[ebp+C]
00401081 |. 6A 00 push 0 ; /pDefaultCharUsed = NULL
00401083 |. 6A 00 push 0 ; |pDefaultChar = NULL
00401085 |. 6A 00 push 0 ; |MultiByteCount = 0
00401087 |. 6A 00 push 0 ; |MultiByteStr = NULL
00401089 |. 56 push esi ; |WideCharCount = FFFFFFFF (-1.)
0040108A |. FF75 08 push dword ptr ss:[ebp+8] ; |WideCharStr = "?",82,"???",82,"?,87,"??暄T偎",86,"",85,"?盏????,A1,"",96,"v?",04,"???P???P?漾",B8,"?,86,"",85,"?,85,"????j?",10,"",89,"?",82,"?,98,"旦Q?,10,"",99,"{",82,"?,98,"?肓",10,"?",11,""
0040108D |. 6A 00 push 0 ; |Options = 0
0040108F |. 6A 00 push 0 ; |CodePage = CP_ACP
00401091 |. E8 99821000 call <jmp.&KERNEL32.WideCharToMultiByte> ; \WideCharToMultiByte
00401096 |. 8BD8 mov ebx,eax
00401098 |. 83FE FF cmp esi,-1
0040109B |. 0F95C0 setne al
0040109E |. 83E0 01 and eax,1
004010A1 |. 03C3 add eax,ebx
004010A3 |. 50 push eax
004010A4 |. E8 A47F1000 call <jmp.&cw3220mt.@$bnwa$qui>
004010A9 |. 59 pop ecx ; kernel32.7C816FD7
004010AA |. 8BF8 mov edi,eax
004010AC |. 6A 00 push 0 ; /pDefaultCharUsed = NULL
004010AE |. 6A 00 push 0 ; |pDefaultChar = NULL
004010B0 |. 53 push ebx ; |MultiByteCount = 7FFDF000 (2147348480.)
004010B1 |. 57 push edi ; |MultiByteStr = ntdll.7C930738
004010B2 |. 56 push esi ; |WideCharCount = FFFFFFFF (-1.)
004010B3 |. FF75 08 push dword ptr ss:[ebp+8] ; |WideCharStr = "?",82,"???",82,"?,87,"??暄T偎",86,"",85,"?盏????,A1,"",96,"v?",04,"???P???P?漾",B8,"?,86,"",85,"?,85,"????j?",10,"",89,"?",82,"?,98,"旦Q?,10,"",99,"{",82,"?,98,"?肓",10,"?",11,""
004010B6 |. 6A 00 push 0 ; |Options = 0
004010B8 |. 6A 00 push 0 ; |CodePage = CP_ACP
004010BA |. E8 70821000 call <jmp.&KERNEL32.WideCharToMultiByte> ; \WideCharToMultiByte
004010BF |. 8BD8 mov ebx,eax
004010C1 |. 83FE FF cmp esi,-1
004010C4 |. 74 04 je short BCW.004010CA
004010C6 |. C6041F 00 mov byte ptr ds:[edi+ebx],0
004010CA |> 8BC7 mov eax,edi ; ntdll.7C930738
004010CC |. 5F pop edi ; kernel32.7C816FD7
004010CD |. 5E pop esi ; kernel32.7C816FD7
004010CE |. 5B pop ebx ; kernel32.7C816FD7
004010CF |. 5D pop ebp ; kernel32.7C816FD7
004010D0 \. C3 retn
A1 59 B0 50 00 C1 E0 02 A3 5D B0 50 00 57 51 33 C0 BF 84 66 54 00 B9 8C 34 55 00 3B CF 76 05 2B
CF FC F3 AA 59 5F 64 67 8B 16 04 00 8B 42 F8 A3 61 B0 50 00 8B 42 FC A3 65 B0 50 00 83 EA 04 89
15 80 34 55 00 83 EA 04 3B D4 73 02 8B E2 6A 00 E8 45 10 00 00 59 68 2C B0 50 00 6A 00 E8 73 82
10 00 A3 6A B0 50 00 6A 00 E9 93 80 10 00 E9 09 11 00 00 00 00 00 00 00 55 8B EC 53 56 57 8B 75
0C 6A 00 6A 00 6A 00 6A 00 56 FF 75 08 6A 00 6A 00 E8 99 82 10 00 8B D8 83 FE FF 0F 95 C0 83 E0
01 03 C3 50 E8 A4 7F 10 00 59 8B F8 6A 00 6A 00 53 57 56 FF 75 08 6A 00 6A 00 E8 70 82 10 00 8B
D8 83 FE FF 74 04 C6 04 1F 00 8B C7 5F 5E 5B 5D C3
**********************************************************************
Borland Delphi 2.0
CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc
00433D9C htes> 55 push ebp
00433D9D 8BEC mov ebp,esp
00433D9F 83C4 F4 add esp,-0C
00433DA2 E8 F1F4FCFF call htest.00403298
00433DA7 E8 940AFDFF call htest.00404840
00433DAC E8 CF3AFDFF call htest.00407880
00433DB1 E8 92A4FDFF call htest.0040E248
00433DB6 E8 D1A5FDFF call htest.0040E38C
00433DBB E8 28C5FDFF call htest.004102E8
00433DC0 E8 633CFEFF call htest.00417A28
00433DC5 E8 CE0BFFFF call htest.00424998
00433DCA E8 2956FFFF call htest.004293F8
00433DCF E8 1474FFFF call htest.0042B1E8
00433DD4 E8 C3A2FFFF call htest.0042E09C
00433DD9 E8 4ED3FFFF call htest.0043112C
00433DDE E8 A5E2FFFF call htest.00432088
00433DE3 A1 28664300 mov eax,dword ptr ds:[436628]
00433DE8 E8 1302FFFF call htest.00424000
00433DED BA 2C3E4300 mov edx,htest.00433E2C ; ASCII "MP3-2-EXE Player"
00433DF2 A1 28664300 mov eax,dword ptr ds:[436628]
00433DF7 E8 20FFFEFF call htest.00423D1C
00433DFC B9 A4664300 mov ecx,htest.004366A4
00433E01 BA 04254300 mov edx,htest.00432504
00433E06 A1 28664300 mov eax,dword ptr ds:[436628]
00433E0B E8 0002FFFF call htest.00424010
00433E10 A1 28664300 mov eax,dword ptr ds:[436628]
00433E15 E8 8602FFFF call htest.004240A0
00433E1A E8 2904FDFF call htest.00404248
00433E1F 8BE5 mov esp,ebp
00433E21 5D pop ebp ; kernel32.7C816FD7
00433E22 C3 retn
55 8B EC 83 C4 F4 E8 F1 F4 FC FF E8 94 0A FD FF E8 CF 3A FD FF E8 92 A4 FD FF E8 D1 A5 FD FF E8
28 C5 FD FF E8 63 3C FE FF E8 CE 0B FF FF E8 29 56 FF FF E8 14 74 FF FF E8 C3 A2 FF FF E8 4E D3
FF FF E8 A5 E2 FF FF A1 28 66 43 00 E8 13 02 FF FF BA 2C 3E 43 00 A1 28 66 43 00 E8 20 FF FE FF
B9 A4 66 43 00 BA 04 25 43 00 A1 28 66 43 00 E8 00 02 FF FF A1 28 66 43 00 E8 86 02 FF FF E8 29
04 FD FF 8B E5 5D C3
**********************************************************************
Borland Delphi 3.0
CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc
004ABA30 ResH> 55 push ebp
004ABA31 8BEC mov ebp,esp
004ABA33 83C4 F0 add esp,-10
004ABA36 33C0 xor eax,eax
004ABA38 8945 F0 mov dword ptr ss:[ebp-10],eax
004ABA3B B8 60B84A00 mov eax,ResHacke.004AB860
004ABA40 E8 B79CF5FF call ResHacke.004056FC
004ABA45 33C0 xor eax,eax
004ABA47 55 push ebp
004ABA48 68 40BB4A00 push ResHacke.004ABB40
004ABA4D 64:FF30 push dword ptr fs:[eax]
004ABA50 64:8920 mov dword ptr fs:[eax],esp
004ABA53 A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABA58 8B00 mov eax,dword ptr ds:[eax]
004ABA5A E8 856EF8FF call ResHacke.004328E4
004ABA5F A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABA64 8B00 mov eax,dword ptr ds:[eax]
004ABA66 BA 54BB4A00 mov edx,ResHacke.004ABB54 ; ASCII "Resource Hacker"
004ABA6B E8 8C6BF8FF call ResHacke.004325FC
004ABA70 A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABA75 8B00 mov eax,dword ptr ds:[eax]
004ABA77 C640 3F 00 mov byte ptr ds:[eax+3F],0
004ABA7B 8B0D D8DA4A00 mov ecx,dword ptr ds:[4ADAD8] ; ResHacke.004AE81C
004ABA81 A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABA86 8B00 mov eax,dword ptr ds:[eax]
004ABA88 8B15 DCE44900 mov edx,dword ptr ds:[49E4DC] ; ResHacke.0049E51C
004ABA8E E8 696EF8FF call ResHacke.004328FC
004ABA93 E8 786DF5FF call ResHacke.00402810
004ABA98 48 dec eax
004ABA99 7E 78 jle short ResHacke.004ABB13
004ABA9B 8D55 F0 lea edx,dword ptr ss:[ebp-10]
004ABA9E B8 01000000 mov eax,1
004ABAA3 E8 C86DF5FF call ResHacke.00402870
004ABAA8 8B45 F0 mov eax,dword ptr ss:[ebp-10]
004ABAAB 8038 2D cmp byte ptr ds:[eax],2D
004ABAAE 75 63 jnz short ResHacke.004ABB13
004ABAB0 B2 01 mov dl,1
004ABAB2 A1 88AE4800 mov eax,dword ptr ds:[48AE88]
004ABAB7 E8 B872F5FF call ResHacke.00402D74
004ABABC A3 84E84A00 mov dword ptr ds:[4AE884],eax
004ABAC1 33C0 xor eax,eax
004ABAC3 55 push ebp
004ABAC4 68 F9BA4A00 push ResHacke.004ABAF9
004ABAC9 64:FF30 push dword ptr fs:[eax]
004ABACC 64:8920 mov dword ptr fs:[eax],esp
004ABACF 8B15 D8DA4A00 mov edx,dword ptr ds:[4ADAD8] ; ResHacke.004AE81C
004ABAD5 8B12 mov edx,dword ptr ds:[edx]
004ABAD7 A1 84E84A00 mov eax,dword ptr ds:[4AE884]
004ABADC E8 8BF5FDFF call ResHacke.0048B06C
004ABAE1 33C0 xor eax,eax
004ABAE3 5A pop edx ; kernel32.7C816FD7
004ABAE4 59 pop ecx ; kernel32.7C816FD7
004ABAE5 59 pop ecx ; kernel32.7C816FD7
004ABAE6 64:8910 mov dword ptr fs:[eax],edx ; ntdll.KiFastSystemCallRet
004ABAE9 68 00BB4A00 push ResHacke.004ABB00
004ABAEE A1 84E84A00 mov eax,dword ptr ds:[4AE884]
004ABAF3 E8 A472F5FF call ResHacke.00402D9C
004ABAF8 C3 retn
004ABAF9 ^ E9 6A78F5FF jmp ResHacke.00403368
004ABAFE ^ EB EE jmp short ResHacke.004ABAEE
004ABB00 A1 D8DA4A00 mov eax,dword ptr ds:[4ADAD8]
004ABB05 8B00 mov eax,dword ptr ds:[eax]
004ABB07 E8 304DF8FF call ResHacke.0043083C
004ABB0C E8 837CF5FF call ResHacke.00403794
004ABB11 EB 0B jmp short ResHacke.004ABB1E
004ABB13 A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABB18 8B00 mov eax,dword ptr ds:[eax]
004ABB1A C640 3F 01 mov byte ptr ds:[eax+3F],1
004ABB1E A1 60DC4A00 mov eax,dword ptr ds:[4ADC60]
004ABB23 8B00 mov eax,dword ptr ds:[eax]
004ABB25 E8 5E6EF8FF call ResHacke.00432988
004ABB2A 33C0 xor eax,eax
004ABB2C 5A pop edx ; kernel32.7C816FD7
004ABB2D 59 pop ecx ; kernel32.7C816FD7
004ABB2E 59 pop ecx ; kernel32.7C816FD7
004ABB2F 64:8910 mov dword ptr fs:[eax],edx ; ntdll.KiFastSystemCallRet
004ABB32 68 47BB4A00 push ResHacke.004ABB47
004ABB37 8D45 F0 lea eax,dword ptr ss:[ebp-10]
004ABB3A E8 097EF5FF call ResHacke.00403948
004ABB3F C3 retn
55 8B EC 83 C4 F0 33 C0 89 45 F0 B8 60 B8 4A 00 E8 B7 9C F5 FF 33 C0 55 68 40 BB 4A 00 64 FF 30
64 89 20 A1 60 DC 4A 00 8B 00 E8 85 6E F8 FF A1 60 DC 4A 00 8B 00 BA 54 BB 4A 00 E8 8C 6B F8 FF
A1 60 DC 4A 00 8B 00 C6 40 3F 00 8B 0D D8 DA 4A 00 A1 60 DC 4A 00 8B 00 8B 15 DC E4 49 00 E8 69
6E F8 FF E8 78 6D F5 FF 48 7E 78 8D 55 F0 B8 01 00 00 00 E8 C8 6D F5 FF 8B 45 F0 80 38 2D 75 63
B2 01 A1 88 AE 48 00 E8 B8 72 F5 FF A3 84 E8 4A 00 33 C0 55 68 F9 BA 4A 00 64 FF 30 64 89 20 8B
15 D8 DA 4A 00 8B 12 A1 84 E8 4A 00 E8 8B F5 FD FF 33 C0 5A 59 59 64 89 10 68 00 BB 4A 00 A1 84
E8 4A 00 E8 A4 72 F5 FF C3 E9 6A 78 F5 FF EB EE A1 D8 DA 4A 00 8B 00 E8 30 4D F8 FF E8 83 7C F5
FF EB 0B A1 60 DC 4A 00 8B 00 C6 40 3F 01 A1 60 DC 4A 00 8B 00 E8 5E 6E F8 FF 33 C0 5A 59 59 64
89 10 68 47 BB 4A 00 8D 45 F0 E8 09 7E F5 FF C3
**********************************************************************
Borland Delphi 4.0 - 5.0
CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc
00457E00 YUCE> 55 push ebp
00457E01 8BEC mov ebp,esp
00457E03 83C4 F4 add esp,-0C
00457E06 B8 C87C4500 mov eax,YUCE.00457CC8
00457E0B E8 44E4FAFF call YUCE.00406254
00457E10 A1 048F4500 mov eax,dword ptr ds:[458F04]
00457E15 8B00 mov eax,dword ptr ds:[eax]
00457E17 BA 547E4500 mov edx,YUCE.00457E54
00457E1C E8 83DEFEFF call YUCE.00445CA4
00457E21 8B0D 688D4500 mov ecx,dword ptr ds:[458D68] ; YUCE.0045A878
00457E27 A1 048F4500 mov eax,dword ptr ds:[458F04]
00457E2C 8B00 mov eax,dword ptr ds:[eax]
00457E2E 8B15 C85B4500 mov edx,dword ptr ds:[455BC8] ; YUCE.00455C14
00457E34 E8 2FE2FEFF call YUCE.00446068
00457E39 A1 048F4500 mov eax,dword ptr ds:[458F04]
00457E3E 8B00 mov eax,dword ptr ds:[eax]
00457E40 E8 A3E2FEFF call YUCE.004460E8
00457E45 E8 F6B8FAFF call YUCE.00403740
00457E4A 0000 add byte ptr ds:[eax],al
00457E4C FFFF ??? ; Unknown command
00457E4E FFFF ??? ; Unknown command
00457E50 0C 00 or al,0
00457E52 0000 add byte ptr ds:[eax],al
00457E54 C9 leave
00457E55 FA cli
00457E56 C3 retn
55 8B EC 83 C4 F4 B8 C8 7C 45 00 E8 44 E4 FA FF A1 04 8F 45 00 8B 00 BA 54 7E 45 00 E8 83 DE FE
FF 8B 0D 68 8D 45 00 A1 04 8F 45 00 8B 00 8B 15 C8 5B 45 00 E8 2F E2 FE FF A1 04 8F 45 00 8B 00
E8 A3 E2 FE FF E8 F6 B8 FA FF 00 00 FF FF FF FF 0C 00 00 00 C9 FA C3
**********************************************************************
Borland Delphi 6.0 - 7.0
CODE
DATA
BSS
.idata
.tls
.rdata
.reloc
.rsrc
0047845C pymf> 55 push ebp
0047845D 8BEC mov ebp,esp
0047845F 83C4 E8 add esp,-18
00478462 33C0 xor eax,eax
00478464 8945 EC mov dword ptr ss:[ebp-14],eax
00478467 8945 E8 mov dword ptr ss:[ebp-18],eax
0047846A B8 6C824700 mov eax,pymf.0047826C
0047846F E8 94E3F8FF call pymf.00406808
00478474 33C0 xor eax,eax
00478476 55 push ebp
00478477 68 21854700 push pymf.00478521
0047847C 64:FF30 push dword ptr fs:[eax]
0047847F 64:8920 mov dword ptr fs:[eax],esp
00478482 E8 0DD5FFFF call pymf.00475994
00478487 84C0 test al,al
00478489 75 18 jnz short pymf.004784A3
0047848B 6A 24 push 24
0047848D 68 30854700 push pymf.00478530 ; ASCII "Error"
00478492 68 38854700 push pymf.00478538 ; ASCII "YMF7x4 driver is not found. Start the program anyway?"
00478497 6A 00 push 0
00478499 E8 C2ECF8FF call <jmp.&user32.MessageBoxA>
0047849E 83F8 06 cmp eax,6
004784A1 75 63 jnz short pymf.00478506
004784A3 8D55 E8 lea edx,dword ptr ss:[ebp-18]
004784A6 B8 01000000 mov eax,1
004784AB E8 BCA5F8FF call pymf.00402A6C
004784B0 8B45 E8 mov eax,dword ptr ss:[ebp-18]
004784B3 8D55 EC lea edx,dword ptr ss:[ebp-14]
004784B6 E8 3900F9FF call pymf.004084F4
004784BB 8B45 EC mov eax,dword ptr ss:[ebp-14]
004784BE BA 78854700 mov edx,pymf.00478578 ; ASCII "-clean"
004784C3 E8 5CC3F8FF call pymf.00404824
004784C8 75 07 jnz short pymf.004784D1
004784CA E8 B1C7FFFF call pymf.00474C80
004784CF EB 35 jmp short pymf.00478506
004784D1 A1 E8B24700 mov eax,dword ptr ds:[47B2E8]
004784D6 8B00 mov eax,dword ptr ds:[eax]
004784D8 E8 A75BFEFF call pymf.0045E084
004784DD 8B0D 00B14700 mov ecx,dword ptr ds:[47B100] ; pymf.0047CDC0
004784E3 A1 E8B24700 mov eax,dword ptr ds:[47B2E8]
004784E8 8B00 mov eax,dword ptr ds:[eax]
004784EA 8B15 F85B4700 mov edx,dword ptr ds:[475BF8] ; pymf.00475C44
004784F0 E8 A75BFEFF call pymf.0045E09C
004784F5 A1 E8B24700 mov eax,dword ptr ds:[47B2E8]
004784FA 8B00 mov eax,dword ptr ds:[eax]
004784FC E8 1B5CFEFF call pymf.0045E11C
00478501 E8 5ED6FFFF call pymf.00475B64
00478506 33C0 xor eax,eax
00478508 5A pop edx ; kernel32.7C816FD7
00478509 59 pop ecx ; kernel32.7C816FD7
0047850A 59 pop ecx ; kernel32.7C816FD7
0047850B 64:8910 mov dword ptr fs:[eax],edx ; ntdll.KiFastSystemCallRet
0047850E 68 28854700 push pymf.00478528
00478513 8D45 E8 lea eax,dword ptr ss:[ebp-18]
00478516 BA 02000000 mov edx,2
0047851B E8 2CBFF8FF call pymf.0040444C
00478520 C3 retn
55 8B EC 83 C4 E8 33 C0 89 45 EC 89 45 E8 B8 6C 82 47 00 E8 94 E3 F8 FF 33 C0 55 68 21 85 47 00
64 FF 30 64 89 20 E8 0D D5 FF FF 84 C0 75 18 6A 24 68 30 85 47 00 68 38 85 47 00 6A 00 E8 C2 EC
F8 FF 83 F8 06 75 63 8D 55 E8 B8 01 00 00 00 E8 BC A5 F8 FF 8B 45 E8 8D 55 EC E8 39 00 F9 FF 8B
45 EC BA 78 85 47 00 E8 5C C3 F8 FF 75 07 E8 B1 C7 FF FF EB 35 A1 E8 B2 47 00 8B 00 E8 A7 5B FE
FF 8B 0D 00 B1 47 00 A1 E8 B2 47 00 8B 00 8B 15 F8 5B 47 00 E8 A7 5B FE FF A1 E8 B2 47 00 8B 00
E8 1B 5C FE FF E8 5E D6 FF FF 33 C0 5A 59 59 64 89 10 68 28 85 47 00 8D 45 E8 BA 02 00 00 00 E8
2C BF F8 FF C3
**********************************************************************
MASM32 / TASM32
.text
.rdata
.data
.rsrc
00401000 RVA.>/$ 6A 00 push 0 ; /pModule = NULL
00401002 |. E8 830A0000 call <jmp.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA
00401007 |. A3 07304000 mov dword ptr ds:[403007],eax
0040100C |. 6A 00 push 0 ; /lParam = NULL
0040100E |. 68 6C104000 push RVA.0040106C ; |DlgProc = RVA.0040106C
00401013 |. 6A 00 push 0 ; |hOwner = NULL
00401015 |. 68 00304000 push RVA.00403000 ; |pTemplate = "DIALOG"
0040101A |. FF35 07304000 push dword ptr ds:[403007] ; |hInst = NULL
00401020 |. E8 F9090000 call <jmp.&USER32.DialogBoxParamA> ; \DialogBoxParamA
00401025 |. 50 push eax ; /ExitCode = 0
00401026 \. E8 4D0A0000 call <jmp.&KERNEL32.ExitProcess> ; \ExitProcess
0040102B /. 55 push ebp
0040102C |. 8BEC mov ebp,esp
0040102E |. 837D 0C 10 cmp dword ptr ss:[ebp+C],10
00401032 |. 75 0C jnz short RVA.00401040
00401034 |. 6A 00 push 0 ; /Result = 0
00401036 |. FF75 08 push dword ptr ss:[ebp+8] ; |hWnd = 00401000
00401039 |. E8 EC090000 call <jmp.&USER32.EndDialog> ; \EndDialog
0040103E |. EB 26 jmp short RVA.00401066
00401040 |> 817D 0C 11010000 cmp dword ptr ss:[ebp+C],111
00401047 |. 75 1D jnz short RVA.00401066
00401049 |. 8B45 10 mov eax,dword ptr ss:[ebp+10]
0040104C |. 66:3D B80B cmp ax,0BB8
00401050 |. 75 14 jnz short RVA.00401066
00401052 |. C1E8 10 shr eax,10
00401055 |. 66:0BC0 or ax,ax
00401058 |. 75 0A jnz short RVA.00401064
0040105A |. 6A 00 push 0 ; /Result = 0
0040105C |. FF75 08 push dword ptr ss:[ebp+8] ; |hWnd = 00401000
0040105F |. E8 C6090000 call <jmp.&USER32.EndDialog> ; \EndDialog
00401064 |> EB 00 jmp short RVA.00401066
00401066 |> 33C0 xor eax,eax
00401068 |. C9 leave
00401069 \. C2 1000 retn 10
6A 00 E8 83 0A 00 00 A3 07 30 40 00 6A 00 68 6C 10 40 00 6A 00 68 00 30 40 00 FF 35 07 30 40 00
E8 F9 09 00 00 50 E8 4D 0A 00 00 55 8B EC 83 7D 0C 10 75 0C 6A 00 FF 75 08 E8 EC 09 00 00 EB 26
81 7D 0C 11 01 00 00 75 1D 8B 45 10 66 3D B8 0B 75 14 C1 E8 10 66 0B C0 75 0A 6A 00 FF 75 08 E8
C6 09 00 00 EB 00 33 C0 C9 C2 10 00
**********************************************************************
Microsoft Visual Basic 5.0 / 6.0
.text
.data
.rsrc
00402360 Kill>/$ 68 2C4D4000 push KillBox.00404D2C ; ASCII "VB5!6&*"
00402365 |. E8 EEFFFFFF call <jmp.&MSVBVM60.#100>
0040236A |. 0000 add byte ptr ds:[eax],al
0040236C |. 0000 add byte ptr ds:[eax],al
0040236E |. 0000 add byte ptr ds:[eax],al
00402370 |. 3000 xor byte ptr ds:[eax],al
00402372 |. 0000 add byte ptr ds:[eax],al
00402374 |. 3800 cmp byte ptr ds:[eax],al
00402376 |. 0000 add byte ptr ds:[eax],al
00402378 |. 0000 add byte ptr ds:[eax],al
0040237A |. 0000 add byte ptr ds:[eax],al
0040237C |. 4F dec edi ; ntdll.7C930738
0040237D \. C2 F150 retn 50F1
68 2C 4D 40 00 E8 EE FF FF FF 00 00 00 00 00 00 30 00 00 00 38 00 00 00 00 00 00 00 4F C2 F1 50
**********************************************************************
Microsoft Visual C++ 4.x
.text
.rdata
.data
.idata
.reloc
00401CC0 memt> $ 64:A1 00000000 mov eax,dword ptr fs:[0]
00401CC6 . 55 push ebp
00401CC7 . 8BEC mov ebp,esp
00401CC9 . 6A FF push -1
00401CCB . 68 28804000 push memtest.00408028
00401CD0 . 68 001B4000 push memtest.00401B00
00401CD5 . 50 push eax
00401CD6 . 64:8925 00000000 mov dword ptr fs:[0],esp
00401CDD . 83EC 60 sub esp,60
00401CE0 . 53 push ebx
00401CE1 . 56 push esi
00401CE2 . 57 push edi ; ntdll.7C930738
00401CE3 . 8965 E8 mov dword ptr ss:[ebp-18],esp
00401CE6 . FF15 30D14000 call near dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion
00401CEC . A3 B89A4000 mov dword ptr ds:[409AB8],eax
00401CF1 . 33C0 xor eax,eax
00401CF3 . A0 B99A4000 mov al,byte ptr ds:[409AB9]
00401CF8 . A3 C49A4000 mov dword ptr ds:[409AC4],eax
00401CFD . A1 B89A4000 mov eax,dword ptr ds:[409AB8]
00401D02 . C12D B89A4000 10 shr dword ptr ds:[409AB8],10
00401D09 . 25 FF000000 and eax,0FF
00401D0E . A3 C09A4000 mov dword ptr ds:[409AC0],eax
00401D13 . C1E0 08 shl eax,8
00401D16 . 0305 C49A4000 add eax,dword ptr ds:[409AC4]
00401D1C . A3 BC9A4000 mov dword ptr ds:[409ABC],eax
00401D21 . E8 6A010000 call memtest.00401E90
00401D26 . 85C0 test eax,eax
00401D28 . 75 0A jnz short memtest.00401D34
00401D2A . 6A 1C push 1C
00401D2C . E8 2F010000 call memtest.00401E60
00401D31 . 83C4 04 add esp,4
00401D34 > C745 FC 00000000 mov dword ptr ss:[ebp-4],0
00401D3B . E8 00260000 call memtest.00404340
00401D40 . E8 EB250000 call memtest.00404330
00401D45 . FF15 2CD14000 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
00401D4B . A3 80CD4000 mov dword ptr ds:[40CD80],eax
00401D50 . E8 8B210000 call memtest.00403EE0
00401D55 . A3 3C924000 mov dword ptr ds:[40923C],eax
00401D5A . 85C0 test eax,eax
00401D5C . 74 09 je short memtest.00401D67
00401D5E . 833D 80CD4000 00 cmp dword ptr ds:[40CD80],0
00401D65 . 75 0A jnz short memtest.00401D71
00401D67 > 6A FF push -1
00401D69 . E8 021B0000 call memtest.00403870
00401D6E . 83C4 04 add esp,4
00401D71 > E8 EA1E0000 call memtest.00403C60
00401D76 . E8 F51D0000 call memtest.00403B70
00401D7B . E8 C01A0000 call memtest.00403840
00401D80 . 8B35 80CD4000 mov esi,dword ptr ds:[40CD80]
00401D86 . 8A06 mov al,byte ptr ds:[esi]
00401D88 . 3C 22 cmp al,22
00401D8A . 74 0C je short memtest.00401D98
00401D8C . 3C 20 cmp al,20
00401D8E . 76 35 jbe short memtest.00401DC5
00401D90 > 46 inc esi
00401D91 . 803E 20 cmp byte ptr ds:[esi],20
00401D94 .^ 77 FA ja short memtest.00401D90
00401D96 . EB 2D jmp short memtest.00401DC5
00401D98 > 46 inc esi
00401D99 . 803E 22 cmp byte ptr ds:[esi],22
00401D9C . 74 26 je short memtest.00401DC4
00401D9E . 8A5D D8 mov bl,byte ptr ss:[ebp-28]
00401DA1 > 8A1E mov bl,byte ptr ds:[esi]
00401DA3 . 84DB test bl,bl
00401DA5 . 74 18 je short memtest.00401DBF
00401DA7 . 33C0 xor eax,eax
00401DA9 . 8AC3 mov al,bl
00401DAB . 50 push eax
00401DAC . E8 5F1D0000 call memtest.00403B10
00401DB1 . 83C4 04 add esp,4
00401DB4 . 85C0 test eax,eax
00401DB6 . 74 01 je short memtest.00401DB9
00401DB8 . 46 inc esi
00401DB9 > 46 inc esi
00401DBA . 803E 22 cmp byte ptr ds:[esi],22
00401DBD .^ 75 E2 jnz short memtest.00401DA1
00401DBF > 803E 22 cmp byte ptr ds:[esi],22
00401DC2 . 75 01 jnz short memtest.00401DC5
00401DC4 > 46 inc esi
00401DC5 > 803E 00 cmp byte ptr ds:[esi],0
00401DC8 . 74 0B je short memtest.00401DD5
00401DCA > 803E 20 cmp byte ptr ds:[esi],20
00401DCD . 77 06 ja short memtest.00401DD5
00401DCF . 46 inc esi
00401DD0 . 803E 00 cmp byte ptr ds:[esi],0
00401DD3 .^ 75 F5 jnz short memtest.00401DCA
00401DD5 > C745 BC 00000000 mov dword ptr ss:[ebp-44],0
00401DDC . 8D45 90 lea eax,dword ptr ss:[ebp-70]
00401DDF . 50 push eax ; /pStartupinfo = NULL
00401DE0 . FF15 28D14000 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
00401DE6 . F645 BC 01 test byte ptr ss:[ebp-44],1
00401DEA . B8 0A000000 mov eax,0A
00401DEF . 74 08 je short memtest.00401DF9
00401DF1 . 8B45 C0 mov eax,dword ptr ss:[ebp-40] ; ntdll.7C92E64E
00401DF4 . 25 FFFF0000 and eax,0FFFF
00401DF9 > 50 push eax ; /Arg4 = 00000000
00401DFA . 56 push esi ; |Arg3 = FFFFFFFF
00401DFB . 6A 00 push 0 ; |Arg2 = 00000000
00401DFD . 6A 00 push 0 ; |/pModule = NULL
00401DFF . FF15 24D14000 call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; |\GetModuleHandleA
00401E05 . 50 push eax ; |Arg1 = 00000000
00401E06 . E8 F5F1FFFF call memtest.00401000 ; \memtest.00401000
00401E0B . 50 push eax
00401E0C . E8 5F1A0000 call memtest.00403870
00401E11 . EB 27 jmp short memtest.00401E3A
00401E13 . 8B45 EC mov eax,dword ptr ss:[ebp-14]
00401E16 . 8B00 mov eax,dword ptr ds:[eax]
00401E18 . 8B00 mov eax,dword ptr ds:[eax]
00401E1A . 8945 E0 mov dword ptr ss:[ebp-20],eax
00401E1D . 8B45 EC mov eax,dword ptr ss:[ebp-14]
00401E20 . 50 push eax
00401E21 . 8B45 E0 mov eax,dword ptr ss:[ebp-20]
00401E24 . 50 push eax
00401E25 . E8 561B0000 call memtest.00403980
00401E2A . 83C4 08 add esp,8
00401E2D . C3 retn
64 A1 00 00 00 00 55 8B EC 6A FF 68 28 80 40 00 68 00 1B 40 00 50 64 89 25 00 00 00 00 83 EC 60
53 56 57 89 65 E8 FF 15 30 D1 40 00 A3 B8 9A 40 00 33 C0 A0 B9 9A 40 00 A3 C4 9A 40 00 A1 B8 9A
40 00 C1 2D B8 9A 40 00 10 25 FF 00 00 00 A3 C0 9A 40 00 C1 E0 08 03 05 C4 9A 40 00 A3 BC 9A 40
00 E8 6A 01 00 00 85 C0 75 0A 6A 1C E8 2F 01 00 00 83 C4 04 C7 45 FC 00 00 00 00 E8 00 26 00 00
E8 EB 25 00 00 FF 15 2C D1 40 00 A3 80 CD 40 00 E8 8B 21 00 00 A3 3C 92 40 00 85 C0 74 09 83 3D
80 CD 40 00 00 75 0A 6A FF E8 02 1B 00 00 83 C4 04 E8 EA 1E 00 00 E8 F5 1D 00 00 E8 C0 1A 00 00
8B 35 80 CD 40 00 8A 06 3C 22 74 0C 3C 20 76 35 46 80 3E 20 77 FA EB 2D 46 80 3E 22 74 26 8A 5D
D8 8A 1E 84 DB 74 18 33 C0 8A C3 50 E8 5F 1D 00 00 83 C4 04 85 C0 74 01 46 46 80 3E 22 75 E2 80
3E 22 75 01 46 80 3E 00 74 0B 80 3E 20 77 06 46 80 3E 00 75 F5 C7 45 BC 00 00 00 00 8D 45 90 50
FF 15 28 D1 40 00 F6 45 BC 01 B8 0A 00 00 00 74 08 8B 45 C0 25 FF FF 00 00 50 56 6A 00 6A 00 FF
15 24 D1 40 00 50 E8 F5 F1 FF FF 50 E8 5F 1A 00 00 EB 27 8B 45 EC 8B 00 8B 00 89 45 E0 8B 45 EC
50 8B 45 E0 50 E8 56 1B 00 00 83 C4 08 C3
**********************************************************************
Microsoft Visual C++ 5.0
.text
.rdata
.data
.rsrc
0040B060 HEdi> $ 55 push ebp
0040B061 . 8BEC mov ebp,esp
0040B063 . 6A FF push -1
0040B065 . 68 C8264400 push HEdit.004426C8
0040B06A . 68 38E24000 push HEdit.0040E238 ; SE handler installation
0040B06F . 64:A1 00000000 mov eax,dword ptr fs:[0]
0040B075 . 50 push eax
0040B076 . 64:8925 00000000 mov dword ptr fs:[0],esp
0040B07D . 83C4 A8 add esp,-58
0040B080 . 53 push ebx
0040B081 . 56 push esi
0040B082 . 57 push edi ; ntdll.7C930738
0040B083 . 8965 E8 mov dword ptr ss:[ebp-18],esp
0040B086 . FF15 F0C14300 call near dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion
0040B08C . 33D2 xor edx,edx ; ntdll.KiFastSystemCallRet
0040B08E . 8AD4 mov dl,ah
0040B090 . 8915 A0174500 mov dword ptr ds:[4517A0],edx ; ntdll.KiFastSystemCallRet
0040B096 . 8BC8 mov ecx,eax
0040B098 . 81E1 FF000000 and ecx,0FF
0040B09E . 890D 9C174500 mov dword ptr ds:[45179C],ecx
0040B0A4 . C1E1 08 shl ecx,8
0040B0A7 . 03CA add ecx,edx ; ntdll.KiFastSystemCallRet
0040B0A9 . 890D 98174500 mov dword ptr ds:[451798],ecx
0040B0AF . C1E8 10 shr eax,10
0040B0B2 . A3 94174500 mov dword ptr ds:[451794],eax
0040B0B7 . E8 F45C0000 call HEdit.00410DB0
0040B0BC . 85C0 test eax,eax
0040B0BE . 75 0A jnz short HEdit.0040B0CA
0040B0C0 . 6A 1C push 1C
0040B0C2 . E8 79010000 call HEdit.0040B240
0040B0C7 . 83C4 04 add esp,4
0040B0CA > E8 11290000 call HEdit.0040D9E0
0040B0CF . 85C0 test eax,eax
0040B0D1 . 75 0A jnz short HEdit.0040B0DD
0040B0D3 . 6A 10 push 10
0040B0D5 . E8 66010000 call HEdit.0040B240
0040B0DA . 83C4 04 add esp,4
0040B0DD > C745 FC 00000000 mov dword ptr ss:[ebp-4],0
0040B0E4 . E8 B75A0000 call HEdit.00410BA0
0040B0E9 . E8 821B0000 call HEdit.0040CC70
0040B0EE . FF15 70C24300 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
0040B0F4 . A3 D02E4500 mov dword ptr ds:[452ED0],eax
0040B0F9 . E8 42590000 call HEdit.00410A40
0040B0FE . A3 DC174500 mov dword ptr ds:[4517DC],eax
0040B103 . 85C0 test eax,eax
0040B105 . 74 09 je short HEdit.0040B110
0040B107 . A1 D02E4500 mov eax,dword ptr ds:[452ED0]
0040B10C . 85C0 test eax,eax
0040B10E . 75 0A jnz short HEdit.0040B11A
0040B110 > 6A FF push -1
0040B112 . E8 C9F7FFFF call HEdit.0040A8E0
0040B117 . 83C4 04 add esp,4
0040B11A > E8 71560000 call HEdit.00410790
0040B11F . E8 7C550000 call HEdit.004106A0
0040B124 . E8 87F7FFFF call HEdit.0040A8B0
0040B129 . 8B35 D02E4500 mov esi,dword ptr ds:[452ED0]
0040B12F . 8975 9C mov dword ptr ss:[ebp-64],esi
0040B132 . 803E 22 cmp byte ptr ds:[esi],22
0040B135 . 0F85 BE000000 jnz HEdit.0040B1F9
0040B13B > 46 inc esi
0040B13C . 8975 9C mov dword ptr ss:[ebp-64],esi
0040B13F . 8A06 mov al,byte ptr ds:[esi]
0040B141 . 3C 22 cmp al,22
0040B143 . 74 1C je short HEdit.0040B161
0040B145 . 84C0 test al,al
0040B147 . 74 18 je short HEdit.0040B161
0040B149 . 25 FF000000 and eax,0FF
0040B14E . 50 push eax
0040B14F . E8 EC540000 call HEdit.00410640
0040B154 . 83C4 04 add esp,4
0040B157 . 85C0 test eax,eax
0040B159 .^ 74 E0 je short HEdit.0040B13B
0040B15B . 46 inc esi
0040B15C . 8975 9C mov dword ptr ss:[ebp-64],esi
0040B15F .^ EB DA jmp short HEdit.0040B13B
0040B161 > 803E 22 cmp byte ptr ds:[esi],22
0040B164 . 75 04 jnz short HEdit.0040B16A
0040B166 . 46 inc esi
0040B167 . 8975 9C mov dword ptr ss:[ebp-64],esi
0040B16A > 8A06 mov al,byte ptr ds:[esi]
0040B16C . 84C0 test al,al
0040B16E . 74 0A je short HEdit.0040B17A
0040B170 . 3C 20 cmp al,20
0040B172 . 77 06 ja short HEdit.0040B17A
0040B174 . 46 inc esi
0040B175 . 8975 9C mov dword ptr ss:[ebp-64],esi
0040B178 .^ EB F0 jmp short HEdit.0040B16A
0040B17A > C745 D0 00000000 mov dword ptr ss:[ebp-30],0
0040B181 . 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
0040B184 . 50 push eax ; /pStartupinfo = NULL
0040B185 . FF15 68C24300 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
0040B18B . F645 D0 01 test byte ptr ss:[ebp-30],1
0040B18F . 74 0A je short HEdit.0040B19B
0040B191 . 8B45 D4 mov eax,dword ptr ss:[ebp-2C] ; kernel32.7C816FD7
0040B194 . 25 FFFF0000 and eax,0FFFF
0040B199 . EB 05 jmp short HEdit.0040B1A0
0040B19B > B8 0A000000 mov eax,0A
0040B1A0 > 50 push eax
0040B1A1 . 56 push esi
0040B1A2 . 6A 00 push 0
0040B1A4 . 6A 00 push 0 ; /pModule = NULL
0040B1A6 . FF15 78C24300 call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; \GetModuleHandleA
0040B1AC . 50 push eax
0040B1AD . E8 B5FC0000 call HEdit.0041AE67
0040B1B2 . 8945 A0 mov dword ptr ss:[ebp-60],eax
0040B1B5 . 50 push eax
0040B1B6 . E8 25F7FFFF call HEdit.0040A8E0
0040B1BB . EB 21 jmp short HEdit.0040B1DE
0040B1BD . 8B45 EC mov eax,dword ptr ss:[ebp-14]
0040B1C0 . 8B08 mov ecx,dword ptr ds:[eax]
0040B1C2 . 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
0040B1C4 . 894D 98 mov dword ptr ss:[ebp-68],ecx
0040B1C7 . 50 push eax
0040B1C8 . 51 push ecx
0040B1C9 . E8 22520000 call HEdit.004103F0
0040B1CE . 83C4 08 add esp,8
0040B1D1 . C3 retn
55 8B EC 6A FF 68 C8 26 44 00 68 38 E2 40 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 C4 A8
53 56 57 89 65 E8 FF 15 F0 C1 43 00 33 D2 8A D4 89 15 A0 17 45 00 8B C8 81 E1 FF 00 00 00 89 0D
9C 17 45 00 C1 E1 08 03 CA 89 0D 98 17 45 00 C1 E8 10 A3 94 17 45 00 E8 F4 5C 00 00 85 C0 75 0A
6A 1C E8 79 01 00 00 83 C4 04 E8 11 29 00 00 85 C0 75 0A 6A 10 E8 66 01 00 00 83 C4 04 C7 45 FC
00 00 00 00 E8 B7 5A 00 00 E8 82 1B 00 00 FF 15 70 C2 43 00 A3 D0 2E 45 00 E8 42 59 00 00 A3 DC
17 45 00 85 C0 74 09 A1 D0 2E 45 00 85 C0 75 0A 6A FF E8 C9 F7 FF FF 83 C4 04 E8 71 56 00 00 E8
7C 55 00 00 E8 87 F7 FF FF 8B 35 D0 2E 45 00 89 75 9C 80 3E 22 0F 85 BE 00 00 00 46 89 75 9C 8A
06 3C 22 74 1C 84 C0 74 18 25 FF 00 00 00 50 E8 EC 54 00 00 83 C4 04 85 C0 74 E0 46 89 75 9C EB
DA 80 3E 22 75 04 46 89 75 9C 8A 06 84 C0 74 0A 3C 20 77 06 46 89 75 9C EB F0 C7 45 D0 00 00 00
00 8D 45 A4 50 FF 15 68 C2 43 00 F6 45 D0 01 74 0A 8B 45 D4 25 FF FF 00 00 EB 05 B8 0A 00 00 00
50 56 6A 00 6A 00 FF 15 78 C2 43 00 50 E8 B5 FC 00 00 89 45 A0 50 E8 25 F7 FF FF EB 21 8B 45 EC
8B 08 8B 09 89 4D 98 50 51 E8 22 52 00 00 83 C4 08 C3
**********************************************************************
Microsoft Visual C++ 6.0 [Debug]
.text
.rdata
.data
.rsrc
005522F3 Baby>/$ 55 push ebp
005522F4 |. 8BEC mov ebp,esp
005522F6 |. 6A FF push -1
005522F8 |. 68 58235800 push Babylon.00582358
005522FD |. 68 6C5B5500 push Babylon.00555B6C ; SE handler installation
00552302 |. 64:A1 00000000 mov eax,dword ptr fs:[0]
00552308 |. 50 push eax
00552309 |. 64:8925 00000000 mov dword ptr fs:[0],esp
00552310 |. 83EC 58 sub esp,58
00552313 |. 53 push ebx
00552314 |. 56 push esi
00552315 |. 57 push edi ; ntdll.7C930738
00552316 |. 8965 E8 mov dword ptr ss:[ebp-18],esp
00552319 |. FF15 00635700 call near dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion
0055231F |. 33D2 xor edx,edx ; ntdll.KiFastSystemCallRet
00552321 |. 8AD4 mov dl,ah
00552323 |. 8915 00BF5D00 mov dword ptr ds:[5DBF00],edx ; ntdll.KiFastSystemCallRet
00552329 |. 8BC8 mov ecx,eax
0055232B |. 81E1 FF000000 and ecx,0FF
00552331 |. 890D FCBE5D00 mov dword ptr ds:[5DBEFC],ecx
00552337 |. C1E1 08 shl ecx,8
0055233A |. 03CA add ecx,edx ; ntdll.KiFastSystemCallRet
0055233C |. 890D F8BE5D00 mov dword ptr ds:[5DBEF8],ecx
00552342 |. C1E8 10 shr eax,10
00552345 |. A3 F4BE5D00 mov dword ptr ds:[5DBEF4],eax
0055234A |. 6A 01 push 1
0055234C |. E8 391D0000 call Babylon.0055408A
00552351 |. 59 pop ecx ; kernel32.7C816FD7
00552352 |. 85C0 test eax,eax
00552354 |. 75 08 jnz short Babylon.0055235E
00552356 |. 6A 1C push 1C
00552358 |. E8 C3000000 call Babylon.00552420
0055235D |. 59 pop ecx ; kernel32.7C816FD7
0055235E |> E8 99350000 call Babylon.005558FC
00552363 |. 85C0 test eax,eax
00552365 |. 75 08 jnz short Babylon.0055236F
00552367 |. 6A 10 push 10
00552369 |. E8 B2000000 call Babylon.00552420
0055236E |. 59 pop ecx ; kernel32.7C816FD7
0055236F |> 33F6 xor esi,esi
00552371 |. 8975 FC mov dword ptr ss:[ebp-4],esi
00552374 |. E8 1B840000 call Babylon.0055A794
00552379 |. FF15 0C625700 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
0055237F |. A3 08D85D00 mov dword ptr ds:[5DD808],eax
00552384 |. E8 1B8C0000 call Babylon.0055AFA4
00552389 |. A3 7CBE5D00 mov dword ptr ds:[5DBE7C],eax
0055238E |. E8 C4890000 call Babylon.0055AD57
00552393 |. E8 06890000 call Babylon.0055AC9E
00552398 |. E8 A7380000 call Babylon.00555C44
0055239D |. 8975 D0 mov dword ptr ss:[ebp-30],esi
005523A0 |. 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
005523A3 |. 50 push eax ; /pStartupinfo = NULL
005523A4 |. FF15 18625700 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
005523AA |. E8 97880000 call Babylon.0055AC46
005523AF |. 8945 9C mov dword ptr ss:[ebp-64],eax
005523B2 |. F645 D0 01 test byte ptr ss:[ebp-30],1
005523B6 |. 74 06 je short Babylon.005523BE
005523B8 |. 0FB745 D4 movzx eax,word ptr ss:[ebp-2C]
005523BC |. EB 03 jmp short Babylon.005523C1
005523BE |> 6A 0A push 0A
005523C0 |. 58 pop eax ; kernel32.7C816FD7
005523C1 |> 50 push eax ; /Arg4 = 00000000
005523C2 |. FF75 9C push dword ptr ss:[ebp-64] ; |Arg3 = 00000001
005523C5 |. 56 push esi ; |Arg2 = FFFFFFFF
005523C6 |. 56 push esi ; |/pModule = FFFFFFFF ???
005523C7 |. FF15 68645700 call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; |\GetModuleHandleA
005523CD |. 50 push eax ; |Arg1 = 00000000
005523CE |. E8 2DC0EBFF call Babylon.0040E400 ; \Babylon.0040E400
005523D3 |. 8945 A0 mov dword ptr ss:[ebp-60],eax
005523D6 |. 50 push eax
005523D7 |. E8 95380000 call Babylon.00555C71
005523DC |. 8B45 EC mov eax,dword ptr ss:[ebp-14]
005523DF |. 8B08 mov ecx,dword ptr ds:[eax]
005523E1 |. 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
005523E3 |. 894D 98 mov dword ptr ss:[ebp-68],ecx
005523E6 |. 50 push eax
005523E7 |. 51 push ecx
005523E8 |. E8 68550000 call Babylon.00557955
005523ED |. 59 pop ecx ; kernel32.7C816FD7
005523EE |. 59 pop ecx ; kernel32.7C816FD7
005523EF \. C3 retn
55 8B EC 6A FF 68 58 23 58 00 68 6C 5B 55 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58
53 56 57 89 65 E8 FF 15 00 63 57 00 33 D2 8A D4 89 15 00 BF 5D 00 8B C8 81 E1 FF 00 00 00 89 0D
FC BE 5D 00 C1 E1 08 03 CA 89 0D F8 BE 5D 00 C1 E8 10 A3 F4 BE 5D 00 6A 01 E8 39 1D 00 00 59 85
C0 75 08 6A 1C E8 C3 00 00 00 59 E8 99 35 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 59 33 F6 89 75
FC E8 1B 84 00 00 FF 15 0C 62 57 00 A3 08 D8 5D 00 E8 1B 8C 00 00 A3 7C BE 5D 00 E8 C4 89 00 00
E8 06 89 00 00 E8 A7 38 00 00 89 75 D0 8D 45 A4 50 FF 15 18 62 57 00 E8 97 88 00 00 89 45 9C F6
45 D0 01 74 06 0F B7 45 D4 EB 03 6A 0A 58 50 FF 75 9C 56 56 FF 15 68 64 57 00 50 E8 2D C0 EB FF
89 45 A0 50 E8 95 38 00 00 8B 45 EC 8B 08 8B 09 89 4D 98 50 51 E8 68 55 00 00 59 59 C3
**********************************************************************
Microsoft Visual C++ 6.0
.text
.rdata
.data
.tls
.rsrc
004AD06E ACDS>/$ 55 push ebp
004AD06F |. 8BEC mov ebp,esp
004AD071 |. 6A FF push -1
004AD073 |. 68 28014E00 push ACDSee.004E0128
004AD078 |. 68 9C0C4B00 push ACDSee.004B0C9C ; SE handler installation
004AD07D |. 64:A1 00000000 mov eax,dword ptr fs:[0]
004AD083 |. 50 push eax
004AD084 |. 64:8925 00000000 mov dword ptr fs:[0],esp
004AD08B |. 83EC 58 sub esp,58
004AD08E |. 53 push ebx
004AD08F |. 56 push esi
004AD090 |. 57 push edi ; ntdll.7C930738
004AD091 |. 8965 E8 mov dword ptr ss:[ebp-18],esp
004AD094 |. FF15 A8744D00 call near dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion
004AD09A |. 33D2 xor edx,edx ; ntdll.KiFastSystemCallRet
004AD09C |. 8AD4 mov dl,ah
004AD09E |. 8915 F4584F00 mov dword ptr ds:[4F58F4],edx ; ntdll.KiFastSystemCallRet
004AD0A4 |. 8BC8 mov ecx,eax
004AD0A6 |. 81E1 FF000000 and ecx,0FF
004AD0AC |. 890D F0584F00 mov dword ptr ds:[4F58F0],ecx
004AD0B2 |. C1E1 08 shl ecx,8
004AD0B5 |. 03CA add ecx,edx ; ntdll.KiFastSystemCallRet
004AD0B7 |. 890D EC584F00 mov dword ptr ds:[4F58EC],ecx
004AD0BD |. C1E8 10 shr eax,10
004AD0C0 |. A3 E8584F00 mov dword ptr ds:[4F58E8],eax
004AD0C5 |. 6A 01 push 1
004AD0C7 |. E8 C12D0000 call ACDSee.004AFE8D
004AD0CC |. 59 pop ecx ; kernel32.7C816FD7
004AD0CD |. 85C0 test eax,eax
004AD0CF |. 75 08 jnz short ACDSee.004AD0D9
004AD0D1 |. 6A 1C push 1C
004AD0D3 |. E8 C3000000 call ACDSee.004AD19B
004AD0D8 |. 59 pop ecx ; kernel32.7C816FD7
004AD0D9 |> E8 4E230000 call ACDSee.004AF42C
004AD0DE |. 85C0 test eax,eax
004AD0E0 |. 75 08 jnz short ACDSee.004AD0EA
004AD0E2 |. 6A 10 push 10
004AD0E4 |. E8 B2000000 call ACDSee.004AD19B
004AD0E9 |. 59 pop ecx ; kernel32.7C816FD7
004AD0EA |> 33F6 xor esi,esi
004AD0EC |. 8975 FC mov dword ptr ss:[ebp-4],esi
004AD0EF |. E8 42510000 call ACDSee.004B2236
004AD0F4 |. FF15 7C724D00 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
004AD0FA |. A3 58704F00 mov dword ptr ds:[4F7058],eax
004AD0FF |. E8 00500000 call ACDSee.004B2104
004AD104 |. A3 D8584F00 mov dword ptr ds:[4F58D8],eax
004AD109 |. E8 A94D0000 call ACDSee.004B1EB7
004AD10E |. E8 EB4C0000 call ACDSee.004B1DFE
004AD113 |. E8 EF080000 call ACDSee.004ADA07
004AD118 |. 8975 D0 mov dword ptr ss:[ebp-30],esi
004AD11B |. 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
004AD11E |. 50 push eax ; /pStartupinfo = NULL
004AD11F |. FF15 74724D00 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
004AD125 |. E8 7C4C0000 call ACDSee.004B1DA6
004AD12A |. 8945 9C mov dword ptr ss:[ebp-64],eax
004AD12D |. F645 D0 01 test byte ptr ss:[ebp-30],1
004AD131 |. 74 06 je short ACDSee.004AD139
004AD133 |. 0FB745 D4 movzx eax,word ptr ss:[ebp-2C]
004AD137 |. EB 03 jmp short ACDSee.004AD13C
004AD139 |> 6A 0A push 0A
004AD13B |. 58 pop eax ; kernel32.7C816FD7
004AD13C |> 50 push eax
004AD13D |. FF75 9C push dword ptr ss:[ebp-64]
004AD140 |. 56 push esi
004AD141 |. 56 push esi ; /pModule = FFFFFFFF ???
004AD142 |. FF15 90744D00 call near dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; \GetModuleHandleA
004AD148 |. 50 push eax
004AD149 |. E8 F9E50000 call ACDSee.004BB747
004AD14E |. 8945 A0 mov dword ptr ss:[ebp-60],eax
004AD151 |. 50 push eax
004AD152 |. E8 DD080000 call ACDSee.004ADA34
004AD157 |. 8B45 EC mov eax,dword ptr ss:[ebp-14]
004AD15A |. 8B08 mov ecx,dword ptr ds:[eax]
004AD15C |. 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
004AD15E |. 894D 98 mov dword ptr ss:[ebp-68],ecx
004AD161 |. 50 push eax
004AD162 |. 51 push ecx
004AD163 |. E8 B3390000 call ACDSee.004B0B1B
004AD168 |. 59 pop ecx ; kernel32.7C816FD7
004AD169 |. 59 pop ecx ; kernel32.7C816FD7
004AD16A \. C3 retn
55 8B EC 6A FF 68 28 01 4E 00 68 9C 0C 4B 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 58
53 56 57 89 65 E8 FF 15 A8 74 4D 00 33 D2 8A D4 89 15 F4 58 4F 00 8B C8 81 E1 FF 00 00 00 89 0D
F0 58 4F 00 C1 E1 08 03 CA 89 0D EC 58 4F 00 C1 E8 10 A3 E8 58 4F 00 6A 01 E8 C1 2D 00 00 59 85
C0 75 08 6A 1C E8 C3 00 00 00 59 E8 4E 23 00 00 85 C0 75 08 6A 10 E8 B2 00 00 00 59 33 F6 89 75
FC E8 42 51 00 00 FF 15 7C 72 4D 00 A3 58 70 4F 00 E8 00 50 00 00 A3 D8 58 4F 00 E8 A9 4D 00 00
E8 EB 4C 00 00 E8 EF 08 00 00 89 75 D0 8D 45 A4 50 FF 15 74 72 4D 00 E8 7C 4C 00 00 89 45 9C F6
45 D0 01 74 06 0F B7 45 D4 EB 03 6A 0A 58 50 FF 75 9C 56 56 FF 15 90 74 4D 00 50 E8 F9 E5 00 00
89 45 A0 50 E8 DD 08 00 00 8B 45 EC 8B 08 8B 09 89 4D 98 50 51 E8 B3 39 00 00 59 59 C3
**********************************************************************
Microsoft Visual C++ 7.0 [Debug]
.text
.rdata
.data
.rsrc
004079A3 eMul> $ 6A 60 push 60
004079A5 . 68 B0244200 push eMuleUpd.004224B0
004079AA . E8 F5E1FFFF call eMuleUpd.00405BA4
004079AF . BF 94000000 mov edi,94
004079B4 . 8BC7 mov eax,edi ; ntdll.7C930738
004079B6 . E8 65FCFFFF call eMuleUpd.00407620
004079BB . 8965 E8 mov dword ptr ss:[ebp-18],esp
004079BE . 8BF4 mov esi,esp
004079C0 . 893E mov dword ptr ds:[esi],edi ; ntdll.7C930738
004079C2 . 56 push esi ; /pVersionInformation = FFFFFFFF
004079C3 . FF15 70024200 call near dword ptr ds:[<&KERNEL32.GetVersionExA>] ; \GetVersionExA
004079C9 . 8B4E 10 mov ecx,dword ptr ds:[esi+10]
004079CC . 890D 28BB4200 mov dword ptr ds:[42BB28],ecx
004079D2 . 8B46 04 mov eax,dword ptr ds:[esi+4]
004079D5 . A3 34BB4200 mov dword ptr ds:[42BB34],eax
004079DA . 8B56 08 mov edx,dword ptr ds:[esi+8]
004079DD . 8915 38BB4200 mov dword ptr ds:[42BB38],edx ; ntdll.KiFastSystemCallRet
004079E3 . 8B76 0C mov esi,dword ptr ds:[esi+C]
004079E6 . 81E6 FF7F0000 and esi,7FFF
004079EC . 8935 2CBB4200 mov dword ptr ds:[42BB2C],esi
004079F2 . 83F9 02 cmp ecx,2
004079F5 . 74 0C je short eMuleUpd.00407A03
004079F7 . 81CE 00800000 or esi,8000
004079FD . 8935 2CBB4200 mov dword ptr ds:[42BB2C],esi
00407A03 > C1E0 08 shl eax,8
00407A06 . 03C2 add eax,edx ; ntdll.KiFastSystemCallRet
00407A08 . A3 30BB4200 mov dword ptr ds:[42BB30],eax
00407A0D . 33F6 xor esi,esi
00407A0F . 56 push esi ; /pModule = FFFFFFFF ???
00407A10 . 8B3D 88014200 mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; |kernel32.GetModuleHandleA
00407A16 . FFD7 call near edi ; \GetModuleHandleA
00407A18 . 66:8138 4D5A cmp word ptr ds:[eax],5A4D
00407A1D . 75 1F jnz short eMuleUpd.00407A3E
00407A1F . 8B48 3C mov ecx,dword ptr ds:[eax+3C]
00407A22 . 03C8 add ecx,eax
00407A24 . 8139 50450000 cmp dword ptr ds:[ecx],4550
00407A2A . 75 12 jnz short eMuleUpd.00407A3E
00407A2C . 0FB741 18 movzx eax,word ptr ds:[ecx+18]
00407A30 . 3D 0B010000 cmp eax,10B
00407A35 . 74 1F je short eMuleUpd.00407A56
00407A37 . 3D 0B020000 cmp eax,20B
00407A3C . 74 05 je short eMuleUpd.00407A43
00407A3E > 8975 E4 mov dword ptr ss:[ebp-1C],esi
00407A41 . EB 27 jmp short eMuleUpd.00407A6A
00407A43 > 83B9 84000000 0E cmp dword ptr ds:[ecx+84],0E
00407A4A .^ 76 F2 jbe short eMuleUpd.00407A3E
00407A4C . 33C0 xor eax,eax
00407A4E . 39B1 F8000000 cmp dword ptr ds:[ecx+F8],esi
00407A54 . EB 0E jmp short eMuleUpd.00407A64
00407A56 > 8379 74 0E cmp dword ptr ds:[ecx+74],0E
00407A5A .^ 76 E2 jbe short eMuleUpd.00407A3E
00407A5C . 33C0 xor eax,eax
00407A5E . 39B1 E8000000 cmp dword ptr ds:[ecx+E8],esi
00407A64 > 0F95C0 setne al
00407A67 . 8945 E4 mov dword ptr ss:[ebp-1C],eax
00407A6A > 6A 01 push 1
00407A6C . E8 A3550000 call eMuleUpd.0040D014
00407A71 . 59 pop ecx ; kernel32.7C816FD7
00407A72 . 85C0 test eax,eax
00407A74 . 75 08 jnz short eMuleUpd.00407A7E
00407A76 . 6A 1C push 1C
00407A78 . E8 02FFFFFF call eMuleUpd.0040797F
00407A7D . 59 pop ecx ; kernel32.7C816FD7
00407A7E > E8 572A0000 call eMuleUpd.0040A4DA
00407A83 . 85C0 test eax,eax
00407A85 . 75 08 jnz short eMuleUpd.00407A8F
00407A87 . 6A 10 push 10
00407A89 . E8 F1FEFFFF call eMuleUpd.0040797F
00407A8E . 59 pop ecx ; kernel32.7C816FD7
00407A8F > E8 756A0000 call eMuleUpd.0040E509
00407A94 . 8975 FC mov dword ptr ss:[ebp-4],esi
00407A97 . E8 6F680000 call eMuleUpd.0040E30B
00407A9C . 85C0 test eax,eax
00407A9E . 7D 08 jge short eMuleUpd.00407AA8
00407AA0 . 6A 1B push 1B
00407AA2 . E8 B3FEFFFF call eMuleUpd.0040795A
00407AA7 . 59 pop ecx ; kernel32.7C816FD7
00407AA8 > FF15 0C024200 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
00407AAE . A3 10D44200 mov dword ptr ds:[42D410],eax
00407AB3 . E8 31670000 call eMuleUpd.0040E1E9
00407AB8 . A3 14BB4200 mov dword ptr ds:[42BB14],eax
00407ABD . E8 85660000 call eMuleUpd.0040E147
00407AC2 . 85C0 test eax,eax
00407AC4 . 7D 08 jge short eMuleUpd.00407ACE
00407AC6 . 6A 08 push 8
00407AC8 . E8 8DFEFFFF call eMuleUpd.0040795A
00407ACD . 59 pop ecx ; kernel32.7C816FD7
00407ACE > E8 41640000 call eMuleUpd.0040DF14
00407AD3 . 85C0 test eax,eax
00407AD5 . 7D 08 jge short eMuleUpd.00407ADF
00407AD7 . 6A 09 push 9
00407AD9 . E8 7CFEFFFF call eMuleUpd.0040795A
00407ADE . 59 pop ecx ; kernel32.7C816FD7
00407ADF > 6A 01 push 1
00407AE1 . E8 72030000 call eMuleUpd.00407E58
00407AE6 . 59 pop ecx ; kernel32.7C816FD7
00407AE7 . 8945 D8 mov dword ptr ss:[ebp-28],eax
00407AEA . 3BC6 cmp eax,esi
00407AEC . 74 07 je short eMuleUpd.00407AF5
00407AEE . 50 push eax
00407AEF . E8 66FEFFFF call eMuleUpd.0040795A
00407AF4 . 59 pop ecx ; kernel32.7C816FD7
00407AF5 > 8975 BC mov dword ptr ss:[ebp-44],esi
00407AF8 . 8D45 90 lea eax,dword ptr ss:[ebp-70]
00407AFB . 50 push eax ; /pStartupinfo = NULL
00407AFC . FF15 B4004200 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
00407B02 . E8 B0630000 call eMuleUpd.0040DEB7
00407B07 . 8945 E0 mov dword ptr ss:[ebp-20],eax
00407B0A . F645 BC 01 test byte ptr ss:[ebp-44],1
00407B0E . 74 06 je short eMuleUpd.00407B16
00407B10 . 0FB745 C0 movzx eax,word ptr ss:[ebp-40]
00407B14 . EB 03 jmp short eMuleUpd.00407B19
00407B16 > 6A 0A push 0A
00407B18 . 58 pop eax ; kernel32.7C816FD7
00407B19 > 50 push eax
00407B1A . FF75 E0 push dword ptr ss:[ebp-20]
00407B1D . 56 push esi
00407B1E . 56 push esi
00407B1F . FFD7 call near edi ; ntdll.7C930738
00407B21 . 50 push eax
00407B22 . E8 33B50000 call eMuleUpd.0041305A
00407B27 . 8BF8 mov edi,eax
00407B29 . 897D D4 mov dword ptr ss:[ebp-2C],edi ; ntdll.7C930738
00407B2C . 3975 E4 cmp dword ptr ss:[ebp-1C],esi
00407B2F . 75 06 jnz short eMuleUpd.00407B37
00407B31 . 57 push edi ; ntdll.7C930738
00407B32 . E8 4E040000 call eMuleUpd.00407F85
00407B37 > E8 6B040000 call eMuleUpd.00407FA7
00407B3C . EB 2B jmp short eMuleUpd.00407B69
00407B3E . 8B45 EC mov eax,dword ptr ss:[ebp-14]
00407B41 . 8B08 mov ecx,dword ptr ds:[eax]
00407B43 . 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
00407B45 . 894D DC mov dword ptr ss:[ebp-24],ecx
00407B48 . 50 push eax
00407B49 . 51 push ecx
00407B4A . E8 04620000 call eMuleUpd.0040DD53
00407B4F . 59 pop ecx ; kernel32.7C816FD7
00407B50 . 59 pop ecx ; kernel32.7C816FD7
00407B51 . C3 retn
6A 60 68 B0 24 42 00 E8 F5 E1 FF FF BF 94 00 00 00 8B C7 E8 65 FC FF FF 89 65 E8 8B F4 89 3E 56
FF 15 70 02 42 00 8B 4E 10 89 0D 28 BB 42 00 8B 46 04 A3 34 BB 42 00 8B 56 08 89 15 38 BB 42 00
8B 76 0C 81 E6 FF 7F 00 00 89 35 2C BB 42 00 83 F9 02 74 0C 81 CE 00 80 00 00 89 35 2C BB 42 00
C1 E0 08 03 C2 A3 30 BB 42 00 33 F6 56 8B 3D 88 01 42 00 FF D7 66 81 38 4D 5A 75 1F 8B 48 3C 03
C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 75 E4 EB 27
83 B9 84 00 00 00 0E 76 F2 33 C0 39 B1 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 B1 E8 00 00
00 0F 95 C0 89 45 E4 6A 01 E8 A3 55 00 00 59 85 C0 75 08 6A 1C E8 02 FF FF FF 59 E8 57 2A 00 00
85 C0 75 08 6A 10 E8 F1 FE FF FF 59 E8 75 6A 00 00 89 75 FC E8 6F 68 00 00 85 C0 7D 08 6A 1B E8
B3 FE FF FF 59 FF 15 0C 02 42 00 A3 10 D4 42 00 E8 31 67 00 00 A3 14 BB 42 00 E8 85 66 00 00 85
C0 7D 08 6A 08 E8 8D FE FF FF 59 E8 41 64 00 00 85 C0 7D 08 6A 09 E8 7C FE FF FF 59 6A 01 E8 72
03 00 00 59 89 45 D8 3B C6 74 07 50 E8 66 FE FF FF 59 89 75 BC 8D 45 90 50 FF 15 B4 00 42 00 E8
B0 63 00 00 89 45 E0 F6 45 BC 01 74 06 0F B7 45 C0 EB 03 6A 0A 58 50 FF 75 E0 56 56 FF D7 50 E8
33 B5 00 00 8B F8 89 7D D4 39 75 E4 75 06 57 E8 4E 04 00 00 E8 6B 04 00 00 EB 2B 8B 45 EC 8B 08
8B 09 89 4D DC 50 51 E8 04 62 00 00 59 59 C3
**********************************************************************
Microsoft Visual C++ 7.0 Method2 [Debug]
.text
.data
.rsrc
0100739D note> 6A 70 push 70
0100739F 68 98180001 push notepad.01001898
010073A4 E8 BF010000 call notepad.01007568
010073A9 33DB xor ebx,ebx
010073AB 53 push ebx
010073AC 8B3D CC100001 mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; kernel32.GetModuleHandleA
010073B2 FFD7 call near edi ; ntdll.7C930738
010073B4 66:8138 4D5A cmp word ptr ds:[eax],5A4D
010073B9 75 1F jnz short notepad.010073DA
010073BB 8B48 3C mov ecx,dword ptr ds:[eax+3C]
010073BE 03C8 add ecx,eax
010073C0 8139 50450000 cmp dword ptr ds:[ecx],4550
010073C6 75 12 jnz short notepad.010073DA
010073C8 0FB741 18 movzx eax,word ptr ds:[ecx+18]
010073CC 3D 0B010000 cmp eax,10B
010073D1 74 1F je short notepad.010073F2
010073D3 3D 0B020000 cmp eax,20B
010073D8 74 05 je short notepad.010073DF
010073DA 895D E4 mov dword ptr ss:[ebp-1C],ebx
010073DD EB 27 jmp short notepad.01007406
010073DF 83B9 84000000 0E cmp dword ptr ds:[ecx+84],0E
010073E6 ^ 76 F2 jbe short notepad.010073DA
010073E8 33C0 xor eax,eax
010073EA 3999 F8000000 cmp dword ptr ds:[ecx+F8],ebx
010073F0 EB 0E jmp short notepad.01007400
010073F2 8379 74 0E cmp dword ptr ds:[ecx+74],0E
010073F6 ^ 76 E2 jbe short notepad.010073DA
010073F8 33C0 xor eax,eax
010073FA 3999 E8000000 cmp dword ptr ds:[ecx+E8],ebx
01007400 0F95C0 setne al
01007403 8945 E4 mov dword ptr ss:[ebp-1C],eax
01007406 895D FC mov dword ptr ss:[ebp-4],ebx
01007409 6A 02 push 2
0100740B FF15 38130001 call near dword ptr ds:[<&msvcrt.__set_app_type>] ; msvcrt.__set_app_type
01007411 59 pop ecx ; kernel32.7C816FD7
01007412 830D 9CAB0001 FF or dword ptr ds:[100AB9C],FFFFFFFF
01007419 830D A0AB0001 FF or dword ptr ds:[100ABA0],FFFFFFFF
01007420 FF15 34130001 call near dword ptr ds:[<&msvcrt.__p__fmode>] ; msvcrt.__p__fmode
01007426 8B0D B89A0001 mov ecx,dword ptr ds:[1009AB8]
0100742C 8908 mov dword ptr ds:[eax],ecx
0100742E FF15 30130001 call near dword ptr ds:[<&msvcrt.__p__commode>] ; msvcrt.__p__commode
01007434 8B0D B49A0001 mov ecx,dword ptr ds:[1009AB4]
0100743A 8908 mov dword ptr ds:[eax],ecx
0100743C A1 2C130001 mov eax,dword ptr ds:[<&msvcrt._adjust_fdiv>]
01007441 8B00 mov eax,dword ptr ds:[eax]
01007443 A3 A4AB0001 mov dword ptr ds:[100ABA4],eax
01007448 E8 A7010000 call notepad.010075F4
0100744D 391D 08960001 cmp dword ptr ds:[1009608],ebx
01007453 75 0C jnz short notepad.01007461
01007455 68 F4750001 push notepad.010075F4 ; Entry address
0100745A FF15 28130001 call near dword ptr ds:[<&msvcrt.__setusermatherr>] ; msvcrt.__setusermatherr
01007460 59 pop ecx ; kernel32.7C816FD7
01007461 E8 77010000 call notepad.010075DD
01007466 68 10900001 push notepad.01009010
0100746B 68 0C900001 push notepad.0100900C
01007470 E8 5D010000 call <jmp.&msvcrt._initterm>
01007475 A1 B09A0001 mov eax,dword ptr ds:[1009AB0]
0100747A 8945 DC mov dword ptr ss:[ebp-24],eax
0100747D 8D45 DC lea eax,dword ptr ss:[ebp-24]
01007480 50 push eax
01007481 FF35 AC9A0001 push dword ptr ds:[1009AAC]
01007487 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
0100748A 50 push eax
0100748B 8D45 D0 lea eax,dword ptr ss:[ebp-30]
0100748E 50 push eax
0100748F 8D45 CC lea eax,dword ptr ss:[ebp-34]
01007492 50 push eax
01007493 FF15 20130001 call near dword ptr ds:[<&msvcrt.__getmainargs>] ; msvcrt.__getmainargs
01007499 8945 C8 mov dword ptr ss:[ebp-38],eax
0100749C 68 08900001 push notepad.01009008
010074A1 68 00900001 push notepad.01009000
010074A6 E8 27010000 call <jmp.&msvcrt._initterm>
010074AB 83C4 24 add esp,24
010074AE A1 1C130001 mov eax,dword ptr ds:[<&msvcrt._acmdln>]
010074B3 8B30 mov esi,dword ptr ds:[eax]
010074B5 8975 E0 mov dword ptr ss:[ebp-20],esi
010074B8 803E 22 cmp byte ptr ds:[esi],22
010074BB 75 3A jnz short notepad.010074F7
010074BD 46 inc esi
010074BE 8975 E0 mov dword ptr ss:[ebp-20],esi
010074C1 8A06 mov al,byte ptr ds:[esi]
010074C3 3AC3 cmp al,bl
010074C5 74 04 je short notepad.010074CB
010074C7 3C 22 cmp al,22
010074C9 ^ 75 F2 jnz short notepad.010074BD
010074CB 803E 22 cmp byte ptr ds:[esi],22
010074CE 75 04 jnz short notepad.010074D4
010074D0 46 inc esi
010074D1 8975 E0 mov dword ptr ss:[ebp-20],esi
010074D4 8A06 mov al,byte ptr ds:[esi]
010074D6 3AC3 cmp al,bl
010074D8 74 04 je short notepad.010074DE
010074DA 3C 20 cmp al,20
010074DC ^ 76 F2 jbe short notepad.010074D0
010074DE 895D AC mov dword ptr ss:[ebp-54],ebx
010074E1 8D45 80 lea eax,dword ptr ss:[ebp-80]
010074E4 50 push eax
010074E5 FF15 D0100001 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; kernel32.GetStartupInfoA
010074EB F645 AC 01 test byte ptr ss:[ebp-54],1
010074EF 74 11 je short notepad.01007502
010074F1 0FB745 B0 movzx eax,word ptr ss:[ebp-50]
010074F5 EB 0E jmp short notepad.01007505
010074F7 803E 20 cmp byte ptr ds:[esi],20
010074FA ^ 76 D8 jbe short notepad.010074D4
010074FC 46 inc esi
010074FD 8975 E0 mov dword ptr ss:[ebp-20],esi
01007500 ^ EB F5 jmp short notepad.010074F7
01007502 6A 0A push 0A
01007504 58 pop eax ; kernel32.7C816FD7
01007505 50 push eax
01007506 56 push esi
01007507 53 push ebx
01007508 53 push ebx
01007509 FFD7 call near edi ; ntdll.7C930738
0100750B 50 push eax
0100750C E8 25B4FFFF call notepad.01002936
01007511 8BF0 mov esi,eax
01007513 8975 C4 mov dword ptr ss:[ebp-3C],esi
01007516 395D E4 cmp dword ptr ss:[ebp-1C],ebx
01007519 75 07 jnz short notepad.01007522
0100751B 56 push esi
0100751C FF15 18130001 call near dword ptr ds:[<&msvcrt.exit>] ; msvcrt.exit
01007522 FF15 00130001 call near dword ptr ds:[<&msvcrt._cexit>] ; msvcrt._cexit
01007528 EB 2D jmp short notepad.01007557
0100752A 8B45 EC mov eax,dword ptr ss:[ebp-14]
0100752D 8B08 mov ecx,dword ptr ds:[eax]
0100752F 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
01007531 894D D8 mov dword ptr ss:[ebp-28],ecx
01007534 50 push eax
01007535 51 push ecx
01007536 E8 8B000000 call <jmp.&msvcrt._XcptFilter>
0100753B 59 pop ecx ; kernel32.7C816FD7
0100753C 59 pop ecx ; kernel32.7C816FD7
0100753D C3 retn
6A 70 68 98 18 00 01 E8 BF 01 00 00 33 DB 53 8B 3D CC 10 00 01 FF D7 66 81 38 4D 5A 75 1F 8B 48
3C 03 C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 5D E4
EB 27 83 B9 84 00 00 00 0E 76 F2 33 C0 39 99 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 99 E8
00 00 00 0F 95 C0 89 45 E4 89 5D FC 6A 02 FF 15 38 13 00 01 59 83 0D 9C AB 00 01 FF 83 0D A0 AB
00 01 FF FF 15 34 13 00 01 8B 0D B8 9A 00 01 89 08 FF 15 30 13 00 01 8B 0D B4 9A 00 01 89 08 A1
2C 13 00 01 8B 00 A3 A4 AB 00 01 E8 A7 01 00 00 39 1D 08 96 00 01 75 0C 68 F4 75 00 01 FF 15 28
13 00 01 59 E8 77 01 00 00 68 10 90 00 01 68 0C 90 00 01 E8 5D 01 00 00 A1 B0 9A 00 01 89 45 DC
8D 45 DC 50 FF 35 AC 9A 00 01 8D 45 D4 50 8D 45 D0 50 8D 45 CC 50 FF 15 20 13 00 01 89 45 C8 68
08 90 00 01 68 00 90 00 01 E8 27 01 00 00 83 C4 24 A1 1C 13 00 01 8B 30 89 75 E0 80 3E 22 75 3A
46 89 75 E0 8A 06 3A C3 74 04 3C 22 75 F2 80 3E 22 75 04 46 89 75 E0 8A 06 3A C3 74 04 3C 20 76
F2 89 5D AC 8D 45 80 50 FF 15 D0 10 00 01 F6 45 AC 01 74 11 0F B7 45 B0 EB 0E 80 3E 20 76 D8 46
89 75 E0 EB F5 6A 0A 58 50 56 53 53 FF D7 50 E8 25 B4 FF FF 8B F0 89 75 C4 39 5D E4 75 07 56 FF
15 18 13 00 01 FF 15 00 13 00 01 EB 2D 8B 45 EC 8B 08 8B 09 89 4D D8 50 51 E8 8B 00 00 00 59 59
C3
**********************************************************************
Microsoft Visual C++ 7.0
.text
.rdata
.data
.rsrc
004A5D0A BitB> $ 6A 60 push 60
004A5D0C . 68 D07A4C00 push BitBuddy.004C7AD0
004A5D11 . E8 7A060000 call BitBuddy.004A6390
004A5D16 . BF 94000000 mov edi,94
004A5D1B . 8BC7 mov eax,edi ; ntdll.7C930738
004A5D1D . E8 CEE6FFFF call BitBuddy.004A43F0
004A5D22 . 8965 E8 mov dword ptr ss:[ebp-18],esp
004A5D25 . 8BF4 mov esi,esp
004A5D27 . 893E mov dword ptr ds:[esi],edi ; ntdll.7C930738
004A5D29 . 56 push esi ; /pVersionInformation = FFFFFFFF
004A5D2A . FF15 8CF24B00 call near dword ptr ds:[<&KERNEL32.GetVersionExA>] ; \GetVersionExA
004A5D30 . 8B4E 10 mov ecx,dword ptr ds:[esi+10]
004A5D33 . 890D 78614E00 mov dword ptr ds:[4E6178],ecx
004A5D39 . 8B46 04 mov eax,dword ptr ds:[esi+4]
004A5D3C . A3 84614E00 mov dword ptr ds:[4E6184],eax
004A5D41 . 8B56 08 mov edx,dword ptr ds:[esi+8]
004A5D44 . 8915 88614E00 mov dword ptr ds:[4E6188],edx ; ntdll.KiFastSystemCallRet
004A5D4A . 8B76 0C mov esi,dword ptr ds:[esi+C]
004A5D4D . 81E6 FF7F0000 and esi,7FFF
004A5D53 . 8935 7C614E00 mov dword ptr ds:[4E617C],esi
004A5D59 . 83F9 02 cmp ecx,2
004A5D5C . 74 0C je short BitBuddy.004A5D6A
004A5D5E . 81CE 00800000 or esi,8000
004A5D64 . 8935 7C614E00 mov dword ptr ds:[4E617C],esi
004A5D6A > C1E0 08 shl eax,8
004A5D6D . 03C2 add eax,edx ; ntdll.KiFastSystemCallRet
004A5D6F . A3 80614E00 mov dword ptr ds:[4E6180],eax
004A5D74 . 33F6 xor esi,esi
004A5D76 . 56 push esi ; /pModule = FFFFFFFF ???
004A5D77 . 8B3D 08F24B00 mov edi,dword ptr ds:[<&KERNEL32.GetModuleHandleA>] ; |kernel32.GetModuleHandleA
004A5D7D . FFD7 call near edi ; \GetModuleHandleA
004A5D7F . 66:8138 4D5A cmp word ptr ds:[eax],5A4D
004A5D84 . 75 1F jnz short BitBuddy.004A5DA5
004A5D86 . 8B48 3C mov ecx,dword ptr ds:[eax+3C]
004A5D89 . 03C8 add ecx,eax
004A5D8B . 8139 50450000 cmp dword ptr ds:[ecx],4550
004A5D91 . 75 12 jnz short BitBuddy.004A5DA5
004A5D93 . 0FB741 18 movzx eax,word ptr ds:[ecx+18]
004A5D97 . 3D 0B010000 cmp eax,10B
004A5D9C . 74 1F je short BitBuddy.004A5DBD
004A5D9E . 3D 0B020000 cmp eax,20B
004A5DA3 . 74 05 je short BitBuddy.004A5DAA
004A5DA5 > 8975 E4 mov dword ptr ss:[ebp-1C],esi
004A5DA8 . EB 27 jmp short BitBuddy.004A5DD1
004A5DAA > 83B9 84000000 0E cmp dword ptr ds:[ecx+84],0E
004A5DB1 .^ 76 F2 jbe short BitBuddy.004A5DA5
004A5DB3 . 33C0 xor eax,eax
004A5DB5 . 39B1 F8000000 cmp dword ptr ds:[ecx+F8],esi
004A5DBB . EB 0E jmp short BitBuddy.004A5DCB
004A5DBD > 8379 74 0E cmp dword ptr ds:[ecx+74],0E
004A5DC1 .^ 76 E2 jbe short BitBuddy.004A5DA5
004A5DC3 . 33C0 xor eax,eax
004A5DC5 . 39B1 E8000000 cmp dword ptr ds:[ecx+E8],esi
004A5DCB > 0F95C0 setne al
004A5DCE . 8945 E4 mov dword ptr ss:[ebp-1C],eax
004A5DD1 > 6A 01 push 1
004A5DD3 . E8 6C340000 call BitBuddy.004A9244
004A5DD8 . 59 pop ecx ; kernel32.7C816FD7
004A5DD9 . 85C0 test eax,eax
004A5DDB . 75 08 jnz short BitBuddy.004A5DE5
004A5DDD . 6A 1C push 1C
004A5DDF . E8 02FFFFFF call BitBuddy.004A5CE6
004A5DE4 . 59 pop ecx ; kernel32.7C816FD7
004A5DE5 > E8 EE300000 call BitBuddy.004A8ED8
004A5DEA . 85C0 test eax,eax
004A5DEC . 75 08 jnz short BitBuddy.004A5DF6
004A5DEE . 6A 10 push 10
004A5DF0 . E8 F1FEFFFF call BitBuddy.004A5CE6
004A5DF5 . 59 pop ecx ; kernel32.7C816FD7
004A5DF6 > E8 EA6F0000 call BitBuddy.004ACDE5
004A5DFB . 8975 FC mov dword ptr ss:[ebp-4],esi
004A5DFE . E8 BC630000 call BitBuddy.004AC1BF
004A5E03 . 85C0 test eax,eax
004A5E05 . 7D 08 jge short BitBuddy.004A5E0F
004A5E07 . 6A 1B push 1B
004A5E09 . E8 B3FEFFFF call BitBuddy.004A5CC1
004A5E0E . 59 pop ecx ; kernel32.7C816FD7
004A5E0F > FF15 54F14B00 call near dword ptr ds:[<&KERNEL32.GetCommandLineA>] ; [GetCommandLineA
004A5E15 . A3 F4784E00 mov dword ptr ds:[4E78F4],eax
004A5E1A . E8 A46E0000 call BitBuddy.004ACCC3
004A5E1F . A3 D85F4E00 mov dword ptr ds:[4E5FD8],eax
004A5E24 . E8 F86D0000 call BitBuddy.004ACC21
004A5E29 . 85C0 test eax,eax
004A5E2B . 7D 08 jge short BitBuddy.004A5E35
004A5E2D . 6A 08 push 8
004A5E2F . E8 8DFEFFFF call BitBuddy.004A5CC1
004A5E34 . 59 pop ecx ; kernel32.7C816FD7
004A5E35 > E8 B46B0000 call BitBuddy.004AC9EE
004A5E3A . 85C0 test eax,eax
004A5E3C . 7D 08 jge short BitBuddy.004A5E46
004A5E3E . 6A 09 push 9
004A5E40 . E8 7CFEFFFF call BitBuddy.004A5CC1
004A5E45 . 59 pop ecx ; kernel32.7C816FD7
004A5E46 > 6A 01 push 1
004A5E48 . E8 42290000 call BitBuddy.004A878F
004A5E4D . 59 pop ecx ; kernel32.7C816FD7
004A5E4E . 8945 D8 mov dword ptr ss:[ebp-28],eax
004A5E51 . 3BC6 cmp eax,esi
004A5E53 . 74 07 je short BitBuddy.004A5E5C
004A5E55 . 50 push eax
004A5E56 . E8 66FEFFFF call BitBuddy.004A5CC1
004A5E5B . 59 pop ecx ; kernel32.7C816FD7
004A5E5C > 8975 BC mov dword ptr ss:[ebp-44],esi
004A5E5F . 8D45 90 lea eax,dword ptr ss:[ebp-70]
004A5E62 . 50 push eax ; /pStartupinfo = NULL
004A5E63 . FF15 58F14B00 call near dword ptr ds:[<&KERNEL32.GetStartupInfoA>] ; \GetStartupInfoA
004A5E69 . E8 236B0000 call BitBuddy.004AC991
004A5E6E . 8945 E0 mov dword ptr ss:[ebp-20],eax
004A5E71 . F645 BC 01 test byte ptr ss:[ebp-44],1
004A5E75 . 74 06 je short BitBuddy.004A5E7D
004A5E77 . 0FB745 C0 movzx eax,word ptr ss:[ebp-40]
004A5E7B . EB 03 jmp short BitBuddy.004A5E80
004A5E7D > 6A 0A push 0A
004A5E7F . 58 pop eax ; kernel32.7C816FD7
004A5E80 > 50 push eax
004A5E81 . FF75 E0 push dword ptr ss:[ebp-20]
004A5E84 . 56 push esi
004A5E85 . 56 push esi
004A5E86 . FFD7 call near edi ; ntdll.7C930738
004A5E88 . 50 push eax ; |Arg1 = 00000000
004A5E89 . E8 620BF8FF call BitBuddy.004269F0 ; \BitBuddy.004269F0
004A5E8E . 8BF8 mov edi,eax
004A5E90 . 897D D4 mov dword ptr ss:[ebp-2C],edi ; ntdll.7C930738
004A5E93 . 3975 E4 cmp dword ptr ss:[ebp-1C],esi
004A5E96 . 75 06 jnz short BitBuddy.004A5E9E
004A5E98 . 57 push edi ; ntdll.7C930738
004A5E99 . E8 1E2A0000 call BitBuddy.004A88BC
004A5E9E > E8 3B2A0000 call BitBuddy.004A88DE
004A5EA3 . EB 2B jmp short BitBuddy.004A5ED0
004A5EA5 . 8B45 EC mov eax,dword ptr ss:[ebp-14]
004A5EA8 . 8B08 mov ecx,dword ptr ds:[eax]
004A5EAA . 8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E64E
004A5EAC . 894D DC mov dword ptr ss:[ebp-24],ecx
004A5EAF . 50 push eax
004A5EB0 . 51 push ecx
004A5EB1 . E8 77690000 call BitBuddy.004AC82D
004A5EB6 . 59 pop ecx ; kernel32.7C816FD7
004A5EB7 . 59 pop ecx ; kernel32.7C816FD7
004A5EB8 . C3 retn
6A 60 68 D0 7A 4C 00 E8 7A 06 00 00 BF 94 00 00 00 8B C7 E8 CE E6 FF FF 89 65 E8 8B F4 89 3E 56
FF 15 8C F2 4B 00 8B 4E 10 89 0D 78 61 4E 00 8B 46 04 A3 84 61 4E 00 8B 56 08 89 15 88 61 4E 00
8B 76 0C 81 E6 FF 7F 00 00 89 35 7C 61 4E 00 83 F9 02 74 0C 81 CE 00 80 00 00 89 35 7C 61 4E 00
C1 E0 08 03 C2 A3 80 61 4E 00 33 F6 56 8B 3D 08 F2 4B 00 FF D7 66 81 38 4D 5A 75 1F 8B 48 3C 03
C8 81 39 50 45 00 00 75 12 0F B7 41 18 3D 0B 01 00 00 74 1F 3D 0B 02 00 00 74 05 89 75 E4 EB 27
83 B9 84 00 00 00 0E 76 F2 33 C0 39 B1 F8 00 00 00 EB 0E 83 79 74 0E 76 E2 33 C0 39 B1 E8 00 00
00 0F 95 C0 89 45 E4 6A 01 E8 6C 34 00 00 59 85 C0 75 08 6A 1C E8 02 FF FF FF 59 E8 EE 30 00 00
85 C0 75 08 6A 10 E8 F1 FE FF FF 59 E8 EA 6F 00 00 89 75 FC E8 BC 63 00 00 85 C0 7D 08 6A 1B E8
B3 FE FF FF 59 FF 15 54 F1 4B 00 A3 F4 78 4E 00 E8 A4 6E 00 00 A3 D8 5F 4E 00 E8 F8 6D 00 00 85
C0 7D 08 6A 08 E8 8D FE FF FF 59 E8 B4 6B 00 00 85 C0 7D 08 6A 09 E8 7C FE FF FF 59 6A 01 E8 42
29 00 00 59 89 45 D8 3B C6 74 07 50 E8 66 FE FF FF 59 89 75 BC 8D 45 90 50 FF 15 58 F1 4B 00 E8
23 6B 00 00 89 45 E0 F6 45 BC 01 74 06 0F B7 45 C0 EB 03 6A 0A 58 50 FF 75 E0 56 56 FF D7 50 E8
62 0B F8 FF 8B F8 89 7D D4 39 75 E4 75 06 57 E8 1E 2A 00 00 E8 3B 2A 00 00 EB 2B 8B 45 EC 8B 08
8B 09 89 4D DC 50 51 E8 77 69 00 00 59 59 C3
**********************************************************************
VC8 -> Microsoft Corporation *
.text
.rdata
.data
.rsrc
00495FCE > /6A 60 push 60
00495FD0 . |68 387B4C00 push foobar20.004C7B38
00495FD5 . |E8 A60C0000 call foobar20.00496C80
00495FDA . |8365 FC 00 and dword ptr ss:[ebp-4],0
00495FDE . |8D45 90 lea eax,dword ptr ss:[ebp-70]
00495FE1 . |50 push eax ; /pStartupinfo = 535C08DE
00495FE2 . |FF15 14414B00 call near dword ptr ds:[<&KERNEL32.GetStartupInfoW>] ; \GetStartupInfoW
00495FE8 . |C745 FC FEFFFFFF mov dword ptr ss:[ebp-4],-2
00495FEF . |BF 94000000 mov edi,94
00495FF4 . |57 push edi ; /HeapSize = 7C930738 (2090010424.)
00495FF5 . |6A 00 push 0 ; |Flags = 0
00495FF7 . |8B1D 10414B00 mov ebx,dword ptr ds:[<&KERNEL32.GetProcessHeap>] ; |kernel32.GetProcessHeap
00495FFD . |FFD3 call near ebx ; |[GetProcessHeap
00495FFF . |50 push eax ; |hHeap = 535C08DE
00496000 . |FF15 08414B00 call near dword ptr ds:[<&KERNEL32.HeapAlloc>] ; \HeapAlloc
00496006 . |8BF0 mov esi,eax
00496008 . |85F6 test esi,esi
0049600A . |75 0D jnz short foobar20.00496019
0049600C . |6A 12 push 12
0049600E . |E8 56FFFFFF call foobar20.00495F69
00496013 . |59 pop ecx ; kernel32.7C816FD7
00496014 . |E9 89010000 jmp foobar20.004961A2
00496019 > |893E mov dword ptr ds:[esi],edi ; ntdll.7C930738
0049601B . |56 push esi ; /pVersionInformation = FFFFFFFF
0049601C . |FF15 0C414B00 call near dword ptr ds:[<&KERNEL32.GetVersionExA>] ; \GetVersionExA
00496022 . |56 push esi
00496023 . |6A 00 push 0
00496025 . |85C0 test eax,eax
00496027 . |75 0E jnz short foobar20.00496037
00496029 . |FFD3 call near ebx
0049602B . |50 push eax ; |hHeap = 535C08DE
0049602C . |FF15 C8414B00 call near dword ptr ds:[<&KERNEL32.HeapFree>] ; \HeapFree
00496032 . |E9 6B010000 jmp foobar20.004961A2
00496037 > |8B46 10 mov eax,dword ptr ds:[esi+10]
0049603A . |8945 E0 mov dword ptr ss:[ebp-20],eax
0049603D . |8B46 04 mov eax,dword ptr ds:[esi+4]
00496040 . |8945 DC mov dword ptr ss:[ebp-24],eax
00496043 . |8B46 08 mov eax,dword ptr ds:[esi+8]
00496046 . |8945 D8 mov dword ptr ss:[ebp-28],eax
00496049 . |8B7E 0C mov edi,dword ptr ds:[esi+C]
0049604C . |81E7 FF7F0000 and edi,7FFF
00496052 . |FFD3 call near ebx
00496054 . |50 push eax ; |hHeap = 535C08DE
00496055 . |FF15 C8414B00 call near dword ptr ds:[<&KERNEL32.HeapFree>] ; \HeapFree
0049605B . |8B75 E0 mov esi,dword ptr ss:[ebp-20]
0049605E . |83FE 02 cmp esi,2
00496061 . |74 06 je short foobar20.00496069
00496063 . |81CF 00800000 or edi,8000
00496069 > |8B4D DC mov ecx,dword ptr ss:[ebp-24]
0049606C . |8BC1 mov eax,ecx
0049606E . |C1E0 08 shl eax,8
00496071 . |8B55 D8 mov edx,dword ptr ss:[ebp-28] ; ntdll.7C930738
00496074 . |03C2 add eax,edx ; ntdll.KiFastSystemCallRet
00496076 . |8935 CC084E00 mov dword ptr ds:[4E08CC],esi
0049607C . |A3 D4084E00 mov dword ptr ds:[4E08D4],eax
00496081 . |890D D8084E00 mov dword ptr ds:[4E08D8],ecx
00496087 . |8915 DC084E00 mov dword ptr ds:[4E08DC],edx ; ntdll.KiFastSystemCallRet
0049608D . |893D D0084E00 mov dword ptr ds:[4E08D0],edi ; ntdll.7C930738
00496093 . |E8 F5FEFFFF call foobar20.00495F8D
00496098 . |8945 E0 mov dword ptr ss:[ebp-20],eax
0049609B . |33DB xor ebx,ebx
0049609D . |43 inc ebx
0049609E . |53 push ebx
0049609F . |E8 8C100000 call foobar20.00497130
004960A4 . |59 pop ecx ; kernel32.7C816FD7
004960A5 . |85C0 test eax,eax
004960A7 . |75 08 jnz short foobar20.004960B1
004960A9 . |6A 1C push 1C
004960AB . |E8 B9FEFFFF call foobar20.00495F69
004960B0 . |59 pop ecx ; kernel32.7C816FD7
004960B1 > |E8 C5050000 call foobar20.0049667B
004960B6 . |85C0 test eax,eax
004960B8 . |75 08 jnz short foobar20.004960C2
004960BA . |6A 10 push 10
004960BC . |E8 A8FEFFFF call foobar20.00495F69
004960C1 . |59 pop ecx ; kernel32.7C816FD7
004960C2 > |E8 80790000 call foobar20.0049DA47
004960C7 . |895D FC mov dword ptr ss:[ebp-4],ebx
004960CA . |E8 38770000 call foobar20.0049D807
004960CF . |85C0 test eax,eax
004960D1 . |7D 08 jge short foobar20.004960DB
004960D3 . |6A 1B push 1B
004960D5 . |E8 9B080000 call foobar20.00496975
004960DA . |59 pop ecx ; kernel32.7C816FD7
004960DB > |E8 88760000 call foobar20.0049D768
004960E0 . |A3 9C544E00 mov dword ptr ds:[4E549C],eax
004960E5 . |E8 1D750000 call foobar20.0049D607
004960EA . |A3 AC084E00 mov dword ptr ds:[4E08AC],eax
004960EF . |E8 68740000 call foobar20.0049D55C
004960F4 . |85C0 test eax,eax
004960F6 . |7D 08 jge short foobar20.00496100
004960F8 . |6A 08 push 8
004960FA . |E8 76080000 call foobar20.00496975
004960FF . |59 pop ecx ; kernel32.7C816FD7
00496100 > |E8 31720000 call foobar20.0049D336
00496105 . |85C0 test eax,eax
00496107 . |7D 08 jge short foobar20.00496111
00496109 . |6A 09 push 9
0049610B . |E8 65080000 call foobar20.00496975
00496110 . |59 pop ecx ; kernel32.7C816FD7
00496111 > |53 push ebx
00496112 . |E8 7A090000 call foobar20.00496A91
00496117 . |59 pop ecx ; kernel32.7C816FD7
00496118 . |85C0 test eax,eax
0049611A . |74 07 je short foobar20.00496123
0049611C . |50 push eax
0049611D . |E8 53080000 call foobar20.00496975
00496122 . |59 pop ecx ; kernel32.7C816FD7
00496123 > |E8 C8710000 call foobar20.0049D2F0
00496128 . |845D BC test byte ptr ss:[ebp-44],bl
0049612B . |74 06 je short foobar20.00496133
0049612D . |0FB74D C0 movzx ecx,word ptr ss:[ebp-40]
00496131 . |EB 03 jmp short foobar20.00496136
00496133 > |6A 0A push 0A
00496135 . |59 pop ecx ; kernel32.7C816FD7
00496136 > |51 push ecx
00496137 . |50 push eax
00496138 . |6A 00 push 0
0049613A . |68 00004000 push foobar20.00400000
0049613F . |E8 8EAAF9FF call foobar20.00430BD2
00496144 . |8945 E4 mov dword ptr ss:[ebp-1C],eax
00496147 . |837D E0 00 cmp dword ptr ss:[ebp-20],0
0049614B . |75 06 jnz short foobar20.00496153
0049614D . |50 push eax
0049614E . |E8 9E0A0000 call foobar20.00496BF1
00496153 > |E8 BB0A0000 call foobar20.00496C13
00496158 . |EB 2E jmp short foobar20.00496188
0049615A . |8B45 EC mov eax,dword ptr ss:[ebp-14]
0049615D . |8B08 mov ecx,dword ptr ds:[eax]
0049615F . |8B09 mov ecx,dword ptr ds:[ecx] ; ntdll.7C92E10E
00496161 . |894D D4 mov dword ptr ss:[ebp-2C],ecx
00496164 . |50 push eax
00496165 . |51 push ecx
00496166 . |E8 16700000 call foobar20.0049D181
0049616B . |59 pop ecx ; kernel32.7C816FD7
0049616C . |59 pop ecx ; kernel32.7C816FD7
0049616D . |C3 retn
0049616E . |8B65 E8 mov esp,dword ptr ss:[ebp-18]
00496171 . |8B45 D4 mov eax,dword ptr ss:[ebp-2C] ; kernel32.7C816FD7
00496174 . |8945 E4 mov dword ptr ss:[ebp-1C],eax
00496177 . |837D E0 00 cmp dword ptr ss:[ebp-20],0
0049617B . |75 06 jnz short foobar20.00496183
0049617D . |50 push eax
0049617E . |E8 7F0A0000 call foobar20.00496C02
00496183 > |E8 9A0A0000 call foobar20.00496C22
00496188 > |C745 FC FEFFFFFF mov dword ptr ss:[ebp-4],-2
0049618F . |8B45 E4 mov eax,dword ptr ss:[ebp-1C]
00496192 . |EB 13 jmp short foobar20.004961A7
00496194 . |33C0 xor eax,eax
00496196 . |40 inc eax
00496197 . |C3 retn
00496198 . |8B65 E8 mov esp,dword ptr ss:[ebp-18]
0049619B . |C745 FC FEFFFFFF mov dword ptr ss:[ebp-4],-2
004961A2 > |B8 FF000000 mov eax,0FF
004961A7 > |E8 190B0000 call foobar20.00496CC5
004961AC . |C3 retn
004961AD foob> $ |E8 DD780000 call foobar20.0049DA8F
004961B2 .^\E9 17FEFFFF jmp foobar20.00495FCE
004961B7 $ 3B0D B0CC4D00 cmp ecx,dword ptr ds:[4DCCB0]
004961BD . 75 02 jnz short foobar20.004961C1
004961BF . F3: prefix rep:
004961C0 . C3 retn
6A 60 68 38 7B 4C 00 E8 A6 0C 00 00 83 65 FC 00 8D 45 90 50 FF 15 14 41 4B 00 C7 45 FC FE FF FF
FF BF 94 00 00 00 57 6A 00 8B 1D 10 41 4B 00 FF D3 50 FF 15 08 41 4B 00 8B F0 85 F6 75 0D 6A 12
E8 56 FF FF FF 59 E9 89 01 00 00 89 3E 56 FF 15 0C 41 4B 00 56 6A 00 85 C0 75 0E FF D3 50 FF 15
C8 41 4B 00 E9 6B 01 00 00 8B 46 10 89 45 E0 8B 46 04 89 45 DC 8B 46 08 89 45 D8 8B 7E 0C 81 E7
FF 7F 00 00 FF D3 50 FF 15 C8 41 4B 00 8B 75 E0 83 FE 02 74 06 81 CF 00 80 00 00 8B 4D DC 8B C1
C1 E0 08 8B 55 D8 03 C2 89 35 CC 08 4E 00 A3 D4 08 4E 00 89 0D D8 08 4E 00 89 15 DC 08 4E 00 89
3D D0 08 4E 00 E8 F5 FE FF FF 89 45 E0 33 DB 43 53 E8 8C 10 00 00 59 85 C0 75 08 6A 1C E8 B9 FE
FF FF 59 E8 C5 05 00 00 85 C0 75 08 6A 10 E8 A8 FE FF FF 59 E8 80 79 00 00 89 5D FC E8 38 77 00
00 85 C0 7D 08 6A 1B E8 9B 08 00 00 59 E8 88 76 00 00 A3 9C 54 4E 00 E8 1D 75 00 00 A3 AC 08 4E
00 E8 68 74 00 00 85 C0 7D 08 6A 08 E8 76 08 00 00 59 E8 31 72 00 00 85 C0 7D 08 6A 09 E8 65 08
00 00 59 53 E8 7A 09 00 00 59 85 C0 74 07 50 E8 53 08 00 00 59 E8 C8 71 00 00 84 5D BC 74 06 0F
B7 4D C0 EB 03 6A 0A 59 51 50 6A 00 68 00 00 40 00 E8 8E AA F9 FF 89 45 E4 83 7D E0 00 75 06 50
E8 9E 0A 00 00 E8 BB 0A 00 00 EB 2E 8B 45 EC 8B 08 8B 09 89 4D D4 50 51 E8 16 70 00 00 59 59 C3
8B 65 E8 8B 45 D4 89 45 E4 83 7D E0 00 75 06 50 E8 7F 0A 00 00 E8 9A 0A 00 00 C7 45 FC FE FF FF
FF 8B 45 E4 EB 13 33 C0 40 C3 8B 65 E8 C7 45 FC FE FF FF FF B8 FF 00 00 00 E8 19 0B 00 00 C3 E8
DD 78 00 00 E9 17 FE FF FF 3B 0D B0 CC 4D 00 75 02 F3 C3
**********************************************************************
No comments:
Post a Comment